Open In App

EY (Ernst & Young) Interview Questions and Answers for Technical Profiles

Last Updated : 20 Oct, 2023
Like Article

EY is one of the “Big Four” accounting organizations and the largest professional services network in the world by revenue and number of professionals. EY offers many technical roles in the areas of auditing, tax, consulting, and technology. Interviews for technical profiles can be challenging, but with the right preparation, you can increase your chances of success.

This article provides a list of popular EY technical interview questions and answers that have been asked in many technical profiles at the company. Read the complete article to gain a better understanding of what to expect in the interview.

1. Difference between Structured Programming and Object Oriented Programming

Structured Programming  

Object-Oriented Programming

It is a subset of procedural programming.  It relies on the concept of objects that contain data and code. 
Programs are divided into small programs or functions.  Programs are divided into objects or entities.  
It is all about facilitating the creation of programs with readable code and reusable components.   It is all about creating objects that usually contain both functions and data.  
Its main aim is to improve and increase the quality, clarity, and development time of computer programs.   Its main aim is to improve and increase both the quality and productivity of system analysis and design.  
It simply focuses on functions and processes that usually work on data.   It simply focuses on representing both the structure and behavior of the information system into tiny or small modules that generally combine data and process both.

2. Difference between comparing String using == and .equals() method in Java
Both the equals() method and the == operator are used to compare two objects in Java. == is an operator and equals() is method. But the == operator compares the reference or memory location of objects in a heap, whether they point to the same location or not.

3. Garbage Collection in Java
Garbage collection in Java is the process by which Java programs perform automatic memory management. Java programs compile to bytecode that can be run on a Java Virtual Machine, or JVM for short. When Java programs run on the JVM, objects are created on the heap, which is a portion of memory dedicated to the program. Eventually, some objects will no longer be needed. The garbage collector finds these unused objects and deletes them to free up memory.

4. What is Java String Pool?
A Java String Pool is a place in heap memory where all the strings defined in the program are stored. A separate place in a stack is there where the variable storing the string is stored.

5. What are Packages in Java?
Package in Java is a mechanism to encapsulate a group of classes, sub-packages, and interfaces. Packages are used for:

Preventing naming conflicts. For example, there can be two classes with the name Employee in two packages, college.staff.cse.Employee and
Making searching/locating and usage of classes, interfaces, enumerations, and annotations easier

6. What is the Wrapper class in Java?
A Wrapper class in Java is a class whose object wraps or contains primitive data types. When we create an object to a wrapper class, it contains a field and in this field, we can store primitive data types. In other words, we can wrap a primitive value into a wrapper class object. 

7. Difference between Instance Variable and Local Variable

Instance Variable 

Local Variable 

They are defined in class but outside the body of methods.   They are defined as a type of variable declared within programming blocks or subroutines. 
These variables are created when an object is instantiated and are accessible to all constructors, methods, or blocks in class.  These variables are created when a block, method or constructor is started and the variable will be destroyed once it exits the block, method, or constructor.
These variables are destroyed when the object is destroyed.   These variables are destroyed when the constructor or method is exited.
It can be accessed throughout the class.   Its access is limited to the method in which it is declared.
They are used to reserving memory for data that the class needs and that too for the lifetime of the object. They are used to decreasing dependencies between components I.e., the complexity of code is decreased.

8. Deep, Shallow and Lazy Copy in Java
Deep Copy 

  • Whenever we need own copy not to use default implementation we call it as deep copy, whenever we need deep copy of the object we need to implement according to our need.
  • So for deep copy we need to ensure all the member class also implement the Cloneable interface and override the clone() method of the object class.

Shallow Copy 

  • Whenever we use default implementation of clone method we get shallow copy of object means it creates new instance and copies all the field of object to that new instance and returns it as object type, we need to explicitly cast it back to our original object. This is shallow copy of the object.
  • clone() method of the object class support shallow copy of the object. If the object contains primitive as well as non primitive or reference type variable in shallow copy, the cloned object also refers to the same object to which the original object refers as only the object references gets copied and not the referred objects themselves.

Lazy Copy 
A lazy copy can be defined as a combination of both shallow copy and deep copy. The mechanism follows a simple approach – at the initial state, shallow copy approach is used. A counter is also used to keep a track on how many objects share the data. When the program wants to modify the original object, it checks whether the object is shared or not. If the object is shared, then the deep copy mechanism is initiated.

9. String vs StringBuilder vs StringBuffer in Java



Store of a sequence of characters.             Provides functionality to work with the strings.
It is immutable. It is mutable (can be modified and other string operations could be performed on them.)
No thread operations in a string.                                                            It is thread-safe (two threads can’t call the methods of StringBuffer simultaneously) 

10. What is JDBC? 
JDBC or Java Database Connectivity is a Java API to connect and execute the query with the database. It is a specification from Sun microsystems that provides a standard abstraction(API or Protocol) for java applications to communicate with various databases. It provides the language with java database connectivity standards. It is used to write programs required to access databases. JDBC, along with the database driver, can access databases and spreadsheets.

11. Difference between RDBMS and DBMS



DBMS stores data as file. RDBMS stores data in tabular form.
Data elements need to access individually. Multiple data elements can be accessed at the same time.
No relationship between data. Data is stored in the form of tables which are related to each other.
Normalization is not present. Normalization is present.
DBMS does not support distributed database. RDBMS supports distributed database.
It stores data in either a navigational or hierarchical form. It uses a tabular structure where the headers are the column names, and the rows contain corresponding values.

12. Difference between DELETE and TRUNCATE

The DELETE command is used to delete specified rows(one or more). While this command is used to delete all the rows from a table.
It is a DML(Data Manipulation Language) command. While it is a DDL(Data Definition Language) command.
There may be a WHERE clause in the DELETE command in order to filter the records. While there may not be WHERE clause in the TRUNCATE command.
In the DELETE command, a tuple is locked before removing it. While in this command, the data page is locked before removing the table data.
The DELETE statement removes rows one at a time and records an entry in the transaction log for each deleted row. TRUNCATE TABLE removes the data by deallocating the data pages used to store the table data and records only the page deallocations in the transaction log.
DELETE command is slower than TRUNCATE command. While the TRUNCATE command is faster than the DELETE command.

13. What is an entity-relationship model?
The Entity Relationship Diagram explains the relationship among the entities present in the database. ER models are used to model real-world objects like a person, a car, or a company and the relation between these real-world objects. In short, the ER Diagram is the structural format of the database. 

14. What is normalization and what are the different types of normalization?
Normalization is the process of minimizing redundancy from a relation or set of relations. Redundancy in relation may cause insertion, deletion, and update anomalies. So, it helps to minimize the redundancy in relations. Normal forms are used to eliminate or reduce redundancy in database tables.

Important Points Regarding Normal Forms in DBMS

  • First Normal Form (1NF): This is the most basic level of normalization. In 1NF, each table cell should contain only a single value, and each column should have a unique name. The first normal form helps to eliminate duplicate data and simplify queries.
  • Second Normal Form (2NF): 2NF eliminates redundant data by requiring that each non-key attribute be dependent on the primary key. This means that each column should be directly related to the primary key, and not to other columns.
  • Third Normal Form (3NF): 3NF builds on 2NF by requiring that all non-key attributes are independent of each other. This means that each column should be directly related to the primary key, and not to any other columns in the same table.
  • Boyce-Codd Normal Form (BCNF): BCNF is a stricter form of 3NF that ensures that each determinant in a table is a candidate key. In other words, BCNF ensures that each non-key attribute is dependent only on the candidate key.
  • Fourth Normal Form (4NF): 4NF is a further refinement of BCNF that ensures that a table does not contain any multi-valued dependencies.
  • Fifth Normal Form (5NF): 5NF is the highest level of normalization and involves decomposing a table into smaller tables to remove data redundancy and improve data integrity.

15. Difference Between Two-Tier And Three-Tier database architecture

Two-Tier Database Architecture Three-Tier Database Architecture
It is a Client-Server Architecture. It is a Web-based application.
In two-tier, the application logic is either buried inside the user interface on the client or within the database on the server (or both). In three-tier, the application logic or process resides in the middle-tier, it is separated from the data and the user interface.
Two-tier architecture consists of two layers : Client Tier and Database (Data Tier). Three-tier architecture consists of three layers : Client Layer, Business Layer and Data Layer.
It is easy to build and maintain. It is complex to build and maintain.
Two-tier architecture runs slower. Three-tier architecture runs faster.

16. Types of Keys in Relational Model (Candidate, Super, Primary, Alternate, and Foreign)
Keys are one of the basic requirements of a relational database model. It is widely used to identify the tuples(rows) uniquely in the table. We also use keys to set up relations amongst various columns and tables of a relational database.

Different Types of Keys in the Relational Model

  1. Candidate Key :The minimal set of attributes that can uniquely identify a tuple is known as a candidate key. For Example, STUD_NO in STUDENT relation. 
  2. Primary Key: There can be more than one candidate key in relation out of which one can be chosen as the primary key. For Example, STUD_NO, as well as STUD_PHONE, are candidate keys for relation STUDENT but STUD_NO can be chosen as the primary key (only one out of many candidate keys).
  3. Super Key:The set of attributes that can uniquely identify a tuple is known as Super Key. For Example, STUD_NO, (STUD_NO, STUD_NAME), etc. A super key is a group of single or multiple keys that identifies rows in a table. It supports NULL values.
  4. Alternate Key: The candidate key other than the primary key is called an alternate key.
  5. Foreign Key: If an attribute can only take the values which are present as values of some other attribute, it will be a foreign key to the attribute to which it refers. The relation which is being referenced is called referenced relation and the corresponding attribute is called referenced attribute the relation which refers to the referenced relation is called referencing relation and the corresponding attribute is called referencing attribute. The referenced attribute of the referenced relation should be the primary key to it.
  6. Composite Key: Sometimes, a table might not have a single column/attribute that uniquely identifies all the records of a table. To uniquely identify rows of a table, a combination of two or more columns/attributes can be used. It still can give duplicate values in rare cases. So, we need to find the optimal set of attributes that can uniquely identify rows in a table.

17. What is Denormalization?
Denormalization is a database optimization technique in which we add redundant data to one or more tables. This can help us avoid costly joins in a relational database. Note that denormalization does not mean ‘reversing normalization’ or ‘not to normalize’. It is an optimization technique that is applied after normalization.

18. What is the difference between CHAR and VARCHAR?



CHAR datatype is used to store character strings of fixed length VARCHAR datatype is used to store character strings of variable length
In CHAR, If the length of the string is less than set or fixed-length then it is padded with extra memory space. In VARCHAR, If the length of the string is less than the set or fixed-length then it will store as it is without padded with extra memory spaces.
CHAR stands for “Character” VARCHAR stands for “Variable Character”
Storage size of CHAR datatypes is equal to n bytes i.e. set length The storage size of the VARCHAR datatype is equal to the actual length of the entered string in bytes.
We should use the CHAR datatype when we expect the data values in a column are of the same length. We should use the VARCHAR datatype when we expect the data values in a column are of variable length.

19. What is BCNF in the DBMS?

 BCNF is the Boyce Codd Normal Form which is stricter than the 3NF.

  • Any table is said to have in the BCNF if it satisfies the following 2 conditions:
  • A table is in the 3NF.
  • For each of the functional dependencies X->Y that exists, X is the super key of a table.

20. What are the differences between SQL and PL/SQL? 



SQL is a query execution or commanding language

PL/SQL is a complete programming language

SQL is a data-oriented language.

PL/SQL is a procedural language

SQL is very declarative in nature.

PL/SQL has a procedural nature.

It is used for manipulating data.

It is used for creating applications.

We can execute one statement at a time in SQL

We can execute blocks of statements in PL/SQL

SQL tells databases, what to do?

PL/SQL tells databases how to do.

21. What is the view in SQL? 
Views in SQL are a kind of virtual table. A view also has rows and columns as they are on a real table in the database. We can create a view by selecting fields from one or more tables present in the database. A View can either have all the rows of a table or specific rows based on certain conditions. 

The CREATE VIEW statement of SQL is used for creating views. 

Basic Syntax: 

CREATE VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE condition;

view_name: Name for the View
table_name: Name of the table
condition: Condition to select rows

22. What is a trigger?
The trigger is a statement that a system executes automatically when there is any modification to the database. In a trigger, we first specify when the trigger is to be executed and then the action to be performed when the trigger executes. Triggers are used to specify certain integrity constraints and referential constraints that cannot be specified using the constraint mechanism of SQL.

23. Difference between DDL and DML in DBMS

It stands for Data Definition Language. It stands for Data Manipulation Language.
It is used to create database schema and can be used to define some constraints as well. It is used to add, retrieve or update the data.
It basically defines the column (Attributes) of the table. It add or updates the row of the table. These rows are called tuple.
It doesn’t have any further classification. It is further classified into Procedural and Non-Procedural DML.
Basic command present in DDL are CREATE, DROP, RENAME, ALTER etc. BASIC command present in DML are UPDATE, INSERT, MERGE etc.

24. How to find Nth highest salary from a table?
Structured Query Language is a computer language that we use to interact with a relational database. Finding Nth highest salary in a table is the most common question asked in interviews. Here is a way to do this task using the dense_rank() function. 
Consider the following table:


  emp_name VARCHAR(50),
  emp_salary DECIMAL(10,2)

Let’s insert some random data with a random name and then we will look at how to calculate the nth highest emp_salary.



  emp_name VARCHAR(50),

  emp_salary DECIMAL(10,2)


INSERT INTO emp (emp_name, emp_salary) VALUES

(‘Shubham Thakur’, 50000.00),

(‘Aman Chopra’, 60000.50),

(‘Naveen Tulasi’, 75000.75),

(‘Bhavika uppala’, 45000.25),

(‘Nishant jain’, 80000.00);



  SELECT emp_name, emp_salary, DENSE_RANK() OVER (ORDER BY emp_salary DESC) AS r

  FROM emp

) AS subquery

WHERE r = 3;

  1. To find the 2nd highest sal set n = 2
  2. To find the 3rd highest sal set n = 3 and so on.

Let’s check to find 3rd highest salary:


25. What are SQL comments?
Comments are used to explain sections of SQL statements or to prevent SQL statements from being executed. As is any programming language comments matter a lot in SQL also. In this set, we will learn about writing comments in any SQL snippet.

Comments can be written in the following three formats:

  1. Single-line comments
  2. Multi-line comments
  3. In-line comments

26. What is a kernel?
A kernel is the central component of an operating system that manages the operations of computers and hardware. It basically manages operations of memory and CPU time. It is a core component of an operating system. Kernel acts as a bridge between applications and data processing performed at the hardware level using inter-process communication and system calls.

27. What is multitasking?
Multitasking is a logical extension of a multiprogramming system that supports multiple programs to run concurrently. In multitasking, more than one task is executed at the same time. In this technique, the multiple tasks, also known as processes, share common processing resources such as a CPU.

28. What is the difference between process and thread?



Process means any program is in execution. Thread means a segment of a process.
The process is less efficient in terms of communication. Thread is more efficient in terms of communication.
The process is isolated. Threads share memory.
The process is called heavyweight the process. Thread is called lightweight process.
Process switching uses, another process interface in operating system. Thread switching does not require to call an operating system and cause an interrupt to the kernel.

29. Difference between Multithreading and Multitasking?



Multiple threads are executing at the same time at the same or different part of the program. Several programs are executed concurrently.
CPU switches between multiple threads. CPU switches between multiple tasks and processes.
 It is the process of a lightweight part.  It is a heavyweight process.
It is a feature of the process.  It is a feature of the OS.
Multi-threading is sharing of computing resources among threads of a single process. Multitasking is sharing of computing resources(CPU, memory, devices, etc.) among processes.

30. What is a deadlock? 
Deadlock is a situation when two or more processes wait for each other to finish and none of them ever finish.  Consider an example when two trains are coming toward each other on the same track and there is only one track, none of the trains can move once they are in front of each other.

31. What is a VPN? How It Works
VPN stands for the Virtual Private Network. A virtual private network (VPN) is a technology that creates a safe and encrypted connection over a less secure network, such as the Internet. A Virtual Private Network is a way to extend a private network using a public network such as the Internet. 

32. What is the difference between Bluetooth and wifi? 

Bluetooth Wifi
Bluetooth has no full form. While Wifi stands for Wireless Fidelity.
It requires a Bluetooth adapter on all devices for connectivity. Whereas it requires a wireless adapter Bluetooth for all devices and a wireless router for connectivity.
Bluetooth consumes low power. while it consumes high power.
The security of BlueTooth is less in comparison to the number of wifi. While it provides better security than BlueTooth.
Bluetooth is less flexible means these limited users are supported. Whereas wifi supports a large number of users.

33. What is a Firewall?
A firewall is a network security device, either hardware or software-based, which monitors all incoming and outgoing traffic and based on a defined set of security rules it accepts, rejects or drops that specific traffic.

34. HTTPS full form, Advantages and Disadvantages of HTTPS
HTTPS stands for Hyper Text Transfer Protocol Secure. HTTP Secure (HTTPS), could be a combination of the Hypertext Transfer Protocol with the SSL/TLS convention to supply encrypted communication and secure distinguishing proof of a arranged web server. 

Advantages of HTTPS:

  • Secures your information in-transit.
  • Help you boost income per client.

Disadvantages of HTTPS:

  • A web ask with HTTPS is slower which regularly comes about in moderate page stacking.
  • Pages with HTTPS can never be cached could be a shared cache.

35. Types of Network Topology
In Computer Network ,there are various ways through which different components are connected to one another. Network Topology is the way that defines the structure, and how these components are connected to each other.

Types of Network Topology

The arrangement of a network that comprises nodes and connecting lines via sender and receiver is referred to as Network Topology. The various network topologies are:

  • Point to Point Topology: Point-to-Point Topology is a type of topology that works on the functionality of the sender and receiver. It is the simplest communication between two nodes, in which one is the sender and the other one is the receiver. Point-to-Point provides high bandwidth.
  • Mesh Topology: In a mesh topology, every device is connected to another device via a particular channel. In Mesh Topology, the protocols used are AHCP (Ad Hoc Configuration Protocols), DHCP (Dynamic Host Configuration Protocol), etc
  • Star Topology: In Star Topology, all the devices are connected to a single hub through a cable. This hub is the central node and all other nodes are connected to the central node.
  • Bus Topology: Bus Topology is a network type in which every computer and network device is connected to a single cable. It is bi-directional. It is a multi-point connection and a non-robust topology because if the backbone fails the topology crashes.
  • Ring Topology: A  Ring Topology, it forms a ring connecting devices with exactly two neighboring devices.
  • Tree Topology: This topology is the variation of the Star topology. This topology has a hierarchical flow of data. In Tree Topology, protocols like DHCP and SAC (Standard Automatic Configuration ) are used.
  • Hybrid Topology: This topological technology is the combination of all the various types of topologies we have studied above. Hybrid Topology is used when the nodes are free to take any form.

P.S: To check the EY (Ernst & Young) Experiences and other asked question go through the attached link

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads