The recruitment process for a Software Engineer role at Wipro Limited in Chennai is designed to evaluate a candidate’s technical knowledge, problem-solving ability, and communication skills. As one of the leading global IT services companies, Wipro conducts a structured hiring process that typically includes an online assessment, technical interview, and HR interview.Candidates are usually tested on core subjects such as programming languages, data structures, databases (especially SQL), and object-oriented concepts, along with questions based on their academic projects and practical experience
1. What is Object-Oriented Programming (OOP)?
Ans:
Object-Oriented Programming is a programming paradigm based on objects and classes. It helps in structuring software into reusable and modular components. The main concepts include encapsulation, inheritance, polymorphism, and abstraction. It improves code maintainability and scalability. Languages like Java, Python, and C++ support OOP.
2. What is the difference between C and C++?
Ans:
C is a procedural programming language, while C++ supports both procedural and object-oriented programming. C does not support classes and objects, whereas C++ does. C++ includes features like inheritance and polymorphism. Memory management is more flexible in C++. C is mainly used for system programming, while C++ is used in application development.
3. Define data structure?
Ans:
A data structure is a way of organizing and storing data efficiently. It helps in performing operations like insertion, deletion, and searching quickly. Examples include arrays, linked lists, stacks, and queues. Choosing the right data structure improves performance. It is a fundamental concept in programming.
4. What is a linked list?
Ans:
A linked list is a linear data structure where elements are stored as nodes. Each node contains data and a reference to the next node. Unlike arrays, it does not require contiguous memory allocation. It allows efficient insertion and deletion. However, accessing elements takes more time compared to arrays.
5. . Explain stack?
Ans:
A stack is a linear data structure that follows the LIFO (Last In First Out) principle. Elements are added using push and removed using pop operations. It is used in function calls, undo operations, and expression evaluation. It can be implemented using arrays or linked lists. Stack overflow occurs when it exceeds its limit.
6. What is a queue?
Ans:
A queue is a linear data structure that follows FIFO (First In First Out). Elements are inserted at the rear and removed from the front. It is used in scheduling and buffering processes. Types include simple queue, circular queue, and priority queue. It ensures orderly processing of data.
7. Explain database?
Ans:
A database is a structured collection of data stored electronically. It allows efficient retrieval, insertion, and management of data. Databases are managed using DBMS like MySQL or Oracle. They ensure data integrity and security. SQL is used to interact with databases.
8. What is SQL?
Ans:
SQL stands for Structured Query Language. It is used to communicate with databases. It helps in performing operations like SELECT, INSERT, UPDATE, and DELETE. SQL ensures efficient data manipulation and retrieval. It is widely used in backend development.
9. What is normalization?
Ans:
Normalization is the process of organizing data in a database. It reduces redundancy and improves data integrity. It divides large tables into smaller related tables. Different normal forms include 1NF, 2NF, and 3NF. It enhances database efficiency.
10. Define primary key?
Ans:
A primary key is a unique identifier for each record in a table. It ensures that no duplicate values exist. It cannot contain NULL values. It helps in maintaining data integrity. It is essential for database relationships. It also improves efficient data retrieval and indexing.
11. What is a foreign key?
Ans:
A foreign key is used to link two tables together. It refers to the primary key of another table. It ensures referential integrity. It helps maintain relationships between tables. It prevents invalid data entry. It also supports cascading operations like update and delete.
12. How does operating system act?
Ans:
An operating system is system software that manages hardware and software resources. It acts as an interface between user and computer. Examples include Windows, Linux, and macOS. It handles memory, processes, and file systems. It ensures smooth execution of programs.
13. What is a thread?
A thread is the smallest unit of execution within a process. Multiple threads can run within a single process. Threads share memory but execute independently. They improve performance and responsiveness. Used in parallel programming. Threads are lightweight compared to processes and require less overhead.
14. What is a process?
Ans:
A process is a program in execution. It includes code, data, and system resources. Each process has its own memory space. The OS manages multiple processes simultaneously. It enables multitasking. It also maintains its own process control block for management.
15. What is deadlock?
Ans:
Deadlock occurs when two or more processes wait indefinitely for resources. Each process holds a resource and waits for another. It results in system halt. Conditions include mutual exclusion and circular wait. It can be prevented using resource allocation strategies.
16. Explain compiler?
Ans:
A compiler converts high-level code into machine code. It checks for syntax errors before execution. It improves program performance. Examples include GCC and Java compiler. It is essential for program execution. It generates an executable file after compilation.
17. . What is an interpreter?
Ans:
An interpreter executes code line by line. It does not generate machine code. It is slower than a compiler. It helps in debugging easily. Python uses an interpreter. It executes instructions directly without creating a separate executable file.
18. What is software testing?
Ans:
Software testing is the process of evaluating software for bugs. It ensures quality and reliability. Types include manual and automated testing. It improves user experience. It is an important phase in development. It helps in identifying defects before deployment.
19. Define SDLC?
Ans:
SDLC stands for Software Development Life Cycle. It defines stages of software development. Phases include planning, design, coding, testing, and deployment. It ensures systematic development. It improves project success rate. It provides a structured approach to building software efficiently.
20. What is Agile methodology?
Ans:
Agile is a flexible software development approach. It focuses on iterative development and collaboration. Work is divided into sprints. It allows quick adaptation to changes. It improves product quality and delivery speed. It encourages continuous feedback and improvement.
21. What is polymorphism?
Ans:
Polymorphism is an OOP concept that allows one function to behave differently in different situations. It can be achieved through method overloading and method overriding. It improves flexibility and reusability of code. It allows the same interface to be used for different data types. It is widely used in object-oriented programming.
22. What is inheritance?
Ans:
Inheritance is an OOP concept where one class derives properties from another class. It promotes code reuse and reduces redundancy. The parent class is called the base class, and the child is the derived class. It supports hierarchical classification. It improves maintainability of code.
23. What is encapsulation?
Ans:
Encapsulation is the process of wrapping data and methods into a single unit. It restricts direct access to data using access modifiers. It enhances data security and integrity. It allows controlled access through getters and setters. It is a key principle of OOP.
24. Explain abstraction?
Ans:
Abstraction hides implementation details and shows only functionality to the user. It reduces complexity in large systems. It can be achieved using abstract classes and interfaces. It helps developers focus on important features. It improves code readability and maintainability.
25. What is an interface?
Ans:
An interface is a blueprint of a class containing abstract methods. It is used to achieve abstraction and multiple inheritance. Classes implementing interfaces must define all methods. It ensures consistency across implementations. It is widely used in Java and similar languages.
26. How does exception handling working?
Ans:
Exception handling is used to handle runtime errors in a program. It prevents program crashes and ensures smooth execution. It uses try, catch, and finally blocks. It helps in debugging and error management. It improves software reliability.
27. What is a constructor?
Ans:
A constructor is a special method used to initialize objects. It is called automatically when an object is created. It has the same name as the class. It can be parameterized or default. It helps in setting initial values. It does not have a return type.
28. What is a destructor?
Ans:
A destructor is used to release resources when an object is destroyed. It is automatically invoked at the end of an object’s lifecycle. It helps in memory management. It prevents memory leaks. It is commonly used in C++. It has the same name as the class with a tilde (~) symbol.
29. Explain recursion?
Ans:
Recursion is a technique where a function calls itself. It is used to solve complex problems by breaking them into smaller ones. It requires a base condition to stop execution. It is commonly used in tree and graph algorithms. It simplifies code but may increase memory usage.
30. What is an array?
Ans:
An array is a collection of elements stored in contiguous memory. It allows storing multiple values of the same type. Elements are accessed using an index. It provides fast access but fixed size. It is widely used in programming. It supports efficient traversal of elements.
31. What is a pointer?
Ans:
A pointer is a variable that stores the address of another variable. It is mainly used in languages like C and C++. It helps in dynamic memory allocation. It allows efficient data manipulation. Improper use may lead to errors. It enables direct memory access.
32. How does dynamic memory allocation?
Ans:
Dynamic memory allocation allows memory to be allocated during runtime. It is done using functions like malloc and free. It provides flexibility in memory usage. It prevents wastage of memory. It is essential in large applications. It allows resizing of memory as needed.
33. What is a class?
Ans:
A class is a blueprint for creating objects. It contains data members and member functions. It defines the structure and behavior of objects. It supports OOP concepts. It is fundamental in object-oriented programming. It helps in achieving data abstraction.
34. What is an object?
Ans:
An object is an instance of a class. It represents real-world entities. It contains data and methods. Objects interact with each other in a program. It is the core concept of OOP. It occupies memory when created. It helps in implementing real-world scenarios in software applications.
35. What is a function?
Ans:
A function is a block of code that performs a specific task. It helps in code reusability and modularity. It can take inputs and return outputs. It reduces code duplication. It improves readability. It simplifies complex programs into smaller parts.
36. Describe multithreading?
Ans:
Multithreading allows multiple threads to run simultaneously. It improves application performance. Threads share memory within a process. It is used in real-time applications. It enhances responsiveness. It allows concurrent execution of tasks.
37. What is synchronization?
Ans:
Synchronization controls access to shared resources in multithreading. It prevents data inconsistency. It ensures only one thread accesses a resource at a time. It avoids race conditions. It is important for thread safety. It maintains proper execution order.
38. What is a race condition?
Ans:
A race condition occurs when multiple threads access shared data simultaneously. It leads to unpredictable results. It happens without proper synchronization. It can cause data corruption. It is resolved using locks and synchronization. It may result in inconsistent program behavior.
39. How does deadlock prevention technique?
Ans:
Deadlock prevention avoids situations where processes wait indefinitely. It eliminates one of the necessary conditions of deadlock. Techniques include resource ordering and avoiding circular wait. It ensures smooth system execution. It improves system stability.
40. What is a file?
Ans:
A file is a collection of data stored on a storage device. It is used for permanent data storage. Files can be text or binary. They allow reading and writing operations. They are essential for data persistence. They are identified by a unique name and path.
41. What is file handling?
Ans:
File handling refers to operations performed on files. It includes creating, reading, writing, and deleting files. It helps in data storage and retrieval. It is supported by most programming languages. It ensures persistent data management. It allows efficient management of external data.
42.What is a loop?
Ans:
A loop is used to execute a block of code repeatedly. Types include for, while, and do-while loops. It reduces code repetition. It improves efficiency. It is widely used in programming. It helps automate repetitive tasks.
43. Explain conditional statement?
Ans:
A conditional statement executes code based on conditions. Examples include if, else, and switch statements. It controls program flow. It helps in decision-making. It is a basic programming concept. It allows execution of different code paths.
44.What is a variable?
Ans:
A variable is a container used to store data. It has a name and a data type. Its value can change during execution. It is fundamental in programming. It helps in storing and manipulating data. It allows dynamic handling of information.
45. What is a constant?
Ans:
A constant is a value that cannot be changed during execution. It improves code safety and readability. It is declared using specific keywords. It prevents accidental modification. It is useful in fixed values. It ensures consistency throughout the program.
46. What is a data type?
Ans:
A data type defines the type of data a variable can hold. Examples include int, float, and char. It ensures proper memory allocation. It helps in type checking. It is essential for programming. It prevents invalid operations on data.
47. What is type casting?
Ans:
Type casting converts one data type into another. It can be implicit or explicit. It ensures compatibility between data types. It helps in data manipulation. It is commonly used in programming. It prevents data type mismatch errors.48.. Explain debugging?
Ans:
Debugging is the process of finding and fixing errors in code. It improves program correctness. Tools like debuggers help identify issues. It is an essential development step. It ensures smooth execution. It enhances overall software quality.
49. What is a software bug?
Ans:
A software bug is an error or flaw in a program. It causes incorrect or unexpected results. Bugs occur due to logical or syntax errors. They affect software performance. Testing helps in identifying bugs. Fixing bugs improves reliability.
50. What is version control?
Ans:
Version control is a system to manage code changes. It tracks modifications over time. Tools like Git are widely used. It supports collaboration among developers. It helps in maintaining code history. It allows reverting to previous versions when needed.
51.Define Git??
Ans:
- Git is a distributed version control system used to track code changes. It helps developers manage and maintain different versions of code.
- It allows multiple developers to collaborate on projects. Team members can work simultaneously without conflicts.
- It maintains a complete history of code changes. This helps in tracking and reverting to previous versions.
- It supports branching and merging efficiently. Developers can work on features independently and combine them later.
52. What is a repository?
Ans:
- A repository is a storage location for project files and code. It keeps all related files organized in one place.
- It keeps track of all versions and changes. Every modification is recorded for future reference.
- It can be local or hosted on platforms like GitHub. Remote repositories allow easy sharing and backup.
53.What does branch in Git?
Ans:
- A branch is a separate line of development in a repository. It allows independent work without affecting main code.
- It allows working on features without affecting the main code. Developers can experiment safely.
- It can be merged back into the main branch later. Completed work is integrated into the main project.
54. What is merging?
Ans:
- Merging combines changes from different branches. It integrates work done separately.
- It integrates new features into the main codebase. This keeps the project updated.
- Conflicts may occur if changes overlap. Same lines modified in different branches cause issues.
55. What is a merge conflict?
Ans:
- A merge conflict happens when two changes clash. Git cannot decide which version to keep.
- Git cannot automatically resolve the differences. Manual intervention is required.
- Developers must manually fix the conflict. They choose the correct code version.
56. Explain pull request?
Ans:
- A pull request is used to propose code changes. It is submitted before merging into main branch.
- It allows team members to review code before merging. Review ensures quality and correctness.
- It improves collaboration and code quality. Feedback helps improve the code.
- DevOps is a combination of development and operations practices. It bridges the gap between coding and deployment.
- It focuses on automation and continuous delivery. Reduces manual effort and speeds up release cycles.
- It improves collaboration between teams. Developers and operations work together
- CI/CD stands for Continuous Integration and Continuous Deployment. It automates software build and release processes.
- It automates testing and deployment processes. Reduces human errors and delays.
- It ensures faster and reliable software delivery. Updates are released quickly.
- Cloud computing provides computing services over the internet. No need for physical infrastructure.
- It includes storage, servers, and databases. Resources are available on demand.
- Examples include AWS, Azure, and Google Cloud. Popular cloud service providers.
- Virtualization creates virtual versions of physical resources. It simulates hardware using software.
- It allows multiple systems to run on a single machine. Improves resource sharing.
- It improves resource utilization and efficiency. Reduces idle hardware usage.
- A web server handles client requests and responses. It communicates between browser and server.
- It delivers web pages over HTTP/HTTPS. Sends requested data to users.
- Examples include Apache and Nginx. Widely used web servers.
- HTTP stands for HyperText Transfer Protocol. It is the foundation of web communication.
- It is used for communication between client and server. Transfers data over the web.
- It is stateless in nature. Each request is independent.
- HTTPS is a secure version of HTTP. It protects communication.
- It uses SSL/TLS encryption. Data is encrypted during transfer.
- It ensures secure data transmission. Prevents data interception.
- REST API is a web service architecture. It enables communication between client and server systems.
- It uses HTTP methods like GET, POST, PUT, DELETE. These methods perform CRUD operations.
- It is lightweight and scalable. Suitable for web and mobile applications.
- JSON stands for JavaScript Object Notation. It is used for structured data representation.
- It is used for data exchange between systems. Commonly used in APIs and web services.
- It is lightweight and easy to read. Humans and machines can understand it easily.
- XML stands for eXtensible Markup Language. It is used to define structured data.
- It is used to store and transport data. Common in older web services.
- It is more verbose than JSON. Requires more tags and space.
- API stands for Application Programming Interface. It connects different software systems.
- It allows communication between applications. Data can be exchanged easily.
- It defines rules for interaction. Ensures proper communication format.
- Frontend deals with the user interface of applications. It focuses on visual elements.
- It uses HTML, CSS, and JavaScript. These technologies build web pages.
- It focuses on user experience. Ensures easy and smooth interaction.
-
69.How does backend development?
Ans:
- Backend handles server-side logic and databases. It processes application functionality.
- It processes requests and responses. Communicates with frontend systems.
- Languages include Java, Python, and Node.js. Used to build server applications.
70. What is full stack development?
Ans:
- Full stack development includes frontend and backend. Covers complete application development.
- Developers handle entire system development. From UI to database.
- It requires knowledge of multiple technologies. Includes frameworks and databases.
71.What is a framework?
Ans:
- A framework provides a structure for development. It guides application design.
- It includes predefined functions and tools. Reduces coding effort.
- It speeds up development process. Saves time and effort.
72. Explain library?
Ans:
- A library is a collection of reusable code. Developers can reuse functions.
- It provides specific functionality. Focuses on solving particular problems.
- Developers can include it in projects. Saves development time.
73.What is a debugging tool?
Ans:
A debugging tool is software used to identify and fix errors in code efficiently. It helps developers detect bugs quickly and allows step-by-step execution of programs to analyze behavior. By tracking program flow and inspecting variables, it improves code quality and resolves logical issues. Overall, debugging tools simplify troubleshooting and make the development process more effective.
74. Explain code optimization?
Ans:
Code optimization is the process of improving the performance and efficiency of a program. It helps make programs faster by reducing execution time and minimizing memory usage. Optimization enhances overall system efficiency, improves user experience, and ensures better scalability. It also enables applications to handle larger workloads effectively.
75. What is an algorithm?
Ans:
An algorithm is a step-by-step procedure used to solve a problem logically. It defines a sequence of operations and guides program execution. Algorithms help in efficient problem-solving by reducing complexity and improving performance. They ensure faster and more accurate execution of tasks
76.. What is time complexity?
Ans:
Time complexity measures the amount of time an algorithm takes to execute based on the size of the input. It is usually expressed using Big-O notation to represent performance. Time complexity helps compare different algorithms and choose the most efficient one. It also predicts how an algorithm will perform with large inputs.
77. Define space complexity?
Ans:
Space complexity refers to the amount of memory required by an algorithm during execution. It depends on the size of the input and the variables used in the program. Understanding space complexity helps optimize memory usage and reduce wastage. Efficient memory utilization improves overall program performance.
78.What is Big-O notation?
Ans:
Big-O notation is used to describe the worst-case performance of an algorithm. It measures how the execution time or space requirements grow as input size increases. Common examples include O(n), O(log n), and O(1). It helps developers compare algorithms and select the most efficient solution.
79. What is binary search?
Ans:
Binary search is an efficient algorithm used to find elements in a sorted array. It works by repeatedly dividing the search space in half, reducing the number of comparisons needed. This approach results in a time complexity of O(log n), making it faster than linear search. However, it requires the data to be sorted beforehand.
80. What is linear search?
Ans:
Linear search is a simple method that checks each element in a list one by one until the target is found. It works on both sorted and unsorted data, making it flexible. However, it has a time complexity of O(n), which makes it slower for large datasets. It is easy to implement and suitable for small data collections.
81. Describe sorting?
Ans:
Sorting is the process of arranging data in a specific order, such as ascending or descending. Various algorithms like bubble sort, merge sort, and quicksort are used for sorting. It improves data organization and makes searching faster and more efficient. Sorting is widely used in data processing and analysis.
82. What is a hash table?
Ans:
A hash table is a data structure that stores data in key-value pairs. It uses a hash function to convert keys into indices for storage. This allows fast data access, typically in constant time. Hash tables improve performance and support efficient searching, insertion, and deletion operations.
83. What is collision in hashing?
Ans:
A collision in hashing occurs when two different keys map to the same index in a hash table. This can affect performance by slowing down operations. Collisions are common and are handled using techniques such as chaining or open addressing. Proper collision handling ensures efficient functioning of hash tables.
84. How does a tree data structure work?
Ans:
A tree is a hierarchical data structure consisting of nodes connected by edges. Each node has a parent-child relationship, with a single root node at the top. Trees are used to organize data efficiently and are commonly applied in databases and file systems. They support recursive operations and traversal methods for processing data
85. What is a binary tree?
Ans:
A binary tree is a type of tree data structure in which each node has at most two children, referred to as the left and right child. It is widely used for efficient searching and sorting operations. Binary trees can be classified into types such as full, complete, and balanced trees. They support traversal methods like inorder, preorder, and postorder.
86. Define graph?
Ans:
87.What is BFS?
Ans:
Breadth First Search (BFS) is a graph traversal algorithm that explores nodes level by level. It uses a queue data structure to systematically visit all nodes. BFS is useful for finding the shortest path in unweighted graphs. It is widely used in networking and pathfinding applications.
88.What is DFS?
Ans:
Depth First Search (DFS) is a graph traversal algorithm that explores nodes as deeply as possible before backtracking. It uses recursion or a stack data structure for implementation. DFS is useful for pathfinding and solving problems involving trees and graphs. It helps in exploring all possible paths in a structure.
89. What is machine learning?
Ans:
Machine learning is a branch of artificial intelligence that enables systems to learn from data and improve performance automatically without explicit programming. It identifies patterns and makes decisions based on data. Machine learning is widely used in applications like recommendation systems, image recognition, and predictive analysis.
90. Explain artificial intelligence?
Ans:
Artificial Intelligence (AI) refers to the simulation of human intelligence in machines. It enables systems to perform tasks such as learning, reasoning, and decision-making. AI is used in automation, robotics, and various industries to improve efficiency and problem-solving capabilities.
91. What is cybersecurity?
Ans:
Cybersecurity involves protecting computer systems, networks, and data from cyber threats and attacks. It ensures data privacy, integrity, and security. Techniques such as encryption, firewalls, and authentication are used to prevent unauthorized access. Cybersecurity is essential for safe digital operations
92. What is encryption?
Ans:
Encryption is the process of converting data into a secure format to prevent unauthorized access. It makes information unreadable without a proper key. Encryption is widely used in secure communications such as banking and email systems. It ensures data confidentiality and security.
Dynamics CRM Sample Resumes! Download & Edit, Get Noticed by Top Employers! Download93. What is decryption?
Ans:
Decryption is the process of converting encrypted data back into its original readable form. It requires a key to reverse the encryption process. Decryption ensures that authorized users can access and understand secured data. It is an essential part of secure communication systems.
94. What is a firewall?
Ans:
A firewall is a security system that monitors and controls incoming and outgoing network traffic. It acts as a barrier between trusted and untrusted networks. Firewalls block unauthorized access and protect systems from cyber threats. They are essential for maintaining network security.
95. How does authentication work?
Ans:
Authentication is the process of verifying a user’s identity before granting access to a system. It confirms who the user is using methods such as passwords, biometrics, or OTPs. Authentication is the first step in security and prevents unauthorized access to systems.
96. What is authorization?
Ans:
Authorization determines the level of access granted to a user after authentication. It defines what resources a user can access and what actions they can perform. Authorization ensures proper access control and protects sensitive data from misuse.
97.What is a session?
Ans:
A session is a way to store user data temporarily on the server to maintain state across multiple requests. It is commonly used in web applications to track user activity and keep users logged in. Sessions expire after a period of inactivity, ensuring security and efficiency.
98. Define cookie?
Ans:
A cookie is a small piece of data stored in the user’s browser. It is used to store user information and track session data. Cookies help maintain login states and personalize user experiences. They are stored on the client side and accessed by web browsers.
99. What is load balancing?
Ans:
Load balancing is the process of distributing incoming network traffic across multiple servers. It prevents any single server from becoming overloaded and ensures better performance and reliability. Load balancing improves availability and reduces system downtime.
100. What is scalability?
Ans:
Scalability refers to the ability of a system to handle increasing workloads or user demands. It ensures that the system can grow and adapt without compromising performance. Scalable systems support future expansion and maintain efficiency under heavy loads.
57.What is DevOps?
Ans:
58. How does CI/CD work?
Ans:
59. What is cloud computing?
Ans:
60. What is virtualization?
Ans:
61.Define web server?
Ans:
62. What is HTTP?
Ans:
63.What is HTTPS?
Ans:
64.What is REST API?
Ans:
65. What is JSON?
Ans:
66. What is XML?
Ans:
67. What does API?
Ans:
68. How does frontend development?
Ans:
