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 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
What people are saying about Ernst & Young
Component events are fired and handled by a single component, while application events are fired and handled by multiple components.
Component events are used for communication between components within a single application.
Application events are used for communication between components across multiple applications.
Component events are fired using fireEvent() method, while application events are fired using $A.get('e.n...
Dependency injection is a design pattern that allows objects to receive dependencies rather than creating them.
It helps to decouple the code and makes it more testable and maintainable.
It allows for easier swapping of dependencies without changing the code.
There are three types of dependency injection: constructor injection, setter injection, and interface injection.
Example: Instead of creating a database connection ob...
Bean factory is used for creating and managing instances of beans in Spring framework.
Bean factory is responsible for creating and managing instances of beans defined in the Spring configuration file.
It provides a way to decouple the configuration and specification of dependencies from the actual application code.
Bean factory supports different scopes of beans such as singleton, prototype, request, session, etc.
It also...
I applied via Naukri.com and was interviewed in Nov 2021. There were 2 interview rounds.
It was moderate one
Hard one
I appeared for an interview in Jan 2021.
Round duration - 90 Minutes
Round difficulty - Medium
This round happened on the same day as JAM in the afternoon time. A slot of 20 minutes with respective timing was already sent to the selected students. Interview can’t be generalize as anything can happen over there and hence this was exclusively my experience.
To have a quick judgement about the person, I believe nothing is better than throwing before him/her some puzzles (mathematical/ analytical/ programming problems) and see the approach. I received back-to-back 4 problems after a quick and brief introduction. The coding problems I got were way too easy (just basics: searching & mathematical). The harder part of this round was the puzzles (tricky, mathematical, related to probability). At last, I was asked a question on DBMS and the interviewer asked if I know JAVA.
Given a sorted array 'A' of 'N' integers, determine whether a number 'X' exists within this array for a series of queries. For each query, print 1 if 'X' exists in the ...
Search for a number in a sorted array and determine its existence for multiple queries.
Use binary search algorithm to efficiently search for each query integer in the sorted array.
For each query integer 'X', check if it exists in the array 'A' and output 1 if found, 0 otherwise.
Ensure the array 'A' is sorted in non-decreasing order to apply binary search effectively.
Tip 1 : Mention some good projects on your resume.
Tip 2 : Practice competitive and aptitude questions.
Tip 3 : Work on your communication skills.
Tip 1 : Mention some good projects on your resume.
Tip 2 : Don't put false things on your resume.
posted on 8 Mar 2024
I applied via Campus Placement
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...
Senior Consultant
19.3k
salaries
| ₹9.1 L/yr - ₹30 L/yr |
Consultant
13.1k
salaries
| ₹6.4 L/yr - ₹21 L/yr |
Manager
8k
salaries
| ₹16.8 L/yr - ₹51 L/yr |
Assistant Manager
6.8k
salaries
| ₹9.9 L/yr - ₹28.5 L/yr |
Associate Consultant
4.3k
salaries
| ₹4.8 L/yr - ₹15 L/yr |
Deloitte
PwC
EY Global Delivery Services ( EY GDS)
Accenture