i
Ernst &
Young
Filter interviews by
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.
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'
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 ...
What people are saying about Ernst & Young
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
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} />
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 pro...
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 ...
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);
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 Naukri.com and was interviewed in Apr 2020. There was 1 interview round.
Synchronous means happening at the same time, while asynchronous means not happening at the same time.
Synchronous operations occur in real-time, while asynchronous operations can be delayed or queued.
Synchronous operations block the program until they are completed, while asynchronous operations allow the program to continue running.
Examples of synchronous operations include function calls and loops, while examples of ...
CTE and temp table usage in SQL
Use CTE for recursive queries and complex subqueries
Use temp tables for large data sets and complex queries
CTE is more efficient for small data sets
Temp tables can be indexed for faster performance
Consider the scope and lifespan of the data when choosing between CTE and temp table
I appeared for an interview before Sep 2020.
Round duration - 90 minutes
Round difficulty - Medium
This test consists of two coding questions and some MCQ regarding computer fundamentals.
Kevin has two packs of cards. The first pack contains N cards, and the second contains M cards. Each card has an integer written on it. Determine two results: the tot...
Find total distinct card types and common card types between two packs of cards.
Create a set to store distinct card types when combining both packs.
Iterate through each pack and add card types to the set.
Find the intersection of card types between the two packs to get common card types.
Given an array of integers arr
, where arr[i]
represents the number of pages in the i-th
book, and an integer m
representing the number of students, allocate all the books ...
Allocate books to students in a way that minimizes the maximum number of pages assigned to a student.
Iterate through all possible allocations of books to students.
Calculate the maximum number of pages assigned to a student for each allocation.
Return the minimum of these maximums as the result.
Round duration - 40 minutes
Round difficulty - Easy
It was a technical round that is based on DSA and computer fundamentals.
Given a singly linked list of integers, return the head of the reversed linked list.
Initial linked list: 1 -> 2 -> 3 -> 4 -> NULL
Reversed link...
Reverse a singly linked list of integers and return the head of the reversed linked list.
Iterate through the linked list and reverse the pointers to point to the previous node instead of the next node.
Use three pointers - prev, current, and next to reverse the linked list in O(N) time and O(1) space complexity.
Update the head of the reversed linked list as the last node encountered during the reversal process.
Given an integer array arr
of size 'N' containing only 0s, 1s, and 2s, write an algorithm to sort the array.
The first line contains an integer 'T' representing the n...
Sort an array of 0s, 1s, and 2s in linear time complexity.
Use three pointers to keep track of 0s, 1s, and 2s while traversing the array.
Swap elements based on the values encountered to sort the array in-place.
Time complexity should be O(N) and space complexity should be O(1).
Tip 1 : If you are not able to complete something in-depth, clearly mention that to the interviewer.
Tip 2 : Practice DSA well.
Tip 3 : Try to think analytically and more logically,Your thinking skills matters a lot.
Tip 1 : Try to mention max no of projects
Tip 2 : DO not fake in your resume.
I appeared for an interview in Nov 2020.
Round duration - 135 minutes
Round difficulty - Easy
Coding questions was easy if you know the basic of coding in any language. I submitted optimized solution for every questions that's why i got selected in this round.
You are given an encrypted string where repeated substrings are represented by the substring followed by its count. Your task is to find the K'th character of the d...
Given an encrypted string with repeated substrings represented by counts, find the K'th character of the decrypted string.
Parse the encrypted string to extract substrings and their counts
Iterate through the substrings and counts to build the decrypted string
Track the position in the decrypted string to find the K'th character
You are provided with an undirected graph containing 'N' vertices and 'M' edges. The vertices are numbered from 1 to 'N'. Your objective is to determi...
Detect if an undirected graph contains a cycle.
Use Depth First Search (DFS) to traverse the graph and detect cycles.
Maintain a visited array to keep track of visited vertices.
If a visited vertex is encountered again during DFS, a cycle exists.
Check for back edges while traversing the graph.
Consider disconnected graphs as well.
Round duration - 150 minutes
Round difficulty - Medium
You are provided with an array ARR
consisting of N
distinct integers in ascending order and an integer TARGET
. Your objective is to count all the distinct pairs in ARR
whose sum...
Count distinct pairs in an array whose sum equals a given target.
Use two pointers approach to iterate through the array and find pairs with sum equal to target.
Keep track of visited pairs to avoid counting duplicates.
Return -1 if no such pair exists with the given target.
You are given a palindrome number represented as a string S
. Your task is to find the largest palindrome number that is strictly less than S
.
T...
Given a palindrome number represented as a string, find the largest palindrome number that is strictly less than the given number.
Iterate from the middle towards the start and end of the string to find the next smaller palindrome.
If the number is odd in length, simply mirror the left half to the right half to get the next smaller palindrome.
If the number is even in length, decrement the middle digit and mirror the left...
Given two strings STR1
and STR2
, determine the length of their longest common subsequence.
A subsequence is a sequence that can be derived from another sequen...
The problem involves finding the length of the longest common subsequence between two given strings.
Use dynamic programming to solve this problem efficiently.
Create a 2D array to store the lengths of common subsequences of substrings.
Iterate through the strings to fill the array and find the length of the longest common subsequence.
Example: For input STR1 = 'abcde' and STR2 = 'ace', the longest common subsequence is 'a...
Round duration - 30 minutes
Round difficulty - Easy
Interview went well.The interviewer asked me how the previous interviews were.
Given a binary tree of integers, your task is to output the boundary nodes of this binary tree in Anti-Clockwise order, starting from the root node.
The b...
Output the boundary nodes of a binary tree in Anti-Clockwise order, starting from the root node.
Traverse the left boundary nodes in top-down order
Traverse the leaf nodes from left to right
Traverse the right boundary nodes in bottom-up order
Combine the above traversals to get the boundary nodes in Anti-Clockwise order
Given an integer array arr
of size 'N' containing only 0s, 1s, and 2s, write an algorithm to sort the array.
The first line contains an integer 'T' representing the n...
Sort an array of 0s, 1s, and 2s in linear time complexity.
Use three pointers to keep track of the positions of 0s, 1s, and 2s in the array.
Iterate through the array and swap elements based on the values encountered.
Maintain left pointer for 0s, right pointer for 2s, and current pointer for traversal.
Example: If current element is 0, swap it with element at left pointer and increment both pointers.
Round duration - 20 minutes
Round difficulty - Easy
This round is very easy, In this round they basically need confidence and truthful person.
Tip 1 : For Data Structures number of questions doesn't matter. Try to understand the logic behind them and try to apply them in creating multiple scenario's.
Tip 2 : Do lot of hard work and practice of Data Structures and Algorithms based questions
Tip 3 : See which part interests you more, Increase your knowledge horizon, Always try to build a system a system considering It will be served to millions of customers.
Tip 4 : I personally recommend you Coding Ninjas and Geeks For Geeks for interview preparation.
Tip 1 : Always try to make it a single page
Tip 2 : do mention all your skills which you are confident of in your resume.
Tip 3 : Always make resume company specific
What people are saying about Ernst & Young
I applied via Recruitment Consulltant and was interviewed before Jan 2021. There were 2 interview rounds.
Python coding test
posted on 8 Mar 2024
I applied via Campus Placement
posted on 9 Nov 2024
I have a strong background in software development, focusing on full-stack technologies and agile methodologies.
Bachelor's degree in Computer Science from XYZ University.
3 years of experience in web development using JavaScript, React, and Node.js.
Worked on a team project that improved application performance by 30%.
Experience with Agile methodologies, participating in daily stand-ups and sprint planning.
Contributed to...
I applied via Campus Placement and was interviewed before Nov 2020. There was 1 interview round.
Program to calculate factorial
Use a loop to multiply the numbers from 1 to n
Handle edge cases like 0 and negative numbers
Use recursion for a more elegant solution
Senior Consultant
19.4k
salaries
| ₹15 L/yr - ₹27 L/yr |
Consultant
13.2k
salaries
| ₹10 L/yr - ₹18 L/yr |
Manager
8k
salaries
| ₹23 L/yr - ₹40 L/yr |
Assistant Manager
6.8k
salaries
| ₹14.3 L/yr - ₹25.5 L/yr |
Associate Consultant
4.3k
salaries
| ₹5.2 L/yr - ₹12 L/yr |
Deloitte
PwC
EY Global Delivery Services ( EY GDS)
Accenture