EY Interview Questions
EY is an acronym for Ernst and Young, a multinational professional services firm. Its headquarter is situated in London, England. Enabled by data and technology, the main objective of EY is to make a better working world. It helps clients to grow and expand. EY has over 195000 employees and more than 750 offices in over 150 countries. EY gives assurance, tax, advisory, and consulting services to companies.
In 2019, Ernst Young was the seventh-largest privately owned organization in the United States. EY is a good company to work for because it gives you opportunities to grow and develop your skills.
EY is a good company in terms of work-life balance. EY deals with various technologies that power EY’s service offerings. Therefore, it is a great place to work if one is looking for an IT career.
EY Recruitment Process
1. Interview Rounds
1. Online Assessment:
The Online assessment at EY generally consists of the following three sections:
- Aptitude: This section contains 30 questions.
- Logical and Verbal: This section also includes 30 questions. It assesses the candidate’s logical reasoning.
- Coding Questions: Two questions of medium difficulty. You need to have a good grasp of data structures and algorithms and you are good to go for this round. You can practice questions from our website. A total of 30 minutes are allotted to solve each section.
2. Technical Interview:
Candidates who could clear the online assessment are invited for technical interviews. This round at EY generally takes place on HIREVIEW platform. This round generally has 2 or 3 interviewers. Mostly the questions asked in this round are related to projects. You must have a thorough knowledge of your project work. You also need to have good knowledge of computer fundamentals topics like DBMS, Operating System, OOPS, and Networking. If you are experienced then your previous working experiences are also discussed in this round.
From the Database management system, most of the questions asked by EY are from Normalization and constraints, RDMS, DML, etc.
From the Operating system, most questions are asked from deadlock.
The number of technical interviews taken entirely depends upon your performance in the previous rounds. Generally, each candidate has to go through one technical interview during this process.
3. HR Interview:
The next round after the technical interview round is generally the HR round. The company wants to assess whether the candidate is a cultural fit. At EY HR interview round is an important round and the candidate must not underestimate this round. It is advisable to be well-prepared for an HR Interview. You can prepare HR interview questions from our website by using the link.
The interviewer asks questions based on your resume. So, make sure you mention things that are true to the best of your knowledge in the resume.
The most frequently asked HR interview questions are the following:
- Why should we hire you?
- Why E & Y?
- Tell me about a time when you worked effectively under pressure.
- Do you enjoy doing independent research?
- What do you think are your strengths and weaknesses?
- What interests you most about this position?
- Who is the CEO of the company?
2. Interview Process
Candidates are required to go through the recruitment process thoroughly at EY. The candidate’s technical and analytical knowledge is assessed by the following three rounds (generally):
- Online assessment.
- Technical Interview.
- HR interview.
Note: Each round is an elimination round. In order words, you must be required to clear all the rounds.
EY Technical Interview Questions: Freshers and Experienced
1. Discuss memory management.
In a computer that supports multiprogramming, the operating system stays in some part of the memory and the rest is used by different processes. This task of dividing the memory among different processes is known as memory management.
Why memory management is required:
- Efficient utilization of the memory.
- To minimize fragmentation.
- To ensure data integrity when a process is being executed.
- To keep the track of the memory space used by different processes.
2. What is a thread? Also, explain how a thread is different from the process.
- A thread represents a path of execution within a process. A process can contain more than one thread.
- Threads present in a process share a common memory space whereas processes run in different memory spaces.
Useful Resources
- Data Science Interview Questions
- Python Interview Questions
- SQL Interview Questions
- Java Interview Questions
- Devops Interview Questions
- Data Engineer Interview Questions
- Software Engineering Interview Questions
- Front End Developer Interview Questions
- Technical Interview Questions
- Coding Interview Questions
- Interview Resources
3. SQL question: Problem Statement: Find the second largest value in a specified column of a relation or table.
Input:
Employee Name | Salary |
---|---|
Rajesh | 34000 |
Amit | 20000 |
Harshit | 24000 |
Mukul | 31000 |
Output:
31000
Method 1:
SELECT MAX (name_of_column) FROM name_of_table WHERE name_of_column NOT IN (SELECT MAX (name_of_column) FROM name_of_table);
Explanation:
Here, firstly we are finding the maximum value in the specified column and then we are searching again by excluding the found maximum value.
Method 2:
SELECT name_of_column
FROM name_of_table p
WHERE 2 = (SELECT COUNT (DISTINCT name_of_column) FROM name_of_table q WHERE p.column_name <= q.column_name)
We have used a nested sub-query above. Note that this is a generic SQL query that prints the nth largest value. For each record processed by the outer query, the inner query would be executed and it will return how many records have a value lesser than the current value. As our task here is to determine the second largest value, therefore we will stop as soon as the inner returns 2.
Learn via our Video Courses
4. Explain malloc() and calloc() in C.
1. malloc() function:
The malloc() function also known as the memory allocation function is used to dynamically allocate a block of memory by specifying the size.
- Syntax:
ptr = (cast-type*) malloc(byte-size)
- For example,
ptr = (int*) malloc(100 * sizeof(int));
Since the size of int is 4 bytes. Therefore, this statement allocates 400 bytes of memory and ptr holds the address of the first byte.
If allocation fails then it returns NULL.
2. calloc() function:
The calloc() function also known as the contiguous allocation function is used to dynamically allocate specified blocks of memory of a specific size.
- Syntax:
ptr = (cast-type*) calloc(n, size)
- For example,
ptr = (int*) calloc(10, sizeof(int));
Since, the size of int is 4 bytes. Therefore, this statement allocates contiguous space of memory for 10 elements each of size 4.
If allocation fails then it returns NULL.
5. Differentiate between compiler and interpreter.
Compiler | Interpreter |
---|---|
Scans the program and translates the entire program into machine code in one go. | At a time only a single statement is translated into machine code i.e., line-by-line translation. |
Object code is generated by a compiler. Therefore, they are less memory efficient. | No object code is generated by the interpreter. Therefore, they are more memory efficient. |
A compiler takes more time to analyze the entire program. | Interpreter takes less time to analyze the entire program. |
Execution time is faster in the case of compilers. | Execution time is not very fast in the case of interpreters. |
6. What do you mean by “normalization”?
- Normalization is a way to keep data in the database in an organized manner. In this process, tables are created and relationships are established according to the rules designed to protect the data and to make the database flexible by removing redundancy and inconsistent dependency. Normalization is crucial for many reasons.
- But more specifically, it is important because it enables databases to take up less disk space resulting in increased performance.
7. Problem statement: You are given the head of two linked lists and you need to determine the data present at the intersection of linked lists. If there is no intersection between the lists then return -1.
Input Format:
You need to complete findIntersection(ListNode *headA, ListNode *headB) function.
Output:
Return the data present at the intersection.
If there is no intersection then return -1
Constraints:
1 <= Number of node in both the lists <= 10^5
-10^9 <= data <= 10^9 and data != -1
Time Limit: 1 sec
Sample Input 1:
Sample Output 1:
5
Sample Input 2:
Sample Output 2:
-1
Approach
We can first determine the lengths of both lists by traversing through the lists. Note that after the intersection the number of nodes remains the same for both the lists. Let the lengths come out to be equal to len1 and len2. If len1 exceeds len2 then we move the head pointer of ListNode1 by (len1 - len2) times forward otherwise len2 exceeds len1 so we will move the head pointer of ListNode2 by (len2 - len1) times ahead.
Now we will iterate unless either of them (head1 or head2) becomes NULL or head1 and head2 pointing to the same node.
At the end of the iteration, we will check whether either of the head of lists is NULL, if it is so then we will return -1 otherwise we will return value (data) stored at head1 or head2.
Source Code:
/**
* Definition for singly-linked list.
* struct ListNode {
* int data;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode *findIntersection(ListNode *headA, ListNode *headB) {
// Variables to store the length
// of both the lists
int lenA = 0;
int lenB = 0;
ListNode* currA = headA;
ListNode* currB = headB;
/*
Find the length of both the lists
*/
while(currA || currB)
{
if(currA)
{
lenA++;
currA = currA -> next;
}
else
{
lenB++;
currB = currB -> next;
}
}
if(lenA > lenB)
{
currA = headA;
currB = headB;
int difference = lenA - lenB;
while(difference > 0)
{
currA = currA -> next;
difference--;
}
}
else
{
currB = headB;
currA = headA;
int difference = lenB - lenA;
while(difference > 0)
{
currB = currB -> next;
difference--;
}
}
while(currA != NULL && currB != NULL && currA != currB)
{
currA = currA -> next;
currB = currB -> next;
}
return ((currA == NULL || curB == NULL) ? -1 : currA -> data);
}
};
8. What are the advantages of using the stored procedures?
Store procedure specifies a type of code in SQL that can be stored by the user for later use and can be used many times.
Syntax:
CREATE PROCEDURE name_of_the_procedure
AS
sql_statement
GO;
The advantages of stored procedures are the following:
- Increased productivity: The same piece of code is used again and again which results in higher productivity.
- Better performance: The calls made to the procedure are quick and efficient as stored procedures are compiled once and stored in the executable form which leads to better performance.
- Easily maintainable: Maintaining a procedure on a server is quite easier than maintaining its replica on a different client machine.
- Security: We can restrict access to the oracle data by allowing the users to use stored procedures within specific privileges.
9. Where do we generally create an index?
The index is generally created at the time of the table creation in the database. For example, in MySQL, we can use the following statements to create a table with an index that holds two columns column1 and column2.
mysql> CREATE TABLE t_index
( column1 INT PRIMARY KEY, column2 INT NOT NULL, column3 INT NOT NULL, column4 VARCHAR(20), INDEX (column1,column2) );
If want to add an index to the table, we can use the following statement:
mysql>
CREATE INDEX [index] ON [table] (column)
Here:
- index: It represents the name of the index,
- table: It represents the name of the table to which the index belongs, and
- column: It represents the list of columns.
10. Differentiate between abstract class and interface.
Abstract Class | Interface |
---|---|
Abstract class can contain abstract as well as non-abstract methods. | An interface can contain abstract methods only. |
Abstract class doesn’t support multiple inheritances. | There is a way using which multiple inheritances are possible through an interface. |
An abstract class can provide the implementation of the interface. | An interface cannot provide the implementation of the abstract class. |
An abstract class can contain static and non-static, final and non-final members. | An interface can contain final and static variables. |
11. What is meant by the interface?
An interface is a blueprint for a class. It has static constants and abstract methods. It is a way to achieve abstraction. In other words, we can say that an interface can have variables and abstract methods but no method body.
12. Why is DML provided?
Data manipulation language (DML) is provided for the manipulation and processing of databases.
13. What is a deadlock?
Deadlock is a condition in which more than one process is blocked because it is holding a resource but also requires another resource that is currently acquired by some other process. This can be understood with the help of a real-life example:
- Consider two trains passing through a railway track in opposite directions. Each waits for the other to pass but none of them can go across the other.
14. What is a transparent DBMS?
A transparent DBMS is one that keeps its physical structure hidden from the users.
15. What is the difference between primary key and foreign key?
Primary Key | Foreign Key |
---|---|
Primary key ensures that data in the specific column is unique. | Foreign key is a column or group of columns used to link between data present in two tables. |
One primary key is possible for a table. | More than one foreign key is possible for a table. |
The primary key value cannot be null. | Primary key values can be null. |
It is used to uniquely identify a record in relation to or table. | It refers to the column in a table that is the primary key of that table. |
Unique and not-null constraints together make the primary key. | It can contain duplicate values. |
16. Explain the need for a lock and also explain the difference between a shared lock and an exclusive lock?
To ensure the isolation of property holds in transactions, we need to make sure that data items be accessed in a mutually exclusive manner. It basically means that when one transaction is accessing a data item then no other transaction can make changes to that data item.
Thus, to fulfil this requirement, we can allow transactions to access the data item only if it holds a lock on that item.
Shared lock vs Exclusive lock:
Shared lock | Exclusive lock |
---|---|
It allows read-only operation. | It allows ready and writing operations. |
Protect others from updating the data. | Protect others from reading as well as updating the data. |
There is no limitation on the number of transactions that can hold a shared lock on an item. | Exclusive lock can be held by only one transaction |
A shared lock is requested using a shared lock operation. | An exclusive lock is requested using exclusive lock operation. |
17. Define RDBMS?
RDBMS is an acronym for relational database management systems. Most database management systems like SQL, MY-SQL, and ORACLE are based on RDBMS. The name relational database management system is given because RDMS is based upon the relational model introduced by E.F. Codd. It is one of the most commonly used databases. It includes several tables or relations and each table has its own primary key.
The set of tables is stored in an organized manner in RDBMS, therefore data can be accessed easily in RDBMS.
18. What is an object-oriented model?
An object-oriented model is a way to apply object-oriented concepts to all the stages of the software development cycle. In an object-oriented model, we think about the problems using models organized around real-world problems.
The main objective of the object-oriented model is the following:
- Testing an entity before actually starting building it.
- Coordination with the customers.
- Visualization.
- Reducing complexity that leads to scalable products.
EY Interview Preparation
1. Interview Preparation Tips
- Go through your resume: Go through your resume at least once before appearing for the interview. Make sure you have written those things in your resume that you are well aware of.
- Improve problem-solving skills: Practice data structures and algorithm problems thoroughly. While solving problems make sure to track the time you take to solve problems.
- Ask questions to the interviewer: Show interest in knowing the roles of the interviewer. You should ask questions about their work, experiences at EY, and the team you will join after getting selected.
- Be a good listener: Always listen to your interviewer carefully. Make a note of their hints. If you get stuck, interviewers are always willing to offer you some help.
- Communicate well: Communication is essential in an interview. Learn “think aloud”. While solving a coding problem, you must tell your approach verbally.
- Give mock interviews: Last but not least, give mock interviews. They are quite helpful and build confidence in us. You can use InterviewBit’s platform for mock interviews.
Frequently Asked Questions
1. How much time does EY take to declare the result?
It takes about two weeks after the final interview.
2. How long is the EY interview process?
It is fairly a long process. Generally, it consists of three rounds but this process can take up to 2 months.
3. Why should we hire you?
To answer such questions, you are required to highlight what makes you stand out and why the interviewer should be excited to have you on their team. Speak aloud about what you are good at, and the things you have done in the past that demonstrate your strength and abilities.
4. Is it hard to get into EY?
With proper preparation, you can make it to EY easily. EY focuses on logical & analytical ability and computer science fundamentals (especially DBMS). Also, you must have a good understanding of data structures and algorithms.
5. What is HireVue?
A few years back, EY had modified its hiring process by including something called a video interview or HireVue interview. The main objective of this platform is to save everyone’s time. It allows the recruiter to look at non-verbal cues like eye movement, facial expressions, body movement, etc.
6. Why do you want to join EY?
While answering these types of questions, mention the work culture of the company that inspires you to join the company. Also, tell them about your goals to learn new things while working at the company.