logo
Infosys Recruitment

About Infosys


Infosys Limited is an Indian multinational technology company that specializes in business consulting, information technology, and outsourcing services. Founded in 1981 by seven engineers—N. R. Narayana Murthy, Nandan Nilekani, N. S. Raghavan, S. Gopalakrishnan, S. D. Shibulal, K. Dinesh, and Ashok Arora—in Pune, India, with an initial capital of just $250, the company has grown into a global leader in digital services and consulting. It is headquartered in Bengaluru, often referred to as India's Silicon Valley, after relocating there in 1983.

Infosys pioneered the Global Delivery Model, which revolutionized offshore outsourcing by leveraging India's skilled workforce and cost advantages to deliver high-quality IT services worldwide. Over the years, it has expanded its offerings to include next-generation digital solutions such as artificial intelligence, cloud computing, data analytics, and blockchain, helping clients in over 50 countries navigate their digital transformation. The company serves a wide range of industries, including finance, healthcare, manufacturing, retail, and energy.

As of early 2025, Infosys employs over 300,000 people globally, with a significant portion based in India. It operates numerous development centers and sales offices worldwide, with a strong presence in North America (generating over 60% of its revenue), Europe, and Asia-Pacific. The company is publicly traded on the Bombay Stock Exchange (BSE), National Stock Exchange (NSE) in India, and the New York Stock Exchange (NYSE) in the U.S., where it was the first Indian company to list American Depositary Receipts (ADRs) in 1999.

Infosys has achieved significant milestones, including reaching a market capitalization of $100 billion in 2021, making it one of India’s most valuable companies. It is currently the second-largest Indian IT firm by revenue, trailing only Tata Consultancy Services (TCS). The company is also recognized for its commitment to sustainability and corporate governance, having been named one of the World’s Most Ethical Companies by Ethisphere multiple times, including in 2025.

Led by CEO Salil Parekh since 2018, Infosys continues to innovate with offerings like Infosys Topaz (an AI-first platform) and Infosys Cobalt (a cloud-focused solution). Despite its success, the company has faced challenges, including allegations of visa misuse and tax issues in the U.S., which it has settled, and occasional workforce controversies, such as recent layoffs of trainees reported in 2025. Nonetheless, Infosys remains a key player in the global IT landscape, known for its technical expertise, client-centric approach, and contributions to India’s emergence as a technology powerhouse.



Infosys Recruitment Process :


The Infosys recruitment process is a structured, multi-stage evaluation designed to identify candidates with strong technical skills, problem-solving abilities, and cultural fit for the company. While the process can vary slightly depending on the role (e.g., freshers, experienced professionals, or specialized positions like Digital Specialist Engineer or Specialist Programmer), it generally follows a consistent framework. Below is an overview of the typical Infosys recruitment process as of 2025, based on its standard practices and recent trends.


1. Eligibility Criteria :

Before applying, candidates must meet Infosys’ academic and professional requirements:

  • For Freshers: Minimum 60% marks in Class 10 and 12, and 65% (or equivalent CGPA) in graduation (e.g., B.Tech, B.E., M.Tech, MCA, or M.Sc. in relevant fields like Computer Science or IT). No active backlogs are allowed, and a gap of more than 2 years in education is typically not permitted.
  • For Experienced Professionals: Relevant work experience, technical expertise, and domain-specific skills are assessed, with requirements varying by role.
  • Candidates must also be willing to relocate and work across different technologies.


2. Application Process :

  • Candidates apply through the official Infosys careers portal (infosys.com/careers), campus placement drives, or off-campus initiatives like HackWithInfy or InfyTQ certification programs.
  • A detailed resume highlighting academic achievements, skills, certifications, and projects (for freshers) or professional experience (for laterals) is required.
  • For off-campus drives, registration is followed by a confirmation email with test details from the Infosys Talent Acquisition team.


3. Online Assessment :

The first major step is an online test, which evaluates candidates’ aptitude and technical skills. This test is adaptive in 2025, meaning the difficulty adjusts based on performance. It typically includes:

  • Quantitative Aptitude: 10-15 questions, 25-35 minutes. Topics include time-speed-distance, permutations, probability, algebra, and number series.
  • Logical Reasoning: 15 questions, 25 minutes. Covers data interpretation, syllogisms, coding-decoding, and puzzles.
  • Verbal Ability: 20 questions, 20 minutes. Tests reading comprehension, grammar, vocabulary, and sentence correction.
  • Technical Sections (for some roles) :
    • Pseudo-code (5 questions, 10 minutes) on data structures, algorithms, and basic programming (C, C++, etc.).
    • Coding (2-3 questions, 60 minutes) for roles like Specialist Programmer (SP) or Digital Specialist Engineer (DSE), ranging from easy (basic logic) to hard (dynamic programming or greedy algorithms).
  • Duration: Around 95-100 minutes total, with sectional time limits and cutoffs.
  • Key Notes: No negative marking, but accuracy and speed are critical. The test is proctored online, requiring a stable internet connection and a compatible device (Google Chrome recommended).


4. Technical Interview :

Candidates who clear the online test proceed to the technical interview, which assesses domain knowledge and practical skills:

  • Duration: 30-60 minutes, conducted virtually or in-person.
  • Focus Areas :
    • Programming languages (e.g., Java, Python, C++), data structures, algorithms, and problem-solving.
    • Questions based on the candidate’s resume, projects, or internships (e.g., “Explain your approach to this project”).
    • For experienced candidates, expect deeper questions on past work, system design, or specific technologies (e.g., cloud, AI/ML).
  • Coding: Candidates may be asked to solve problems live or explain logic on a whiteboard/shared screen.
  •  
  • Tip: Strong fundamentals and clear communication of thought processes are key.


5. HR Interview :

The final stage evaluates personality, communication skills, and alignment with Infosys’ values:

  • Duration: 20-40 minutes.
  • Common Questions :
    • “Tell me about yourself.”
    • “Why Infosys?”
    • “What are your career goals?”
    • Behavioral questions like “Describe a challenging situation and how you handled it.”
  • Focus: Confidence, learnability, teamwork, and adaptability. Infosys emphasizes its “Navigate Your Next” motto, so showing enthusiasm for growth and technology helps.
  • For Experienced Candidates: Additional questions on past roles, leadership experience, and reasons for switching jobs may arise.


6. Offer and Onboarding :

  • Successful candidates receive an offer letter via Infosys’ internal system (a shift from email-based offers noted in recent updates). Candidates log in to check details like salary, role, and joining date.
  • Roles and Packages (2025) :
    • Systems Engineer: ~3.6-4 LPA (freshers).
    • Digital Specialist Engineer (DSE): ~6.25 LPA.
    • Specialist Programmer (SP): ~8-9 LPA.
  • Freshers undergo training at the Global Education Center in Mysuru, India, focusing on technical skills and company processes.


Additional Notes :

  • Special Programs: Initiatives like HackWithInfy (a coding competition) or InfyTQ (a certification exam) can fast-track candidates to interviews, bypassing the standard online test.
  • Fraud Alert: Infosys does not charge fees or request sensitive personal details (e.g., bank info) during recruitment.
  • Preparation Tips: Practice aptitude on platforms like PrepInsta, coding on LeetCode/HackerRank, and review Infosys’ latest tech focus (e.g., AI via Infosys Topaz, cloud via Infosys Cobalt).

This process reflects Infosys’ commitment to hiring talent that can drive digital transformation for its global clients while fostering a culture of continuous learning. For the most current details, candidates should check the official Infosys careers page, as patterns may evolve.

Infosys Interview Questions :

1 .
Explain four major OOP concepts in Java.

Object-Oriented Programming (OOP) in Java is based on four major principles:

1. Encapsulation

Encapsulation is the process of wrapping data (variables) and methods (functions) into a single unit (class). It restricts direct access to some of the object's components and protects the data from unintended modifications.

Example :
class BankAccount {
    private double balance;  // Private variable (cannot be accessed directly)

    // Constructor
    public BankAccount(double initialBalance) {
        this.balance = initialBalance;
    }

    // Public getter method to access private data
    public double getBalance() {
        return balance;
    }

    // Public setter method to modify private data
    public void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
        }
    }
}
Key Benefits :
  • Data hiding

  • Control over data access

  • Increases security


2. Inheritance

Inheritance allows a class (child class) to acquire the properties and behaviors of another class (parent class). This promotes code reusability and hierarchical relationships.

Example :
// Parent class
class Animal {
    void makeSound() {
        System.out.println("Animal makes a sound");
    }
}

// Child class (inherits from Animal)
class Dog extends Animal {
    void bark() {
        System.out.println("Dog barks");
    }
}

public class Main {
    public static void main(String[] args) {
        Dog myDog = new Dog();
        myDog.makeSound();  // Inherited method
        myDog.bark();       // Own method
    }
}
Key Benefits :
  • Code reusability

  • Reduces redundancy

  • Establishes relationships between classes


3. Polymorphism

Polymorphism means "many forms." It allows the same method to perform different behaviors based on the object that calls it. This can be achieved in two ways:

A. Method Overloading (Compile-time Polymorphism)

Same method name, different parameters.

class MathOperations {
    int add(int a, int b) {
        return a + b;
    }

    double add(double a, double b) {
        return a + b;
    }
}

public class Main {
    public static void main(String[] args) {
        MathOperations obj = new MathOperations();
        System.out.println(obj.add(5, 10));       // Calls int version
        System.out.println(obj.add(5.5, 2.3));   // Calls double version
    }
}
B. Method Overriding (Runtime Polymorphism)

Child class provides its own version of a method that exists in the parent class.

class Animal {
    void makeSound() {
        System.out.println("Animal makes a sound");
    }
}

class Cat extends Animal {
    @Override
    void makeSound() {
        System.out.println("Cat meows");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal myAnimal = new Cat();  // Polymorphic behavior
        myAnimal.makeSound();  // Calls Cat's overridden method
    }
}
Key Benefits :
  • Increases flexibility and scalability

  • Enables dynamic method execution


4. Abstraction

Abstraction hides the implementation details of an object and only shows the necessary features. It can be achieved using abstract classes or interfaces.

Example: Using Abstract Class
abstract class Vehicle {
    abstract void start(); // Abstract method (no implementation)
}

class Car extends Vehicle {
    @Override
    void start() {
        System.out.println("Car starts with a key");
    }
}

public class Main {
    public static void main(String[] args) {
        Vehicle myCar = new Car();
        myCar.start();
    }
}
Key Benefits :
  • Hides unnecessary details

  • Provides a blueprint for subclasses

  • Enhances security

Summary Table
OOP Concept Description Key Feature
Encapsulation Hides data and restricts direct access Uses private variables and public methods
Inheritance Child class acquires properties of a parent class Promotes code reusability
Polymorphism Same method behaves differently based on the object Achieved via method overloading and overriding
Abstraction Hides implementation details and shows only necessary features Implemented using abstract classes & interfaces
2 .
Distinguish between classes and interfaces in Java.
Class Interface
A class is a blueprint for the creation of objects with the same configuration for properties and methods An interface is a collection of properties and methods that helps to describe an object, but it does not provide implementation or initialization for them
A class will have abstract or concrete methods Interface will have abstract methods only. From Java 8 onwards, it supports static as well as default methods
Does not support multiple inheritance. Multiple Inheritance is supported
An interface can be implemented by a class Interface cannot be implemented by another interface, but it is possible to extend an interface
Using extends keyword, a class can be inherited from another class Interface cannot inherit a class, but it can inherit an interface
It can have all types of members(public, private or, others) Members are public by default, but you can use other access specifiers also for the interface members
3 .
Can we implement multiple inheritances in Java?

Java does not support multiple inheritance with classes to avoid ambiguity and complexity. However, it supports multiple inheritance through interfaces.

1. Why Doesn't Java Support Multiple Inheritance with Classes?

If a class were to inherit from multiple classes, there could be confusion if the parent classes had methods with the same name.

Example of Ambiguity in Multiple Inheritance:
class Parent1 {
    void show() {
        System.out.println("Parent1's show() method");
    }
}

class Parent2 {
    void show() {
        System.out.println("Parent2's show() method");
    }
}

// ERROR: Java does not support multiple inheritance
class Child extends Parent1, Parent2 {
    // Which show() method should be inherited? This creates ambiguity!
}

public class Main {
    public static void main(String[] args) {
        Child obj = new Child();
        obj.show(); // Which show() method should be called? Ambiguous!
    }
}

Java prevents this ambiguity by not allowing multiple inheritance with classes.


2. How to Achieve Multiple Inheritance in Java?

Java allows multiple inheritance using interfaces because interfaces only contain method declarations (not implementations), avoiding ambiguity.

Example: Multiple Inheritance Using Interfaces
interface Interface1 {
    void method1();
}

interface Interface2 {
    void method2();
}

// Implementing multiple interfaces
class Child implements Interface1, Interface2 {
    public void method1() {
        System.out.println("Method1 from Interface1");
    }
    
    public void method2() {
        System.out.println("Method2 from Interface2");
    }
}

public class Main {
    public static void main(String[] args) {
        Child obj = new Child();
        obj.method1(); // Calls method from Interface1
        obj.method2(); // Calls method from Interface2
    }
}

Since interfaces do not have method implementations, no ambiguity arises!


3. Default Methods in Interfaces (Java 8)

With Java 8, interfaces can have default methods (methods with implementations). If two interfaces have the same default method, we must override it in the implementing class.

Example: Handling Default Methods in Multiple Interfaces
interface A {
    default void show() {
        System.out.println("Default method from Interface A");
    }
}

interface B {
    default void show() {
        System.out.println("Default method from Interface B");
    }
}

// Resolving method conflict using override
class C implements A, B {
    public void show() {
        System.out.println("Overridden method in Class C");
    }
}

public class Main {
    public static void main(String[] args) {
        C obj = new C();
        obj.show(); // Calls overridden method in Class C
    }
}

The class must override the conflicting method to resolve ambiguity.

4 .
How method overloading is different from method overriding?
* Method overloading means methods are having the same name, but they differ either in the number of arguments or in the type of arguments. It is done during compile time, so it is known as compile-time polymorphism.

* Method overriding means the ability to define subclass and super-class methods with the same name as well as the same method signatures, here the subclass method will override the super-class method. It is performed during run time, so it is known as run-time polymorphism.
5 .
What are DDL and DML commands in SQL?
* DDL refers to Data Definition Language. DDL commands are used to define database schema i.e., to create and modify the database object structure in the database. Examples are CREATE, ALTER, DROP, TRUNCATE, etc.

* DML refers to Data Manipulation Language. DML commands are used to manipulate the data within the database. Examples are: INSERT, UPDATE, DELETE.
6 .
Differentiate between DDL and DML commands in SQL.
DDL(Data Definition Language) DML(Data Manipulation Language)
DDL is used to define database schema and also to define some constraints DML is used to manipulate the data within the database
Does not have further classification Classified into procedural and non-procedural DML
DDL statements do not use WHERE clause DML statements use WHERE clause
Examples for DDL statements are CREATE, ALTER, DROP, TRUNCATE, COMMENT, and RENAME Examples for DML statements are INSERT, UPDATE, and DELETE
7 .
Differentiate between TRUNCATE and DELETE commands in SQL.
TRUNCATE DELETE
It is used to remove all records from a database table It is used to delete specified records(one or more) from a database table
It is a Data Definition Language(DDL) command It is a Data Manipulation Language(DML) command
Faster than DELETE command Slower compared to TRUNCATE command
Cannot be applied for indexed views as it works only on tables Can be applied for indexed views
8 .
Why indexing in SQL is useful ?
A SQL index is a quick lookup table that helps to find records that are frequently searched by a user. An index is fast, small, and optimized for quick look-ups. It is useful for establishing a connection between the relational tables, searching large tables, and fast retrieval of data from a database.
9 .
Explain pointers in C++.
A variable that holds the address of another variable of the same data type can be called a pointer. Pointers can be created for any data type or user-defined datatypes like class, structure, etc. It allows variable passing by references using the address. For example:
int x = 25;
int *ptr = &x;
cout << ptr;

Here, ptr will store the address of x. That means the address of x is the ptr value.
Using *ptr, we can obtain the value stored in the address referenced by ptr(i.e., 25). *ptr is known as dereference operator.

Uses of pointers :

* To point a variable present inside the memory.
* To store addresses of dynamically allocated memory blocks.
10 .
What is meant by a null pointer?
The pointer that does not point to any memory location is called the null pointer. It implies the pointer is empty and it is not pointing to anywhere within the memory.
Example : int *pointer=NULL;

Null pointers can be used for initializing the memory location address with the pointer of the same data type.
Example : int *pointer= (int*)NULL;
11 .
Explain different levels of programming languages.
The various programming language levels are given below :

* Low-level Language : Language which is directly understood by the machine is known as the low-level language (binary language or machine language). It is difficult for a human being to directly read and do coding in this language.

* Assembly level language : This language will make use of mnemonics, which minimizes the program complexity. It is quite similar to the computer understandable machine code, but it uses words in place of numbers.

* Middle-level Language : It interacts with the abstraction layer of a computer and binds the gap between high-level and machine-level language. For example, programming languages like C and C++.

* High-level language : This is the highest level of the programming language in the technology, which has strong abstraction from the computer hardware details. That means this kind of programming language does not require hardware knowledge about computers. This programming language is simple to learn by human beings as it is in the human-understandable form. For example, Java, Perl, PHP, Python, etc.
12 .
What are the disadvantages of the Waterfall model?
* Working software is produced only at the end of the life cycle

* Not suitable for complex as well as object-oriented projects.

* Difficult to measure progress within each stage

* Not recommended for the projects where requirements are frequent that may lead to a high risk of changing. So, this model is having a high amount of risk and uncertainty.

* It is difficult to identify any business or technological bottleneck or challenges early because integration is done at the end.
13 .
What is DLL and EXE file extension?
EXE file extension is used for executable files, it recognizes the file as a program. It runs independently. An EXE creates separate memory and process space for it.

DLL stands for a dynamic link library that has functions and procedures used by other applications. This DLL can be reused by multiple applications. It will share the same memory and process space of the calling application.
14 .
Write a C++ program to check whether a number is palindrome or not.
/* A palindrome number is a number that remains same after reversing the digits. */
#include<iostream.h>
#include<conio.h>
void main()
{
    int num, n, rem, rev=0;
    clrscr();
    cout<<"Enter a number:";
    cin>>num;
    n=num;                 //Used for comparision after reversal of a number
    while(num>0)
    {
        /* In this block, we retrieve each digit from a  given number and will get the reversed number at the end stored at rev variable. */
        rem=num%10;       
        rev=(rev*10)+rem; 
        num=num/10;
    }
    if(n==rev)  //Comparing given number with reversed number
        cout<<n<<" is a palindrome.";
    else
        cout<<n<<" is not a palindrome.";
    getch();
}
15 .
Differentiate between white box and black box testing.
White box testing Black box testing
The tester will have complete knowledge about the internal working of the application. It is not necessary to know the internal working of the application.
It is done by developers and testers(QA). It is done by the end-user and also by developers and testers.
It is more time-consuming and exhaustive. It is less time-consuming and exhaustive.
Here, a tester will design test data and test cases. Testing is done based on an external or end-user perspective.
White box testing is also called an open box, glass, structural testing, clear box, or code-based testing. Black box testing is also called closed box, functional, data-driven testing.