i
Wipro
Filter interviews by
To fetch duplicate rows from employees, use SQL queries to identify and retrieve records with the same values in specified columns.
Use GROUP BY: Group the records by the columns you want to check for duplicates and use HAVING COUNT(*) > 1 to filter duplicates.
Example: SELECT name, email FROM employees GROUP BY name, email HAVING COUNT(*) > 1;
Utilize DISTINCT: To get unique records, you can also use SELECT DI...
Multiple inheritance is a feature in object-oriented programming where a class can inherit attributes and methods from more than one parent class.
Allows a class to inherit from multiple parent classes, combining their attributes and methods
Can lead to the diamond problem where ambiguity arises if two parent classes have a method with the same name
Achieved in languages like C++ using virtual inheritance or interfac...
Optional in Java 8 is used to represent a value that may or may not be present, reducing the chances of NullPointerException.
Optional is used to avoid NullPointerException by explicitly stating whether a value is present or not.
Commonly used methods with Optional include isPresent(), get(), orElse(), orElseGet(), and map().
Example: Optional<String> optionalString = Optional.ofNullable("Hello");
In Spring framework, @primary is used to specify the primary bean to be autowired, while @qualifier is used to specify a specific bean to be autowired.
Use @Primary when there are multiple beans of the same type and you want to specify the primary one to be autowired.
Use @Qualifier when you want to specify a specific bean to be autowired by its name.
Example: @Primary annotation can be used on a bean definition to m...
What people are saying about Wipro
Java 8 features like lambda expressions and functional interfaces make coding with streams easier and more efficient.
Lambda expressions allow for concise and readable code when working with streams.
Functional interfaces like Predicate, Function, and Consumer can be used with streams to perform operations on elements.
Stream API provides methods like map, filter, and reduce for processing collections of data in a de...
Steps to write an immutable class
Make the class final so it cannot be extended
Make all fields private and final
Do not provide setter methods for the fields
Ensure that any mutable objects within the class are also immutable
If a mutable object must be returned, make a deep copy before returning it
Types of dependency injection include constructor injection, setter injection, and interface injection.
Constructor injection: Dependencies are provided through a class's constructor.
Setter injection: Dependencies are provided through setter methods.
Interface injection: Dependencies are provided through an interface method.
Transaction management in Spring Boot ensures data integrity by managing database transactions.
Spring Boot uses @Transactional annotation to manage transactions
It ensures that all operations within a transaction are completed successfully or rolled back if an error occurs
Transactions can be managed programmatically using TransactionTemplate
Supports different transaction isolation levels like READ_COMMITTED, REPEAT...
Design patterns in microservice architecture help in solving common design problems and improving scalability, maintainability, and flexibility.
Service Registry pattern - used for service discovery and registration
Circuit Breaker pattern - used for fault tolerance and resilience
API Gateway pattern - used for routing and load balancing
Saga pattern - used for managing distributed transactions
Event Sourcing pattern -...
Inter-service communication in microservices involves using protocols like HTTP, gRPC, or messaging queues.
Microservices communicate with each other through APIs using protocols like HTTP or gRPC.
Message queues like RabbitMQ or Kafka can be used for asynchronous communication between services.
Service discovery tools like Consul or Eureka help services locate each other dynamically.
API gateways can be used to manag...
I appeared for an interview in Nov 2024.
Berribot test with AI by asking questions on various application level and providing a code snippet to find the longest common prefix in a string array.
Java 8 features like lambda expressions and functional interfaces make coding with streams easier and more efficient.
Lambda expressions allow for concise and readable code when working with streams.
Functional interfaces like Predicate, Function, and Consumer can be used with streams to perform operations on elements.
Stream API provides methods like map, filter, and reduce for processing collections of data in a declara...
Optional in Java 8 is used to represent a value that may or may not be present, reducing the chances of NullPointerException.
Optional is used to avoid NullPointerException by explicitly stating whether a value is present or not.
Commonly used methods with Optional include isPresent(), get(), orElse(), orElseGet(), and map().
Example: Optional<String> optionalString = Optional.ofNullable("Hello");
Multiple inheritance is a feature in object-oriented programming where a class can inherit attributes and methods from more than one parent class.
Allows a class to inherit from multiple parent classes, combining their attributes and methods
Can lead to the diamond problem where ambiguity arises if two parent classes have a method with the same name
Achieved in languages like C++ using virtual inheritance or interfaces in...
Steps to write an immutable class
Make the class final so it cannot be extended
Make all fields private and final
Do not provide setter methods for the fields
Ensure that any mutable objects within the class are also immutable
If a mutable object must be returned, make a deep copy before returning it
Types of dependency injection include constructor injection, setter injection, and interface injection.
Constructor injection: Dependencies are provided through a class's constructor.
Setter injection: Dependencies are provided through setter methods.
Interface injection: Dependencies are provided through an interface method.
In Spring framework, @primary is used to specify the primary bean to be autowired, while @qualifier is used to specify a specific bean to be autowired.
Use @Primary when there are multiple beans of the same type and you want to specify the primary one to be autowired.
Use @Qualifier when you want to specify a specific bean to be autowired by its name.
Example: @Primary annotation can be used on a bean definition to mark i...
Transaction management in Spring Boot ensures data integrity by managing database transactions.
Spring Boot uses @Transactional annotation to manage transactions
It ensures that all operations within a transaction are completed successfully or rolled back if an error occurs
Transactions can be managed programmatically using TransactionTemplate
Supports different transaction isolation levels like READ_COMMITTED, REPEATABLE_...
Isolation levels in transactions determine the degree to which transactions are isolated from each other. Propagation types define how transactions are propagated between different components.
Isolation levels include READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, and SERIALIZABLE.
Propagation types include REQUIRED, REQUIRES_NEW, SUPPORTS, MANDATORY, and NEVER.
Isolation levels control the visibility of changes made ...
Design patterns in microservice architecture help in solving common design problems and improving scalability, maintainability, and flexibility.
Service Registry pattern - used for service discovery and registration
Circuit Breaker pattern - used for fault tolerance and resilience
API Gateway pattern - used for routing and load balancing
Saga pattern - used for managing distributed transactions
Event Sourcing pattern - used...
Inter-service communication in microservices involves using protocols like HTTP, gRPC, or messaging queues.
Microservices communicate with each other through APIs using protocols like HTTP or gRPC.
Message queues like RabbitMQ or Kafka can be used for asynchronous communication between services.
Service discovery tools like Consul or Eureka help services locate each other dynamically.
API gateways can be used to manage and...
Fault tolerance in microservices ensures system reliability by handling failures gracefully.
Microservices architecture breaks down applications into smaller, independent services.
Each microservice is designed to be resilient to failures and can continue to operate even if one service fails.
Fault tolerance is achieved through redundancy, monitoring, and graceful degradation.
Examples of fault tolerance mechanisms include...
Apache Kafka is a distributed streaming platform that allows for the publishing and subscribing to streams of records.
Apache Kafka is designed to be highly scalable and fault-tolerant.
It uses a distributed commit log to store messages.
Producers publish messages to topics, and consumers subscribe to topics to receive messages.
Kafka can be used for real-time stream processing, data pipelines, and event sourcing.
It provid...
RestTemplate is a synchronous client for making HTTP requests, while Feign Client is a declarative HTTP client that simplifies making API calls.
RestTemplate is part of the Spring framework and requires manual configuration for each request.
Feign Client is a declarative client that uses annotations to define API endpoints and parameters.
RestTemplate is synchronous, blocking the calling thread until the response is recei...
I applied via Naukri.com and was interviewed in Jul 2023. There were 3 interview rounds.
Effective debugging skills involve systematic problem-solving, critical thinking, and familiarity with tools and techniques.
Understand the problem: Clearly define the issue before diving into code. For example, if a function returns an unexpected value, identify the expected vs. actual output.
Reproduce the bug: Create a minimal test case that consistently triggers the bug. This helps isolate the problem.
Use debugging t...
I applied via LinkedIn and was interviewed in Aug 2023. There were 2 interview rounds.
Docker is a platform for developing, shipping, and running applications in containers, which are lightweight, portable, and isolated environments.
Docker is a tool that allows you to package an application and its dependencies into a standardized unit called a container.
Containers are isolated environments that contain everything needed to run the application, including code, runtime, system tools, libraries, and settin...
Jenkins is a popular open-source automation server used for continuous integration and continuous delivery (CI/CD) pipelines.
Jenkins is used to automate the building, testing, and deployment of software projects.
CI/CD pipelines in Jenkins help in automating the software delivery process by integrating code changes frequently and delivering them to production.
Jenkins allows for the creation of pipelines that define the ...
Git is a version control system used for tracking changes in code, while GitHub is a platform for hosting Git repositories and collaborating on code.
Git is a distributed version control system that allows multiple developers to work on the same codebase without conflicts.
GitHub is a web-based platform that provides tools for code collaboration, including issue tracking, pull requests, and code reviews.
Git and GitHub ar...
I applied via Walk-in and was interviewed before Dec 2023. There were 3 interview rounds.
I cannot share specifics, but it is indeed a problem of medium difficulty level on LeetCode.
I appeared for an interview before Apr 2024, where I was asked the following questions.
To fetch duplicate rows from employees, use SQL queries to identify and retrieve records with the same values in specified columns.
Use GROUP BY: Group the records by the columns you want to check for duplicates and use HAVING COUNT(*) > 1 to filter duplicates.
Example: SELECT name, email FROM employees GROUP BY name, email HAVING COUNT(*) > 1;
Utilize DISTINCT: To get unique records, you can also use SELECT DISTINC...
I applied via Company Website and was interviewed before Jun 2021. There were 2 interview rounds.
First round was coding as well as aptitude done together went well I guess focusing on codes helps a lot.
I applied via Naukri.com and was interviewed in Nov 2019. There were 3 interview rounds.
I'm seeking new challenges and opportunities for growth that align with my career goals and aspirations.
Desire for professional growth: I'm looking to expand my skill set and take on more leadership responsibilities.
Seeking a better cultural fit: My current company has a different work culture than what I thrive in; I value collaboration and innovation.
Interest in new technologies: I'm excited about working with cuttin...
I applied via Recruitment Consulltant and was interviewed before Apr 2021. There were 3 interview rounds.
Standard Aptitude questions
Based on strings and array
I applied via LinkedIn and was interviewed before Jul 2020. There were 4 interview rounds.
I applied via Campus Placement and was interviewed in Apr 2020. There was 1 interview round.
Yes, I am open to relocating for the right opportunity that aligns with my career goals and personal growth.
Relocation can provide exposure to new technologies and methodologies.
I am excited about the prospect of working in diverse teams and cultures.
For example, moving to a tech hub like San Francisco could enhance my career.
I understand the challenges of relocating, but I see them as opportunities for growth.
I bring a unique blend of skills, experience, and passion for software development that aligns perfectly with your team's goals.
Proven experience in developing scalable applications, such as a recent project where I improved performance by 30%.
Strong problem-solving skills demonstrated through my contributions to open-source projects, enhancing functionality and fixing bugs.
Excellent teamwork and communication abilitie...
Some of the top questions asked at the Wipro Senior Software Engineer 2 interview -
based on 7 interview experiences
Difficulty level
Duration
based on 12 reviews
Rating in categories
Project Engineer
33.4k
salaries
| ₹1.8 L/yr - ₹8.4 L/yr |
Senior Software Engineer
23.1k
salaries
| ₹5.9 L/yr - ₹24 L/yr |
Senior Associate
21.8k
salaries
| ₹0.9 L/yr - ₹5.5 L/yr |
Technical Lead
20k
salaries
| ₹10 L/yr - ₹38.5 L/yr |
Senior Project Engineer
18.7k
salaries
| ₹5 L/yr - ₹19.8 L/yr |
TCS
Infosys
Tesla
Amazon