Interview Questions for Infosys | Infosys Recruitment 2021 - IQCode

About Infosys

Infosys is a global IT consulting company that provides end-to-end solutions in the areas of business consulting, information technology, and outsourcing services. The company's services enable clients from various industry segments to enhance their business performance, including software development, product maintenance, and independent validation services. Founded in Pune, India in 1981 by N.R. Narayana Murthy and six other engineers with an initial capital investment of just $250, Infosys is now headquartered in Bangalore, India, and operates in over 50 countries.

Infosys' expertise covers various industries, from developing fuel-efficient smart cars, lighter and stronger passenger jets to financial inclusion services and technology solutions. Through its work, Infosys is committed to changing the world for the better.

Infosys also takes corporate social responsibility seriously and has set up the Infosys Foundation to help support the most oppressed sectors of the communities it serves.

Infosys Recruitment Process

Interview Process
The Infosys recruitment process involves a thorough interview process where candidates will be tested for technical and interpersonal skills. The process typically begins with an initial screening, followed by technical and managerial interviews. Candidates who make it through these rounds will then be invited for a final round of interviews with senior management. The recruitment process may also include additional tests or assessments depending on the role being applied for. Overall, Infosys seeks to hire candidates who have strong technical skills, excellent communication skills, the ability to work well in a team, and a passion for innovation and delivering value to clients.

Infosys Technical Interview Question: OOP Concepts in Java

Question: Can you explain the four major Object Oriented Programming (OOP) concepts in Java?

Answer: In Java, the four major OOP concepts are:

1. Encapsulation: This is the mechanism that allows data to be hidden from other classes and only accessed through methods. It is a way of protecting the data from unauthorized access. Encapsulation is achieved in Java through the use of access modifiers such as public, private, and protected.

2. Inheritance: Inheritance allows one class to inherit the properties of another class. This means that a new class can be created based on an existing class, thereby inheriting the methods and properties of the existing class. This is useful for creating a hierarchy of related classes, where each class inherits from the class above it.

3. Polymorphism: Polymorphism refers to the ability of an object to take on many forms. In Java, polymorphism can be achieved through method overloading and method overriding. Method overloading means having multiple methods with the same name but different parameters, while method overriding means providing a new implementation for an existing method in the superclass.

4. Abstraction: Abstraction refers to the ability to represent complex data types in a simplified manner. It is the process of hiding the implementation details and only exposing the necessary details to the user. Abstract classes and interfaces are used to achieve abstraction in Java.

By understanding these core OOP concepts, Java developers can create efficient and maintainable code that is easy to understand and modify.

Multiple Inheritance in Java

In Java, multiple inheritance is not supported through classes. However, it can be achieved using interfaces. A class can implement multiple interfaces, each with its own set of methods. This approach is known as interface inheritance.

Here's an example:

public interface Mammal {
   public void eat();
   public void move();

public interface MarineAnimal {
   public void swim();
   public void breathUnderwater();

public class Dolphin implements Mammal, MarineAnimal {
   public void eat() {
      // implementation
   public void move() {
      // implementation
   public void swim() {
      // implementation
   public void breathUnderwater() {
      // implementation

In the above example, `Mammal` and `MarineAnimal` are two interfaces that define their respective behaviors. The `Dolphin` class implements both interfaces and provides the implementation for their respective methods. Thus, `Dolphin` can be considered to have inherited the behaviors of both `Mammal` and `MarineAnimal`.

Method Overloading vs Method Overriding

When we talk about method overloading, we refer to the ability to have two or more methods in a class with the same name but with different parameters. This allows us to perform a similar operation with different data types or number of parameters.

On the other hand, method overriding occurs when a subclass provides its implementation of a method that is already present in the superclass. This enables us to change the behavior of the method in the subclass according to our specific needs.

While method overloading deals with multiple methods with the same name but different parameters in a single class, method overriding is when a method with the same name and parameters is present in both the superclass and the subclass.

It's important to note that method overloading is resolved at compile-time, based on the number and types of parameters passed to the method. Method overriding, on the other hand, is resolved at runtime, based on the actual type of object on which the method is called.

In summary, method overloading is used to provide multiple methods with the same name but different parameters, while method overriding is used to change the implementation of a method in a subclass that is already present in the superclass.

Differences between Classes and Interfaces in Java

Classes and interfaces are both used in Java for programming and have some similarities as well as differences. Here are some ways in which they differ:

- A class can be instantiated and its objects can be created, whereas an interface cannot be instantiated since it only defines the methods that should be implemented by a class.
- A class can have fields or variables, while an interface cannot have fields or variables. However, Java 8 introduced default and static methods in interfaces that can have fields.
- A class can extend another class or implement one or more interfaces, but an interface can only extend another interface.
- A class can be abstract or concrete, meaning it can have abstract methods that need to be implemented by the subclass or it can have fully implemented methods, respectively. Interfaces, on the other hand, can only have abstract methods.

Both classes and interfaces have their own use in Java programming and they are used depending on what is being accomplished.

Understanding DDL and DML Commands in SQL

SQL offers different types of commands for managing databases. The two most important categories of SQL commands are Data Definition Language (DDL) and Data Manipulation Language (DML) commands.

DDL Commands: DDL commands are used for creating, altering, and deleting database objects like tables, indexes, and views. Some examples of DDL commands are CREATE, ALTER, TRUNCATE, DROP, etc.

DML Commands: DML commands are used for manipulating data in the database, performing operations like inserting, updating, deleting, and retrieving data from tables. Some examples of DML commands are SELECT, INSERT, UPDATE, DELETE, etc.

It's important to understand the difference between DDL and DML commands in SQL to effectively manage your database.

Difference between TRUNCATE and DELETE commands in SQL

In SQL, both the TRUNCATE and DELETE commands are used to remove data from a table, but they function in different ways:


- Removes all rows from a table. - Resets the identity (seed) value to its original value. - Cannot be rolled back. - Executes faster than DELETE. - Cannot be used if there are foreign key constraints.


- Removes specified rows from a table based on a condition. - Does not reset the identity (seed) value. - Can be rolled back. - Executes slower than TRUNCATE. - Can be used even if there are foreign key constraints.

In summary, use TRUNCATE when you want to quickly remove all data from a table and do not have any foreign key constraints. Use DELETE when you need to selectively remove specific rows and/or have foreign key constraints.

Why is Indexing Important in SQL?

Indexing is essential in SQL because it improves query performance by making it faster and more efficient. When a table is indexed, data is stored in a way that makes it easily searchable, which means the database engine can quickly pinpoint the exact information a query is looking for without having to scan through every single record in the table.

Additionally, indexing can help to decrease the time required to execute queries, which leads to increased database performance overall. Without indexing, SQL databases can slow down and become significantly less effective as the amount of data they store grows over time.

Differences between DDL and DML Commands in SQL

SQL, or Structured Query Language, is used to manage relational databases. This language is used to perform various operations on databases, including inserting data, updating data, deleting data, creating tables, and modifying tables. SQL commands are divided into two categories: Data Definition Language (DDL) and Data Manipulation Language (DML).

DDL commands are used to define the database structure and schema, while DML commands are used to manipulate data stored within the database. In simpler terms, DDL commands are used to create or modify database objects like tables, indexes, and schemas, while DML commands are used to insert, update, or delete data from these objects.

Here is a breakdown of some of the most commonly used DDL and DML commands in SQL:

DDL Commands: - CREATE: Creates a new table, view, or schema in the database. - ALTER: Modifies an existing table, view, or schema in the database. - DROP: Deletes an existing table, view, or schema from the database. - TRUNCATE: Deletes all data from a table, while maintaining the table structure.

DML Commands: - SELECT: Retrieves data from the database. - INSERT: Inserts new data into a table. - UPDATE: Modifies existing data within a table. - DELETE: Deletes existing data from a table.

In conclusion, the main difference between DDL and DML commands is that DDL commands are used to define and modify the structure of the database objects, while DML commands are used to manipulate data stored within these objects.

Explanation of the Left and Right Outer Joins in SQL

In SQL, the Left Outer Join and the Right Outer Join are types of Joins used to combine data from two or more tables.

Left Outer Join: This join returns all the data from the left table, and the matching data from the right table. If there is no match in the right table, it returns null values.

Right Outer Join: This join returns all the data from the right table, and the matching data from the left table. If there is no match in the left table, it returns null values.

These Joins are commonly used in situations where there are missing or incomplete data in one of the tables.

What is a Stored Procedure?

A stored procedure is a set of precompiled SQL statements that are stored in a database and executed on demand. It is used to encapsulate a task that can be reused multiple times with different parameters. Stored procedures improve the performance of a database by reducing the network traffic between the application and the database. They also provide better security as they can be granted and denied access rights to different users.

Pointers in C++

In C++, a pointer is a variable that stores the memory address of another variable. This means that a pointer "points" to the memory location of a variable rather than to the variable itself.

Pointers are declared using an asterisk (*) before the variable name. For example, to declare a pointer variable called "ptr" that points to an integer, we would write:

int *ptr;

To assign the address of an existing variable to the pointer variable, we can use the address-of operator (&) followed by the name of the variable:

int num = 42;
int *ptr = #

We can also access the value of the variable being pointed to using the dereference operator (*). For example, to assign a new value to the variable being pointed to:

*ptr = 24;

Pointers can be used for various tasks, such as passing arguments by reference in a function, dynamically allocating memory, and working with arrays and strings. However, it is important to be careful when working with pointers, as incorrect usage can lead to undefined behavior and memory errors.

Understanding Null Pointers

A null pointer refers to a pointer that is not pointing to any memory location. In other words, it holds no value or address, which means it is pointing to nothing. Whenever you declare a pointer variable, it is always initialized to a null pointer by default. It is crucial to handle null pointers properly in your code to avoid unwanted behavior such as segmentation faults or program crashes.

What is SDLC (Software Development Life Cycle)?

SDLC, or Software Development Life Cycle, is a systematic approach to the development of software that encompasses the planning, design, development, testing, and maintenance phases. It is a process that developers follow to ensure that software is of high quality and meets the needs of users. The goal of SDLC is to produce high-quality software that meets the needs of the end-users, and to do so within a specified timeline and budget.

// Here's an example of a software development life cycle:
function softwareDevelopmentLifeCycle() {
  // Phase 1: Planning 
  gather requirements, define project goals and objectives

  // Phase 2: Design
  design software architecture, create project blueprint

  // Phase 3: Development
  develop software code, debug and test

  // Phase 4: Testing
  test software thoroughly, perform quality assurance checks

  // Phase 5: Deployment
  release software, monitor for performance issues

  // Phase 6: Maintenance
  fix bugs, perform updates and maintenance

Disadvantages of the Waterfall Model

The Waterfall Model has some drawbacks that make it less than ideal in certain situations. One disadvantage is its inflexibility. Once a phase is completed, it cannot be revisited, which can be problematic if errors or changes are discovered later in the project. Additionally, the linear nature of the model means that each phase must be completed before moving on to the next, which can result in long delays if a phase takes longer than expected. Another limitation is the model's lack of adaptability to changes in requirements or scope, which can make it difficult to meet evolving customer needs and expectations. Finally, the model can lead to a lack of communication and collaboration between team members and stakeholders, particularly if they are located in different geographic locations.

Explanation of Agile Model

Agile model is a software development methodology that emphasizes flexibility and collaboration among team members. The Agile approach prioritizes delivering working software frequently and welcomes changes in requirements, even in later stages of development.

In Agile Model, the development process is broken down into iterations, or sprints, which are short periods of time, typically 1-4 weeks. During each sprint, a specific set of tasks is completed, and a new version of the software is released. This allows for continuous inspection and adaptation to ensure that the software meets the customer's needs.

The Agile Model also emphasizes the importance of close communication and collaboration among all team members, including developers, testers, and customers. This helps to establish a shared understanding of the software requirements and ensures that all team members are aligned towards achieving the same goals.

The benefits of adopting Agile methodology include early and continuous delivery of software, increased team productivity, and improved customer satisfaction.

Explanation of DLL and EXE File Extensions

DLL stands for Dynamic Link Library and it is a type of file extension that contains a library of functions and codes that are utilized by different programs and applications. It allows code to be shared across multiple programs, which makes it a useful tool for software development.

EXE stands for executable and it is a file extension used for software programs that can be run or executed on a computer. It contains the program code and related resources that are needed to run the program on a computer. When an EXE file is executed, the program starts running and performs the task for which it was designed.

Both DLL and EXE files are used in software development and play an important role in the functioning of computer programs.

Understanding HTML Frames

In HTML, a frame is a container that can hold a separate HTML document. Frames are used to divide the browser window into multiple sections, where each section can load a different webpage or document. The use of frames allows for easier navigation on a website by keeping a section of the webpage constant while changing the content of another section. However, frames are used less frequently now due to their potential drawbacks such as difficulties with bookmarking and accessing individual frames.

Difference between White Box and Black Box Testing

White box testing and Black box testing are two different types of testing used in software development. The main difference lies in the testing approach and the level of knowledge about the system being tested.

  • White Box Testing: Also known as structural testing, it involves testing the internal workings or the code of the software. Testers with knowledge of the system's internal architecture and design are required for this kind of testing. The goal of white box testing is to identify defects in code that could lead to software malfunctions.
  • Black Box Testing: Also known as functional testing, it involves testing the software system from an external user's perspective. Testers do not need to have knowledge of the internal workings of the software. The goal of black box testing is to ensure the system operates as expected and meets the users' requirements.

In conclusion, white box testing checks the internal workings of the software while black box testing focuses on the external behavior of the software system.

// Example of White Box Testing public class Calculator { public int add(int a, int b) { if(a < 0 || b < 0) { throw new IllegalArgumentException("Inputs must be positive."); } return a + b; } } // Example of Black Box Testing // Assume the functionality of a calculator is known public class CalculatorTest { @Test public void testAdd() { Calculator calculator = new Calculator(); int result = calculator.add(2, 3); assertEquals(5, result); } }

Different Levels of Programming Languages

Programming languages can be classified into several levels based on their proximity to computer hardware and their level of abstraction.

1. Low-Level Languages

Low-level languages are the programming languages that are closely related to the hardware of the computer. These languages are machine-dependent and are not portable between different types of computers. Examples of low-level languages include assembly language and machine language.

2. Middle-Level Languages

Middle-level languages are a combination of low-level and high-level languages. These languages are closer in relation to the hardware as compared to high-level languages, but they are easier to use than low-level languages. These languages provide better abstraction than low-level languages, which makes them more portable. Examples of middle-level languages include C and C++.

3. High-Level Languages

High-level languages are the programming languages that are farthest from the hardware. These languages are machine-independent and are easily portable between different types of computers. High-level languages provide better abstraction, which makes development faster and less error-prone. Examples of high-level languages include Python, Java, and Ruby.

In conclusion, different levels of programming languages provide different levels of abstraction from computer hardware, which affects their portability, ease of use, and performance.

C++ Program to Check Whether a Number is Palindrome or not

using namespace std;

// Function to check if the number is a palindrome
bool isPalindrome(int num){

    int temp, remainder, reverse = 0;

    temp = num;

    // Reversing the number
    while(temp != 0){
        remainder = temp % 10;
        reverse = reverse * 10 + remainder;
        temp /= 10;

    // Checking if the reverse is equal to the original number
    if(reverse == num){
        return true;
        return false;

int main(){

    int n;

    cout << "Enter a number: ";
    cin >> n;

    // Checking if n is a palindrome
        cout << n << " is a palindrome number." << endl;
        cout << n << " is not a palindrome number." << endl;

    return 0;

The above C++ program checks if the given number is a palindrome number or not. A palindrome number is a number which when reversed, remains the same. For example, 121 is a palindrome number as its reverse is also 121, while 123 is not a palindrome number as its reverse is 321. The program takes an integer input from the user and checks if the entered number is a palindrome or not using a function named isPalindrome(num), which returns true if the number is a palindrome and false otherwise.

Infosys Interview Preparation

Preparing for a job interview at Infosys? Here are some tips to help you:

1. Research the Company

Learn about Infosys' core values, mission, and recent projects. This will show your interest in the company and help you prepare for questions specific to Infosys.

2. Review Common Interview Questions

Practice answering common interview questions such as "Tell me about yourself" and "Why do you want to work for Infosys?" Be prepared to showcase your skills and experiences that align with the company's goals.

3. Prepare Examples

Think of specific examples from your work experience that demonstrate your problem-solving skills and ability to work in a team. Use the STAR (Situation, Task, Action, Result) method to structure your responses.

4. Dress Professionally

Make a good impression by dressing professionally in business attire. This shows that you take the interview seriously and are respectful of the company.

5. Be Punctual

Arrive early for your interview and make sure you know the location of the interview. Being punctual shows that you are reliable and respectful of the interviewer's time.

6. Ask Questions

Prepare a few questions to ask the interviewer about the company or the position. This shows that you are interested in the job and have done your research.

By following these tips, you can prepare yourself for a successful interview at Infosys.

//Sample code goes here

Frequently Asked Questions

1. What is the starting salary for freshers at Infosys?

As per industry standards, the starting salary for freshers at Infosys varies depending on the role and location. However, the average salary for an entry-level software engineer at Infosys is around $72k per year. It's worth noting that Infosys provides a competitive salary and benefits package to its employees.

Is a Degree Required to Work at Infosys?

In general, Infosys does require its employees to have a degree. The specific type of degree required may vary depending on the position and level within the company. However, there are some exceptions and alternative paths that may be available for individuals who do not have a degree but possess equivalent experience and skills. It is best to check the job requirements for specific roles and consult with recruiters or hiring managers at Infosys for more information.

How to Prepare for an Infosys Technical Interview

If you are preparing for an Infosys technical interview, there are a few things you can do to increase your chances of success. First, ensure that you have a strong grasp of the foundational concepts in your field. This will help you answer basic questions more confidently and accurately.

Second, do your research on Infosys and familiarize yourself with its history, clients, and current projects. This will help you tailor your answers to fit with the company's values and objectives.

Third, practice critical thinking and problem-solving skills. Technical interviews often involve hypothetical scenarios and problem-solving questions, so be sure to practice your ability to analyze problems and come up with effective solutions.

Fourth, be prepared to discuss any relevant projects or experience you have. It's always helpful to have concrete examples to illustrate your skills and knowledge in action.

Finally, prepare some thoughtful questions to ask your interviewer. This shows that you have a genuine interest in the company and the position and can help you stand out as a candidate.

Is the Infosys Interview Easy?

Many factors determine the perceived difficulty of an interview, including an individual's skills, experience, and preparation. Therefore, it is subjective to say whether the Infosys interview is easy or difficult. However, it is advisable to research the company and position thoroughly, practice common interview questions, and dress professionally to increase the likelihood of success in any interview.

Reasons to Hire Me in Infosys

As a prospective employee of Infosys, I believe I would be a valuable asset to the company for several reasons.

Firstly, I possess a strong educational background and have gained practical experience in the field of technology, which aligns well with the focus of Infosys.

Secondly, I have a solid work ethic and am committed to providing timely and efficient solutions to problems.

Thirdly, I am a fast learner and am able to adapt to new challenges and technologies quickly.

Lastly, I possess excellent communication and interpersonal skills that enable me to work collaboratively with team members and clients alike.

Overall, I strongly believe that my qualifications and experience make me a suitable candidate for a position in Infosys, and I look forward to contributing positively to the company's success if given the opportunity.

What is the work culture like at Infosys?

Infosys is known for promoting a culture of collaboration, innovation, and inclusivity. The company encourages employees to work together in a supportive and open environment, where ideas are appreciated and everyone is valued for their unique contributions.

The work culture at Infosys is also focused on employee growth and development. The company offers various training and development opportunities for its employees, such as skill-building workshops and leadership programs.

In addition, Infosys prioritizes work-life balance for its employees and offers flexible work arrangements, including remote work options.

Overall, the work culture at Infosys is highly regarded and has contributed to the company's success as a leader in the IT industry.

What is the Infosys Interview Process Like for Experienced Professionals?

As an experienced professional, the Infosys interview process typically involves multiple rounds of interviews. The initial interview may be conducted over the phone or via video conferencing. The subsequent rounds may include in-person interviews with HR representatives, technical managers, and team members.

During these interviews, you can expect to be asked about your relevant work experience, problem-solving abilities, technical skills, and your personality as it relates to working with the team. Be sure to highlight your accomplishments, give specific examples of your work, and demonstrate your ability to adapt to new environments and challenges.

In addition, it is important to thoroughly research the company and the role you are applying for. This will show your genuine interest in the position and help you to ask thoughtful questions during the interview process.

Overall, the Infosys interview process for experienced professionals is rigorous but fair. By adequately preparing and demonstrating your skills and experience, you can increase your chances of landing the job you desire.

Reasons for Wanting to Join Infosys

There are several reasons why I am interested in joining Infosys. Firstly, I am impressed with the company's reputation as a leader in the IT industry and its commitment to delivering high-quality services to its clients. Additionally, I appreciate the company's focus on innovation and its dedication to staying on the cutting edge of technological advancements.

Another reason I want to join Infosys is the company's emphasis on employee development and growth. I am looking for a company that will invest in my professional development and provide opportunities for me to expand my skill set and take on new challenges.

Lastly, I am attracted to the diversity and inclusivity of the company's culture. As someone who values diversity and believes in creating a positive and inclusive work environment, I think Infosys would be a great fit for me.

What Makes Infosys Unique?

Infosys is renowned for its commitment to excellence in the field of information technology. The company places a strong emphasis on innovation and leveraging technology to drive growth and improve business outcomes for its clients. Infosys is also known for its strong corporate values, which include a focus on sustainability, ethical business practices, and a commitment to social responsibility. Additionally, Infosys is recognized for its global reach, with operations and clients spanning across multiple industries and geographies.

Number of Rounds in Infosys Placement

In the Infosys placement process, the number of rounds may vary depending on the position one is interviewing for. Generally, there are several rounds that include a written test, technical interview, HR interview, and sometimes a managerial round. It is advisable to prepare thoroughly for each round to increase the chances of getting the job offer.

What is InfyTQ certification?

InfyTQ certification is a program offered by Infosys, which is an online platform designed to provide training and certification to students and professionals in various technical skills such as programming, web development, data science, and machine learning. The certification is recognized and respected in the industry and helps individuals in fulfilling their career goals.

Qualifying for INFYTQ

In order to qualify for INFYTQ, you need to meet the eligibility criteria set by Infosys. These criteria include:

  1. Being a citizen of India
  2. Having completed your graduation or post-graduation
  3. Having a consistent academic record with a minimum of 60% in all courses
  4. Having no active backlogs
  5. Being proficient in at least one programming language

Once you meet these criteria, you can register for INFYTQ on the Infosys website and take the qualification test.

Additional Benefits Available for Employees at Infosys

Infosys offers various additional benefits to its employees:

1. Health and wellness benefits such as medical, dental, and vision insurance 2. Retirement benefits including a 401(k) plan and pension plan 3. Life insurance and disability insurance 4. Paid time off including vacation days, sick leave, and holidays 5. Employee assistance programs for mental health support and counseling services 6. Educational assistance for continuing education and skill-building opportunities 7. Employee discounts on various products and services

These additional benefits make Infosys a highly desirable employer and help in attracting and retaining top talent in the tech industry.

Infosys Hiring Requirements for Freshers

When hiring freshers, Infosys typically looks for candidates who possess a combination of academic qualifications and personal skills. Academic qualifications include a degree or diploma in a relevant field, such as engineering, computer science, or business.

In addition to academic qualifications, Infosys looks for personal skills such as strong communication skills, problem-solving abilities, teamwork, adaptability, and an eagerness to learn. Applicants who demonstrate proficiency in programming languages and other technical skills relevant to the IT industry will have an advantage.

It is also worth noting that Infosys values diversity and inclusion, so candidates who come from different backgrounds and have unique perspectives are encouraged to apply.

Technical Interview Guides

Here are guides for technical interviews, categorized from introductory to advanced levels.

View All

Best MCQ

As part of their written examination, numerous tech companies necessitate candidates to complete multiple-choice questions (MCQs) assessing their technical aptitude.

View MCQ's
Made with love
This website uses cookies to make IQCode work for you. By using this site, you agree to our cookie policy

Welcome Back!

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign in
Recover lost password
Or log in with

Create a Free Account

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign up
Or sign up with
By signing up, you agree to the Terms and Conditions and Privacy Policy. You also agree to receive product-related marketing emails from IQCode, which you can unsubscribe from at any time.