i
Ernst & Young
Filter interviews by
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 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 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
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
posted on 8 Mar 2024
I applied via Campus Placement
I applied via LinkedIn and was interviewed before May 2023. There were 2 interview rounds.
Clear basic programming fundamentals
I applied via LinkedIn and was interviewed in Mar 2024. There was 1 interview round.
I had a conflict with a team member over project priorities.
Miscommunication led to conflicting priorities
Discussed the issue openly and found a compromise
Learned the importance of clear communication in team projects
Developed a web-based project management tool for tracking tasks and deadlines
Used React for front-end development
Implemented user authentication and authorization using JWT tokens
Utilized Node.js and Express for back-end development
Integrated MongoDB for database storage
I applied via Campus Placement and was interviewed before Apr 2023. There were 2 interview rounds.
1 20 mark easy ques and 1 50 mark med ques, time : 1h 30 mins i guess
Challenging questions in mathematics.
A constructive discussion about the significance of various topics and additional aspects.
I applied via LinkedIn and was interviewed before Jul 2023. There were 5 interview rounds.
Hackerrank online assessment
Case study with a little bit of math for scenario based questions
2 questions of coding with a live interviewer
Behavioral and coding with a senior engineer
I handle conflicts by actively listening, seeking common ground, and finding mutually beneficial solutions.
Actively listen to all parties involved to understand their perspectives
Seek common ground and areas of agreement to build upon
Find mutually beneficial solutions that address the concerns of all parties
Communicate openly and transparently to resolve conflicts effectively
Developing a real-time data synchronization system across multiple servers
Designing a scalable architecture to handle high volume of data
Implementing efficient algorithms for data synchronization
Handling conflicts and ensuring data consistency
Testing the system under various load conditions
Senior Consultant
16.4k
salaries
| ₹9.1 L/yr - ₹33.3 L/yr |
Consultant
12.4k
salaries
| ₹6 L/yr - ₹20.9 L/yr |
Manager
7.7k
salaries
| ₹16 L/yr - ₹47 L/yr |
Assistant Manager
6.5k
salaries
| ₹9.1 L/yr - ₹28.6 L/yr |
Associate Consultant
4k
salaries
| ₹4.5 L/yr - ₹12 L/yr |
Deloitte
PwC
EY Global Delivery Services ( EY GDS)
Accenture