i
Ernst &
Young
Filter interviews by
Use Spring Data JPA to connect Spring Boot project with database.
Add database configuration in application.properties or application.yml file
Create entity classes annotated with @Entity and @Table
Create repository interfaces extending JpaRepository
Use @Autowired annotation to inject repository in services or controllers
String is immutable, StringBuilder is mutable.
String is a sequence of characters stored in the heap memory.
String Builder is a mutable sequence of characters stored in the heap memory.
String objects are immutable, meaning their values cannot be changed once created.
String Builder objects are mutable, meaning their values can be changed after creation.
String concatenation creates a new String object each time, whic...
An immutable class in Java can be created by declaring the class as final, making all fields private and final, and not providing any setter methods.
Declare the class as final to prevent inheritance
Make all fields private and final to prevent modification
Do not provide any setter methods to prevent changing the state
Initialize all fields in the constructor
Avoid returning mutable objects or references to internal m...
Microservice Architecture is an architectural style that structures an application as a collection of loosely coupled services.
Each service is self-contained and can be developed, deployed, and scaled independently.
Services communicate with each other over a network, typically using HTTP/REST or messaging protocols.
Microservices allow for better scalability, flexibility, and resilience compared to monolithic archi...
What people are saying about Ernst & Young
The @SpringBootApplication annotation is used to mark a class as a Spring Boot application and enables auto-configuration and component scanning.
1. Enables auto-configuration by scanning the classpath for specific types and configuring beans based on their presence.
2. Enables component scanning to automatically discover and register Spring components such as @Component, @Service, @Repository, and @Controller.
3. Co...
setMaxResults() limits the number of results returned by a query, while setFetchSize() determines the number of rows fetched at a time from the database.
setMaxResults() is used to limit the number of results returned by a query.
setFetchSize() determines the number of rows fetched at a time from the database.
setMaxResults() is typically used for pagination purposes, while setFetchSize() can improve performance by r...
The final keyword in Java is used to restrict the modification of variables, methods, and classes.
Final variable: Once assigned, the value of a final variable cannot be changed.
Final method: A final method cannot be overridden by subclasses.
Final class: A final class cannot be extended.
Spring Boot offers annotations like @SpringBootApplication, @RestController, @Autowired, @Component, @RequestMapping, etc.
@SpringBootApplication - Used to mark the main class of a Spring Boot application.
@RestController - Used to define a class as a controller in a RESTful web service.
@Autowired - Used for automatic dependency injection.
@Component - Used to indicate that a class is a Spring component.
@RequestMappi...
The @RestController annotation in Spring Boot is used to define a class as a RESTful controller.
Used to create RESTful web services in Spring Boot
Combines @Controller and @ResponseBody annotations
Eliminates the need to annotate every method with @ResponseBody
Some standard Java pre-defined functional interfaces include Function, Consumer, Predicate, and Supplier.
Function: Represents a function that accepts one argument and produces a result. Example: Function<Integer, String>
Consumer: Represents an operation that accepts a single input argument and returns no result. Example: Consumer<String>
Predicate: Represents a predicate (boolean-valued function) of one...
I applied via Job Portal and was interviewed in Mar 2024. There was 1 interview round.
SOLID principles are five design principles aimed at making software designs more understandable, flexible, and maintainable.
S - Single Responsibility Principle: A class should have one reason to change. Example: A class handling user data should not also handle logging.
O - Open/Closed Principle: Software entities should be open for extension but closed for modification. Example: Use interfaces to extend functionality ...
Use Spring Data JPA to connect Spring Boot project with database.
Add database configuration in application.properties or application.yml file
Create entity classes annotated with @Entity and @Table
Create repository interfaces extending JpaRepository
Use @Autowired annotation to inject repository in services or controllers
I appeared for an interview before Apr 2021.
Round duration - 60 Minutes
Round difficulty - Easy
This round started with some basic questions from Java followed by some questions from OOPS in Java and standard Java 8 questions.
Packages in Java help organize code, prevent naming conflicts, and provide access control.
Organize code into logical groups for easier maintenance and readability
Prevent naming conflicts by using unique package names
Provide access control by using access modifiers like public, private, protected, and default
Facilitate reusability by allowing classes to be easily imported and used in other packages
Java is platform independent because it can run on any system with JVM, which is platform dependent due to its need to interact with the underlying hardware.
Java code is compiled into bytecode, which can be executed on any system with a JVM installed.
JVM acts as an intermediary between the Java code and the underlying hardware of the system.
JVM is platform dependent because it needs to interact with the specific hardwa...
The final keyword in Java is used to restrict the modification of variables, methods, and classes.
Final variable: Once assigned, the value of a final variable cannot be changed.
Final method: A final method cannot be overridden by subclasses.
Final class: A final class cannot be extended.
An interface in OOP is a blueprint of a class that defines a set of methods without implementation.
Interfaces in Java are used to achieve abstraction and multiple inheritance.
All methods in an interface are abstract by default and do not have a body.
Classes can implement multiple interfaces but can only extend one class.
Example: interface Shape { void draw(); }
Example: class Circle implements Shape { public void draw()...
Abstract class can have both abstract and non-abstract methods, while interface can only have abstract methods.
Abstract class can have constructors, fields, and methods, while interface can only have constants and method signatures.
A class can extend only one abstract class, but can implement multiple interfaces.
Abstract classes are used to define common characteristics of subclasses, while interfaces are used to defin...
Some standard Java pre-defined functional interfaces include Function, Consumer, Predicate, and Supplier.
Function: Represents a function that accepts one argument and produces a result. Example: Function<Integer, String>
Consumer: Represents an operation that accepts a single input argument and returns no result. Example: Consumer<String>
Predicate: Represents a predicate (boolean-valued function) of one argu...
Lambda expressions are a feature introduced in Java 8 to provide a concise way to represent anonymous functions.
Lambda expressions are used to provide implementation of a functional interface.
They enable you to treat functionality as a method argument, or code as data.
Syntax of lambda expressions is (argument) -> (body).
Example: (int a, int b) -> a + b
Round duration - 60 Minutes
Round difficulty - Medium
This round had questions from Microservices , Spring Boot and Hibernate. The interviewer was quite freindly and also helped wherever I was stuck.
Spring Boot offers annotations like @SpringBootApplication, @RestController, @Autowired, @Component, @RequestMapping, etc.
@SpringBootApplication - Used to mark the main class of a Spring Boot application.
@RestController - Used to define a class as a controller in a RESTful web service.
@Autowired - Used for automatic dependency injection.
@Component - Used to indicate that a class is a Spring component.
@RequestMapping - ...
The @RestController annotation in Spring Boot is used to define a class as a RESTful controller.
Used to create RESTful web services in Spring Boot
Combines @Controller and @ResponseBody annotations
Eliminates the need to annotate every method with @ResponseBody
Dependency injection is a design pattern in which the dependencies of an object are provided externally rather than created within the object itself.
In dependency injection, the dependencies of a class are injected into the class from an external source, rather than the class creating the dependencies itself.
This helps in achieving loose coupling between classes, making the code more maintainable and testable.
There are...
The @SpringBootApplication annotation is used to mark a class as a Spring Boot application and enables auto-configuration and component scanning.
1. Enables auto-configuration by scanning the classpath for specific types and configuring beans based on their presence.
2. Enables component scanning to automatically discover and register Spring components such as @Component, @Service, @Repository, and @Controller.
3. Combine...
setMaxResults() limits the number of results returned by a query, while setFetchSize() determines the number of rows fetched at a time from the database.
setMaxResults() is used to limit the number of results returned by a query.
setFetchSize() determines the number of rows fetched at a time from the database.
setMaxResults() is typically used for pagination purposes, while setFetchSize() can improve performance by reduci...
Hibernate provides several concurrency strategies like optimistic locking, pessimistic locking, and versioning.
Optimistic locking: Allows multiple transactions to read and write to the database without locking the data. It checks for concurrent modifications before committing the transaction.
Pessimistic locking: Locks the data to prevent other transactions from accessing or modifying it until the lock is released.
Versi...
N+1 SELECT problem in Hibernate occurs when a query results in N+1 additional queries being executed.
Occurs when a query fetches a collection of entities and then for each entity, an additional query is executed to fetch related entities
Can be resolved by using fetch joins or batch fetching to fetch all related entities in a single query
Example: Fetching a list of orders and then for each order, fetching the customer i...
Microservice Architecture is an architectural style that structures an application as a collection of loosely coupled services.
Each service is self-contained and can be developed, deployed, and scaled independently.
Services communicate with each other over a network, typically using HTTP/REST or messaging protocols.
Microservices allow for better scalability, flexibility, and resilience compared to monolithic architectu...
Spring Cloud addresses issues related to distributed systems and microservices architecture.
Service discovery and registration
Load balancing
Circuit breakers
Distributed configuration management
Routing and gateway
Monitoring and tracing
Round duration - 30 Minutes
Round difficulty - Easy
This was a Technical Cum HR round where I was first asked some basic Java related concepts and then we discussed
about my expectations from the company , learnings and growth in the forthcomig years. I would suggest be honest and
try to communicate your thoughts properly in these type of rounds to maximise your chances of getting selected.
Tip 1 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 2 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I applied via Naukri.com and was interviewed in Sep 2020. There was 1 interview round.
I applied via Recruitment Consultant and was interviewed in Feb 2021. There was 1 interview round.
I am interested in the company because of its reputation for innovation and commitment to employee development.
The company has a track record of introducing new and exciting products to the market.
I appreciate the company's focus on providing opportunities for professional growth and development.
I have heard positive feedback from current and former employees about the company culture and work environment.
My long term goal is to become an expert in my field and take on leadership roles to make a positive impact.
Continuously learn and develop new skills
Take on challenging projects to gain experience
Build a strong network of professionals in my industry
Seek out mentorship and leadership opportunities
Contribute to the growth and success of my organization
My short term goal is to learn new skills and gain experience in my field.
Acquire new skills through training and workshops
Take on challenging projects to gain experience
Network with professionals in the industry
Improve time management and organizational skills
I am interested in joining this company because of its reputation for innovation and commitment to employee growth.
The company has a strong track record of developing cutting-edge technology.
I am impressed by the company's dedication to investing in its employees through training and development programs.
I am excited about the opportunity to work with a team of talented professionals who share my passion for excellence...
My long term goal is to become a senior associate in the company. My short term goal is to improve my skills and knowledge in the field.
Long term goal: Senior associate position
Short term goal: Skill and knowledge improvement
Examples: Attend training sessions, take online courses, seek mentorship
I applied via Referral
based on 3 interview experiences
Difficulty level
based on 4 reviews
Rating in categories
Senior Consultant
19.3k
salaries
| ₹15 L/yr - ₹27.5 L/yr |
Consultant
13.2k
salaries
| ₹10 L/yr - ₹18.1 L/yr |
Manager
8k
salaries
| ₹16.8 L/yr - ₹51 L/yr |
Assistant Manager
6.7k
salaries
| ₹14.3 L/yr - ₹25.4 L/yr |
Associate Consultant
4.3k
salaries
| ₹4.8 L/yr - ₹15 L/yr |
Deloitte
PwC
EY Global Delivery Services ( EY GDS)
Accenture