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");
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 p...
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.
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 Jul 2024, where I was asked the following questions.
I appeared for an interview before Apr 2024, where I was asked the following questions.
I applied via Campus Placement and was interviewed before Feb 2020.Β There were 4 interview rounds.
Yes, algorithms and pseudocodes are still important in IT Services.
Algorithms are used in various fields of IT such as machine learning, data analysis, and cryptography.
Pseudocodes are used to plan and design algorithms before coding them.
Understanding algorithms and pseudocodes is essential for software engineers to write efficient and optimized code.
Examples of algorithms include sorting algorithms, search algorithms...
I applied via Naukri.com and was interviewed in Aug 2020.Β There were 3 interview rounds.
I applied via Campus Placement and was interviewed before May 2021.Β There were 4 interview rounds.
VERBAL QUANT DI/LR and Picture based test
Fibonacci series can be easily implemented using loops in C++ or C.
Declare variables for first two numbers of the series
Use a loop to calculate and print the next number in the series
Repeat the loop until desired number of terms are printed
posted on 14 May 2022
I applied via Naukri.com and was interviewed before May 2021.Β There was 1 interview round.
Some of the top questions asked at the Wipro Senior Software Engineer 2 interview -
based on 8 interview experiences
Difficulty level
Duration
based on 12 reviews
Rating in categories
Project Engineer
33.6k
salaries
| βΉ3.2 L/yr - βΉ7.5 L/yr |
Senior Software Engineer
23.5k
salaries
| βΉ6.6 L/yr - βΉ19.5 L/yr |
Senior Associate
21.5k
salaries
| βΉ1.8 L/yr - βΉ5.7 L/yr |
Technical Lead
20.5k
salaries
| βΉ16.6 L/yr - βΉ30 L/yr |
Senior Project Engineer
18.5k
salaries
| βΉ6.5 L/yr - βΉ18.4 L/yr |
TCS
Infosys
Tesla
Amazon