i
Ernst & Young
Filter interviews by
Cognitive test includes of 50 question for 70 mins
2 coding question based on Array
Topic discussion As its Is GD round for 45 minutes
I applied via Naukri.com and was interviewed before Jan 2022. There were 3 interview rounds.
Reasoning, Accounting, Tax questions
I applied via Campus Placement and was interviewed before Feb 2023. There were 2 interview rounds.
Sustainability refers to the practice of meeting present needs without compromising the ability of future generations to meet their own needs.
Sustainability involves balancing economic, social, and environmental factors.
It aims to minimize negative impacts on the environment and society.
Sustainability standards provide guidelines for organizations to follow in order to achieve sustainable practices.
Examples of sustaina...
What people are saying about Ernst & Young
1 hour - quants, reasoning, English
Python questions - 1 hour - written programs
Ernst & Young interview questions for popular designations
I appeared for an interview in Oct 2021.
Round duration - 60 Minutes
Round difficulty - Medium
In this round, I was first asked a coding question related to Sliding Window Technique and then I was grilled on some major concepts from Java and Java Collections.
Given an array A
consisting of N
integers, your task is to find the smallest subarray of A
that contains exactly K
distinct integers.
If multiple such subarrays...
Find the smallest subarray in an array with exactly K distinct elements.
Use a sliding window approach to keep track of the subarray with K distinct elements.
Use a hashmap to store the frequency of each element in the window.
Update the window by expanding or shrinking based on the number of distinct elements.
Return the smallest subarray with K distinct elements and the smallest leftmost index.
Java Strings are immutable to ensure thread safety, security, and optimization.
Immutable strings prevent accidental changes, ensuring data integrity.
String pooling allows for memory optimization by reusing common strings.
Thread safety is guaranteed as strings cannot be modified concurrently.
Security is enhanced as sensitive information cannot be altered once set.
JIT compiler stands for Just-In-Time compiler, which compiles code during runtime for improved performance.
JIT compiler translates bytecode into machine code at runtime
It helps in optimizing performance by compiling frequently executed code
Examples include Java HotSpot JIT compiler and .NET JIT compiler
HashSet is a collection of unique elements, while HashMap is a key-value pair mapping.
HashSet does not allow duplicate elements, HashMap allows duplicate keys but not values.
HashSet uses a hash table to store elements, HashMap uses key-value pairs.
Example: HashSet<String> set = new HashSet<>(); HashMap<String, Integer> map = new HashMap<>();
ArrayList is non-synchronized and Vector is synchronized in Java.
ArrayList is not synchronized, while Vector is synchronized.
ArrayList is faster than Vector.
Vector is thread-safe, while ArrayList is not.
Example: ArrayList<String> list = new ArrayList<>(); Vector<String> vector = new Vector<>();
HashMap and Hashtable are both data structures in Java used to store key-value pairs, but Hashtable is synchronized while HashMap is not.
HashMap allows null values and one null key, while Hashtable does not allow null keys or values.
HashMap is not synchronized and is not thread-safe, while Hashtable is synchronized and thread-safe.
HashMap is faster than Hashtable for most operations, as it is not synchronized.
HashMap i...
Round duration - 60 Minutes
Round difficulty - Medium
This round started with some basic questions from Java 8 and then the interviewer started asking some questions from Spring Boot. At the end of the interview, I was also asked some questions from SQL and DBMS.
Java 8 streams are a sequence of elements that support functional-style operations.
Streams allow for processing sequences of elements in a functional way.
They can be created from various data sources like collections, arrays, or I/O channels.
Operations like filter, map, reduce, and collect can be performed on streams.
Streams are lazy, meaning intermediate operations are only executed when a terminal operation is called...
Java 8 program to iterate through a Stream using forEach method
Create a Stream of elements using Stream.of() or any other method
Use the forEach() method to iterate through the Stream and perform an action on each element
Example: Stream.of(1, 2, 3, 4, 5).forEach(System.out::println);
Spring Boot is a framework that simplifies the development of Java applications by providing pre-configured settings and tools.
Spring Boot eliminates the need for manual configuration by providing defaults for most settings.
It includes embedded servers like Tomcat, Jetty, or Undertow, making it easy to run applications as standalone JAR files.
Spring Boot also offers production-ready features like metrics, health checks...
Dependency injection is a design pattern in which components are given their dependencies rather than creating them internally.
Dependency injection helps in achieving loose coupling between classes.
It allows for easier testing by providing mock dependencies.
There are three types of dependency injection: constructor injection, setter injection, and interface injection.
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 for @ResponseBody annotation on each method
Returns data directly in the response body as JSON or XML
MVC in Spring is a design pattern that separates an application into three main components: Model, View, and Controller.
Model represents the data and business logic of the application.
View is responsible for rendering the user interface based on the data from the Model.
Controller acts as an intermediary between Model and View, handling user input and updating the Model accordingly.
Spring MVC provides annotations like @...
Spring Boot is a framework that simplifies the development of Java applications by providing pre-configured setups.
Auto-configuration: Spring Boot automatically configures the application based on dependencies added to the project.
Embedded server: Spring Boot comes with an embedded Tomcat, Jetty, or Undertow server for easy deployment.
Actuator: Provides production-ready features like monitoring, metrics, and health che
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 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : 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.
Get interview-ready with Top Ernst & Young Interview Questions
I applied via Referral and was interviewed before Jun 2023. There were 3 interview rounds.
Moderate difficulty level
Was asked to talk about general topic
I appeared for an interview in Sep 2021.
Round duration - 60 Minutes
Round difficulty - Medium
This was a preety intense round revolving mainly around the core concepts of JavaScript . I was confident about my
skills in JavaScript as I already had some projects in JS and I also completed the Guided Path of JS in CodeStudio
which boosted my preparation and helped me crack these Frontend Interviews.
Callbacks in JavaScript are functions passed as arguments to other functions to be executed later.
Callbacks are commonly used in event handling, asynchronous programming, and functional programming.
They allow for functions to be executed after another function has finished its execution.
Example: setTimeout(callbackFunction, 1000) will execute callbackFunction after 1 second.
Hoisting is a JavaScript mechanism where variable and function declarations are moved to the top of their containing scope.
Variable declarations are hoisted to the top of their scope but not their assignments.
Function declarations are fully hoisted, meaning they can be called before they are declared.
Hoisting can lead to unexpected behavior if not understood properly.
Closures in JavaScript are functions that have access to variables from their outer scope even after the outer function has finished executing.
Closures allow functions to access variables from their parent function's scope
They maintain a reference to the variables they need, even after the parent function has finished executing
Closures are commonly used to create private variables and data encapsulation in JavaScript
Ex...
slice() returns a shallow copy of a portion of an array without modifying the original array, while splice() changes the contents of an array by removing or replacing existing elements.
slice() does not modify the original array, while splice() does
slice() returns a new array, while splice() returns the removed elements
slice() takes start and end index as arguments, while splice() takes start index, number of elements t...
A first-class function in JavaScript is a function that can be treated like any other variable.
Can be passed as an argument to other functions
Can be returned from other functions
Can be assigned to variables
Can be stored in data structures
Use the built-in sort() method to sort an array of integers in JavaScript.
Use the sort() method with a compare function to sort the array in ascending order.
For descending order, modify the compare function to return b - a instead of a - b.
Example: const numbers = [4, 2, 5, 1, 3]; numbers.sort((a, b) => a - b);
As the Government ramps up vaccination drives to combat the second wave of Covid-19, you are tasked with helping plan an effective vaccination schedule. Your goal is...
Maximize the number of vaccines administered on a specific day while adhering to certain rules.
Given n days, maxVaccines available, and a specific dayNumber, distribute vaccines to maximize on dayNumber
Administer positive number of vaccines each day with a difference of 1 between consecutive days
Ensure sum of vaccines distributed does not exceed maxVaccines
Output the maximum number of vaccines administered on dayNumber
Round duration - 60 Minutes
Round difficulty - Medium
In this round, I was asked questions from React and Redux. Since I already had prior experience in working with React
and Redux , I answered most of the questions correctly and was preety much confident about passing this round.
Class components are ES6 classes that extend from React.Component and have access to state and lifecycle methods, while functional components are simple functions that take props as arguments and return JSX.
Class components are defined using ES6 classes and extend from React.Component
Functional components are simple functions that take props as arguments and return JSX
Class components have access to state and lifecycle...
Stateless components do not have internal state, while stateful components have internal state.
Stateless components are functional components that do not have internal state.
Stateful components are class components that have internal state.
Stateless components are simpler and easier to test.
Stateful components are more complex and can hold and update internal state.
Example: Stateless component - const Button = () =>...
React uses a diffing algorithm called Virtual DOM to efficiently update the actual DOM based on changes in state or props.
Virtual DOM is a lightweight copy of the actual DOM.
React compares the Virtual DOM with the previous Virtual DOM to identify the minimal number of changes needed to update the actual DOM.
This process is known as reconciliation and helps in optimizing performance by reducing unnecessary re-renders.
Ex...
Reconciliation in ReactJS is the process of updating the DOM to match the virtual DOM after a component's state or props have changed.
Reconciliation is the algorithm React uses to update the UI efficiently.
It compares the virtual DOM with the actual DOM and only updates the parts that have changed.
Reconciliation is a key feature that helps React achieve high performance.
Example: When a user interacts with a React compo...
Props in React are used to pass data from a parent component to a child component.
Props are read-only and cannot be modified by the child component.
Props are passed down the component tree.
Props can be any type of data, such as strings, numbers, objects, or functions.
Example: <ChildComponent name='John' age={25} />
Redux helps manage application state in a predictable way.
Centralized state management
Predictable state changes with actions and reducers
Time-travel debugging with Redux DevTools
Ecosystem of middleware for additional functionality
mapStateToProps() is used to access the Redux state in a component, while mapDispatchToProps() is used to dispatch actions to update the state.
mapStateToProps() is used to access the Redux state and return data as props for a component.
mapDispatchToProps() is used to dispatch actions to update the Redux state.
mapStateToProps() is a function that takes the current state as an argument and returns an object with props th...
Combine Reducer is a function in Redux that combines multiple reducers into a single reducer function.
Combines multiple reducers into a single reducer function
Helps manage different pieces of state in Redux store
Improves code organization and maintainability
Example: combineReducers({ reducer1, reducer2 })
Example: const rootReducer = combineReducers({ reducer1, reducer2 })
Relay is a GraphQL client specifically designed for React, while Redux is a state management library for any JavaScript application.
Relay is tightly integrated with GraphQL, making it easier to fetch and manage data from a GraphQL server.
Redux is a more general-purpose state management library that can be used with any backend technology.
Relay uses a declarative approach to data fetching, where components declare their...
Top-level directories in Redux should be structured based on functionality and feature modules.
Separate directories for actions, reducers, and components
Group related functionality together in separate directories
Use feature modules to encapsulate related actions, reducers, and components
Example: 'actions', 'reducers', 'components', 'utils', 'constants'
Round duration - 30 Minutes
Round difficulty - Easy
This was a Technical Cum HR round where I was first asked some basic principles around Frontend Web Development
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 : Do at-least 2 good projects and you must know every bit of them.
Tip 2 : Understand the fundamentals of JavaScript as they are asked very often.
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 Approached by Company and was interviewed before Jun 2023. There were 2 interview rounds.
I applied via Naukri.com and was interviewed before Dec 2021. There were 3 interview rounds.
Case Study on HR. Real-life example based.
I applied via Approached by Company and was interviewed before Oct 2022. There were 2 interview rounds.
Separate lines in standard output in C++ are used to display different pieces of information on separate lines for better readability.
Separate lines are used to display different outputs or messages in a clear and organized manner.
They are commonly used with the 'endl' or ' ' characters to move to the next line.
For example, cout << 'Hello' << endl; will display 'Hello' on one line and move to the next line for the next
A double linked list is a data structure where each node contains a reference to the previous and next node.
In a linked list, each node contains a reference to the next node only, while in a double linked list, each node contains references to both the previous and next nodes.
Double linked lists allow for traversal in both directions, making operations like deletion and insertion easier compared to single linked lists.
...
Some of the top questions asked at the Ernst & Young interview for freshers -
The duration of Ernst & Young interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 62 interviews
Interview experience
based on 11.2k reviews
Rating in categories
Senior Consultant
16.3k
salaries
| ₹9.1 L/yr - ₹33.3 L/yr |
Consultant
12.4k
salaries
| ₹6.5 L/yr - ₹21 L/yr |
Manager
7.7k
salaries
| ₹16 L/yr - ₹47 L/yr |
Assistant Manager
6.5k
salaries
| ₹9.5 L/yr - ₹29 L/yr |
Associate Consultant
4k
salaries
| ₹4.5 L/yr - ₹12 L/yr |
Deloitte
PwC
EY Global Delivery Services ( EY GDS)
Accenture