TCS Interview Preparation and Recruitment Process


About Tata Consultancy Services (TCS)


Tata Consultancy Services (TCS) is an Indian multinational technology company specializing in information technology (IT) services and consulting. Headquartered in Mumbai, India, it is a part of the Tata Group, one of India’s largest and oldest conglomerates. Founded in 1968 by Tata Sons Limited, TCS initially provided punched card services to its sister company Tata Steel and later expanded into software development and IT services. Today, it is a global leader in the IT industry, operating in 150 locations across 50 countries.

TCS Interview Preparation

TCS offers a wide range of services, including IT infrastructure, consulting, business process outsourcing, cloud services, cybersecurity, data analytics, and digital transformation solutions. It serves various industries such as banking, financial services, healthcare, retail, manufacturing, telecommunications, and more. The company is known for its software products like TCS BaNCS (a financial services platform), Ignio (an AI-driven enterprise software), and TCS MasterCraft (an automation suite), among others.

As of the fiscal year ending March 31, 2024, TCS reported consolidated revenues of US$29.1 billion and employs over 601,000 consultants worldwide, making it one of the largest employers in the IT sector. It is the second-largest Indian company by market capitalization and became the first Indian IT firm to reach a market cap of US$200 billion in September 2021. TCS is publicly listed on the Bombay Stock Exchange (BSE) and National Stock Exchange (NSE) in India, following its initial public offering in August 2004.

The company has a strong global presence, with a reputation for innovation, sustainability, and client-centric solutions. It has been recognized as a leader in the IT services industry, consistently ranking high in customer satisfaction surveys and sustainability indices like the MSCI Global Sustainability Index and FTSE4Good Emerging Index. TCS is also known for its proactive stance on climate change and community engagement, aligning with the Tata Group’s ethos of social responsibility.


* Full Name :
TCS (Tata Consultancy Services Limited)

* Founded : 1968 by Tata Sons Limited

* Headquarters : Mumbai, Maharashtra, India

* Parent Company : Tata Group (a major Indian multinational conglomerate)

* CEO & MD (as of 2025) : K. Krithivasan

* Number of Employees : Over 600,000 (making it one of the largest employers in the IT sector globally)

* Presence : Operates in over 50 countries



TCS Recruitment Process


The recruitment process for Tata Consultancy Services (TCS) varies slightly depending on the role (e.g., freshers vs. experienced hires, TCS Ninja vs. TCS Digital) and the mode of hiring (on-campus or off-campus). However, it generally follows a structured, multi-stage approach designed to assess candidates’ technical skills, aptitude, and cultural fit. Below is an overview of the typical TCS recruitment process, focusing primarily on the widely known TCS National Qualifier Test (NQT) process for freshers, as it’s one of the most common entry points.

1. Application and Registration

  • How it Works: Candidates begin by registering on the TCS NextStep Portal (https://nextstep.tcs.com), the official platform for TCS job applications. For freshers, this often involves applying for the TCS NQT, a standardized test for entry-level roles.
  • Eligibility :
    • For freshers (e.g., TCS NQT or Ninja): Typically, candidates need a minimum of 60% or 6 CGPA in Class X, XII, and graduation (e.g., BE/B.Tech/ME/M.Tech/MCA/MSc), with no active backlogs. Age criteria are usually 18–28 years, and gaps in education (up to 24 months) are allowed with valid reasons.
    • For experienced candidates: Relevant work experience and educational qualifications aligned with the job role are required.
  • Steps: Create a profile, fill out the application form with personal, educational, and professional details, upload documents (e.g., resume, mark sheets), and select the test mode (in-center or remote).


2. Online Test (TCS NQT or Role-Specific Assessment)

  • Overview: For freshers, the TCS NQT is a key step, conducted periodically throughout the year. It’s an adaptive test (difficulty adjusts based on responses) with no negative marking.
  • Structure (as of the latest updates for 2025 batches) :
    • Foundation Section (for Ninja roles):
      • Numerical Ability: Tests math skills (e.g., arithmetic, statistics, data interpretation).
      • Verbal Ability: Assesses English proficiency (grammar, comprehension).
      • Reasoning Ability: Evaluates logical thinking and problem-solving.
    • Advanced Section (for Digital or higher roles):
      • Advanced Quantitative Ability: More complex math problems.
      • Advanced Reasoning Ability: Higher-level logical puzzles.
      • Coding: 1–2 programming questions (languages like C, C++, Java, Python allowed).
    • Duration: Approximately 90–180 minutes, depending on the role and sections.
  • For Experienced Hires: The test may be tailored to the job domain (e.g., SAP, cloud computing) and could include technical assessments instead of the NQT.
  • Outcome: Candidates who clear the test are shortlisted for interviews.


3. Interview Rounds

Shortlisted candidates face a series of interviews, typically conducted virtually or in-person, depending on the drive. The process usually includes:

  • Technical Interview :
    • Focuses on technical knowledge and problem-solving skills.
    • Questions cover programming languages (e.g., C, Java, Python), data structures, algorithms, databases, operating systems, and domain-specific topics (e.g., cloud, AI/ML for Digital roles).
    • Candidates may be asked to write code, explain projects from their resume, or solve real-time problems.
    • Duration: 20–40 minutes.
  • Managerial Interview (optional, often for higher roles):
    • Assesses leadership potential, decision-making, and alignment with TCS values.
    • May include situational or behavioral questions (e.g., “How do you handle a team conflict?”) alongside technical discussions.
    • Conducted by senior panel members.
  • HR Interview:
    • Evaluates communication skills, cultural fit, and career aspirations.
    • Common questions: “Tell me about yourself,” “Why TCS?” “Are you willing to relocate?” “What are your salary expectations?”
    • Background verification details (e.g., gaps in education) may be discussed.
    • Duration: 15–30 minutes.
  • Note: For some drives, the technical and HR interviews may be combined into a single round with multiple panelists.


4. Offer and Onboarding

  • Selection: Candidates who clear all rounds receive an offer letter via email, detailing the role (e.g., Assistant Systems Engineer for freshers), salary, location, and joining date. For NQT-based hires, results may take weeks to months, depending on the batch size.
  • Background Check: TCS conducts a thorough verification of educational credentials, previous employment, and other claims before final onboarding.
  • Joining: Freshers typically join within 3–6 months, while experienced hires may have shorter timelines. New hires receive an appointment letter outlining terms of employment.


Key Points to Note

  • TCS NQT: A gateway for freshers, valid across multiple TCS roles (Ninja, Digital, Innovator). Scores can also be used by other companies partnered with TCS iON.
  • Preparation: Practice aptitude questions, coding problems, and review core technical subjects. Mock interviews help with confidence.
  • Variations: For specialized roles (e.g., TCS Digital), the process emphasizes advanced coding and emerging technologies (AI, IoT, etc.). Walk-in drives for experienced candidates may skip the NQT and focus on interviews.

This process reflects TCS’s commitment to hiring talent that aligns with its global standards. For the most current details, candidates should refer to the TCS careers page or NextStep Portal, as patterns and timelines can evolve (e.g., the 2025 NQT pattern was recently updated).

TCS Interview Questions :

1 .
Differentiate between Compiler and Interpreter.

Interpreter

Compiler

Interpreter translates just one statement of the program at a time into machine code.

Compiler scans the entire program and translates the whole of it into machine code at once.

An interpreter takes very less time to analyze the source code. However, the overall time to execute the process is much slower.

A compiler takes a lot of time to analyze the source code. However, the overall time taken to execute the process is much faster.

An interpreter does not generate an intermediary code. Hence, an interpreter is highly efficient in terms of its memory.

A compiler always generates an intermediary object code. It will need further linking. Hence more memory is needed.

2 .
What do you know about the garbage collector?
Garbage collection in Java is the process by which Java programs perform automatic memory management. Java programs are compiled into 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.
3 .
What is a Spanning Tree?
A spanning tree can be defined as the subgraph of an undirected connected graph. It includes all the vertices along with the least possible number of edges. If any vertex is missed, it is not a spanning tree. A spanning tree is a subset of the graph that does not have cycles, and it also cannot be disconnected.

A spanning tree consists of (n-1) edges, where 'n' is the number of vertices (or nodes). Edges of the spanning tree may or may not have weights assigned to them. All the possible spanning trees created from the given graph G would have the same number of vertices, but the number of edges in the spanning tree would be equal to the number of vertices in the given graph minus 1.

A complete undirected graph can have nn-2 number of spanning trees where n is the number of vertices in the graph. Suppose, if n = 5, the number of maximum possible spanning trees would be 55-2 = 125.
4 .
What is the difference between unions and joins?
Join Union
It integrated information into new columns. It integrates data to create new rows.
It retrieves matched records from two or more tables. It combines the results of two separate select statements.
Different datatypes from relevant columns might be used. The data types of the selected relevant columns should be the same.
5 .
Define socket programming and mention the benefits and drawbacks of java sockets.
Socket programming is a type of programming that allows for communication between two devices. This type of communication is often done over a network, such as the Internet. Socket programming can be used to create a variety of applications, such as web servers, chat clients, and more.

Socket programming is a way of using the internet to connect two or more devices. This can be done through a wired connection, such as an Ethernet cable, or a wireless connection, such as Wi-Fi.

Benefits of Java Sockets :
 
* Java Sockets are used in order to allow two applications to communicate over the internet. In simple terms, they provide the ability to connect two devices and allow them to communicate with each other. There are many benefits to using Java Sockets which include: the ability to build network applications quickly, the fact that they are platform independent, and they provide a high level of security. This paper will explore each of these benefits in more depth.

* While Java sockets are not the only type of socket available to a developer, they are by far the most commonly used. The biggest reason for this is that they offer a high level of abstraction. This means that a programmer does not have to worry about the underlying communications protocol. Another advantage of using Java sockets is that they allow for the creation of reusable components.

Drawbacks of Java Sockets :

* Java sockets, like any other network protocol, have their disadvantages. For example, Java sockets are slower than other protocols because of their use of UDP. Java sockets are a useful way to send data between applications and servers, but there are some drawbacks. First, communication can be slow because Java uses TCP instead of UDP. Additionally, Java does not support synchronous communication, so data can be lost if the two applications are not responding to each other.
6 .
Define IPsec and mention its components.
IPsec is a security protocol that uses cryptographic security services to protect communications over an Internet Protocol (IP) network. IPsec uses two components to provide security: Authentication Header (AH) and Encapsulating Security Payload (ESP). AH authenticates the sender and the receiver of the data, whereas ESP encrypts the data to protect it from being read by unauthorized users.

IPsec is a protocol that provides authentication and encryption for Internet Protocol communications. It supports network-level peer authentication, data integrity, data confidentiality (encryption), and replay protection. IPsec supports transport and tunnel modes and is mandatory to implement for all IP implementations.

IPsec is a network layer protocol that provides data confidentiality, data integrity, data origin authentication, and data anti-replay service. IPsec uses cryptographic security services to protect communication over untrusted networks such as the Internet. The cryptographic algorithms and protocols used by IPsec have been designed to provide the following security services:

Confidentiality : This service ensures that data cannot be read by anyone other than authorized receivers.

Data integrity : This service ensures that transmitted data has not been altered in any way.
7 .
What is round trip time?
Round trip time is the time it takes for a data packet to make a round trip from the source to the destination and back. Round trip time is an important metric in computer networking because it can be used as a measure of network latency.

The round-trip time is measured by sending a packet, waiting for its return, and then repeating the process.
8 .
What is Ping?
Ping is a network traffic measurement tool that is used to diagnose issues with a network. It is a network tool that can be used to check whether a device is reachable. When you ping a device, you send a packet of data to it and wait for a response. If the device is not responding, it might be down or it might be busy. When you ping a device, you can use the ping command to check whether the network is working and whether the device is reachable.
9 .
List some points about SLIP.
SLIP is a computer protocol used in point-to-point serial connections. It stands for Serial Line Internet Protocol. It was once commonly used to connect personal computers via telephone lines using a modem but has been largely replaced by newer protocols such as PPP. SLIP was defined in RFC 1055.
10 .
What do you mean by subnet mask?
The subnet mask tells the computer which part of the IP address is the network part and which part is the host part. The subnet mask is used to determine whether a given IP address is on the same network as the computer that is requesting the information. If the computer requesting the information has the same subnet mask as the computer that has the information, then the computer requesting the information can assume that the information is on the same network.

Subnetting is the process of dividing a network into smaller subnets, each with its own unique IP address and subnet mask. Subnetting allows you to better control traffic flow and conserve IP addresses. It also allows you to segment your network into different security zones. For example, you could create a separate subnet for your DMZ (Demilitarized Zone) and another subnet for your internal network.
11 .
Define NAT
NAT stands for Network Address Translation. When a computer is connected to the internet, the computer’s network card needs to know how to talk to the other computers on the internet. This is done by translating the computer’s public IP address (which is easy to remember, like www.google.com) into the addresses that the internet uses (like 192.168.1.1). NAT is necessary because there are so many different networks in the world and every one of them uses a different IP address.
12 .
In a database management system, what are the two integrity rules?
Referential integrity rules and entity integrity rules are the two forms of integrity rules.

According to referential integrity requirements, if a primary key value is used as a foreign key in a child table, it cannot be changed. Let R and S be two different relations. Assume that R relates to the relation S through a set of attributes that serve as the Primary Key of S and as a Foreign Key in the relation R. The Foreign Key in a tuple in R must then be either equal to the Primary Key in a tuple in S or completely NULL.

The main key value cannot be null due to entity integrity. An attribute X of a relation R(R) cannot take null values if it is a Prime Attribute of R(R). A Prime Attribute is an attribute that is a part of a relation's Candidate Key.
13 .
What exactly are macros? What are the benefits and drawbacks?
Macros are pre-processor constants that are replaced at compile time. Thus, a macro is a section of code in a program that has been given a name. The compiler substitutes this name with the actual piece of code whenever it encounters it.

The downside of macros is that they are not function calls; they simply change the code. Similarly, they have the advantage of saving time when substituting the same values.
#include <stdio.h>
// defining macros
#define TEXT "Hello"
#define EVEN    2
#define SUMMATION     (8 + 2)
int main()
{
   printf("String: %s\n", TEXT);
   printf("First Even Number: %d\n", EVEN);
   printf("Summation: 8+2=%d\n", SUMMATION);
   return 0;
}

Any instance of the terms TEXT, EVEN and SUMMATION in the sample above will be substituted by whatever is in their body.
14 .
What is the difference between the Java Development Kit (JDK), Java Runtime Environment (JRE), and Java Virtual Machine (JVM)?
Java Virtual Machine(JVM) is an abstract machine that offers a runtime environment for Java byte-code execution. It is a specification that describes how the Java Virtual Machine works. Oracle and other companies have helped with its adoption. JRE is the name of the program that implements it.

There are JVMs for a variety of hardware and software systems (so JVM is platform-dependent). It is a runtime instance that is created when the Java class is executed. The JVM is divided into three parts: specification, implementation, and instance.

Java Runtime Environment (JRE) is an acronym for Java Runtime Environment. It is the JVM implementation. The Java Runtime Environment (JRE) is a collection of software tools for creating Java applications. It's responsible for creating the runtime environment. It is the JVM implementation. It is a real thing. It comprises a collection of libraries as well as other files that JVM uses during execution.

The term JDK stands for Java Development Kit. It's a software development environment for creating Java applets and applications. It is a real thing. It includes JRE as well as developer tools. JDK is an implementation of any of Oracle Corporation's Java Platforms, as listed below:

* Java Platform Standard Edition
* Java Platform Enterprise Edition
* Java Platform Micro Edition
15 .
Write the code to reverse a given number using Command Line Arguments.
* There is no need for a specific input line because the number is entered as a Command-line Argument.
* From the command line argument, extract the input number. This number will be of the String type.
* Convert this number to an integer and save it in the variable num.
* Create a variable called rev to record the inverse of this number.
* Now loop through num until it equals zero, i.e. (num > 0).
* At the end of each iteration, add the remainder of num to rev after multiplying it by 10. The last digit of num will be stored in rev.
* To eliminate the last digit from the num, divide it by ten.
* When the loop is finished, rev has the opposite of num.
class IB {
 
   // Function for reversing the number
   public static int revNum(int num)
   {
 
       // Variable which stores the
       // required reverse number
       int rev = 0;
 
       // Traversing the number digit by digit
       while (1) {
           
           if(num <= 0)
             break;
           // Attach the last digit of num
           // as the next digit of rev
           rev = rev * 10 + num % 10;
 
           // Drop the last digit of num
           num = num / 10;
       }
 
       // Return the resultant reverse number
       return rev;
   }
 
   public static void main(String[] args)
   {
 
       if (args.length > 0) {
 
           // Obtain the command line argument and
           // Convert it to integer type from string type
           int number = Integer.parseInt(args[0]);
 
           System.out.println(revNum(number));
       }
       else
           System.out.println("No command line arguments found.");
   }
}
16 .
What are the four basic principles of OOPS?
The four basic principles of Object-Oriented Programming System are listed below:

* Abstraction : Abstraction is a process of hiding the implementation details and showing only functionality to the user. For example, sending SMS where you type the text and send the message. You don't know the internal processing about the message delivery.

Abstraction lets you focus on what the object does instead of how it does it.

* Inheritance : Inheritance in Java is a mechanism in which one object acquires all the properties and behaviors of a parent object.

* Encapsulation : Encapsulation in Java is a process of wrapping code and data together into a single unit, for example, a capsule which is mixed of several medicines.

* Polymorphism : Polymorphism in Java is a concept by which we can perform a single action in different ways. Polymorphism is derived from 2 Greek words: poly and morphs. The word "poly" means many and "morphs" means forms. So polymorphism means many forms.
17 .
What is normalization of databases, joins, and keys?
Normalization is process of organizing data in a database efficiently. Two goals of the normalization process are: to eliminate redundant data (for example, storing the same data in more than one table) and also ensure data dependencies make sense (only storing related data in a table). These both are important as they reduce the amount of space a database consumes and ensure that data is logically stored.
18 .
Explain about Joins, Views, Normalization, Triggers?
The JOIN keyword is used in an SQL statement to query data from two or more tables, based on a relationship between specific columns in these tables.

Tables in a database are often related to each other with keys.

A view is a virtual table. A look contains rows and columns, just like a real table. The fields in a picture are fields from one or more real tables in the database.

You can add SQL functions, WHERE, and JOIN statements to a view and present the data as if the data were coming from one single table.
19 .
what is virtual function and pure virtual function?
Virtual function:- To achieve polymorphism, function in base class is declared as virtual. By state virtual, we make a base class pointer to execute the purpose of any derived class depends on the content of pointer (any acquired class address).

Pure Virtual Function:- This is the function used in base class, and its definition has to be provided in derived class, In other pure virtual function has no definition in the base is declared as :

virtual void fun()=0;  

It means that this function is not going to do anything, In case of pure virtual function derived function has to

implement a pure virtual function or redeclare it as a pure virtual function
20 .
What are WPF and WCF?
WPF/WCF application, need in .NET 3.0 Framework. These application will cover the following concepts :

WCF(Windows Communication Foundation)

* The new service orientated attributes
* The use of interfaces
* The use of callbacks
* Asynchronous delegates
* Creating the proxy

WPF( Windows Presentation Foundation )

* Styles
* Templates
* Animations
* Databinding
21 .
What are the two concepts of swapping in the context of OS? How does swapping help in better memory management?
* Swapping has been subdivided into two concepts: Swap-in and Swap-out.

* Swap-out is a technique for transferring a process from RAM to the secondary memory.

* Swap-in is a technique for removing a program from the secondary memory and reinstalling it in the main memory, also known as RAM.

* Processes can be copied from the main memory to a backing store and then copied back at regular intervals determined by the operating system. Swapping allows more processes to execute at the same time than memory allows. Swapping allows the CPU to do numerous jobs at the same time. As a result, procedures don't have to wait very long to be executed. It aids the CPU's ability to manage several tasks in a single main memory. It facilitates the creation and use of virtual memory.
22 .
What is the RR Scheduling Algorithm in OS?
The RR (round-robin) scheduling algorithm was designed with time-sharing systems in mind. The CPU scheduler goes around a circular queue, allocating CPU to each task for a time period of up to around 10 to 100 milliseconds.

It is simple and easy to implement. It is preemptive because processes are only allotted CPU for a certain amount of time. All processes get an equal share of CPU. Disadvantages include context switches, low throughput, larger waiting time, and response time.
23 .
In a software program, what is cyclomatic complexity?
The number of linearly independent paths in a code segment is measured in terms of cyclomatic complexity. It's a software statistic that shows how complex a code is. It is calculated using the program's Control Flow Graph. The nodes in the graph represent the smallest set of commands in a program, and a directed edge connects the two nodes, indicating whether the second command should be executed immediately after the first.

The directed graph inside control flow is the edge connecting two basic blocks of the program mathematically, as control may flow from first to second.

CC = E − N + P

where,

CC: cyclomatic complexity.

E: number of edges in the control flow graph

N: the number of nodes in the control flow graph

P: the number of connected elements
24 .
What do you understand by piggybacking?
Piggybacking is when you use someone else’s content to support your own argument. For example, if you’re debating an issue and you use a statistic that your opponent has used in a previous argument, you’re piggybacking. The problem with piggybacking is that it can be unfair. If your opponent is using a statistic that you don’t know about, you might not be able to refute it.

Piggybacking is a way to get benefits from services you use without actually having to use their provider. For example, if you use Gmail, you can piggyback on their email storage so that your email stays in Gmail instead of being sent to your personal email account.
25 .
What do you mean by tunnel mode in networking?
Networks are important for allowing data to flow between two or more devices. Tunnel mode in networking allows for more efficient use of networks by breaking data into smaller packets and sending them through a tunnel.
26 .
Write about the RSA algorithm in brief.
RSA is a calculation for public-key cryptography that is generally utilized in electronic business. It was created in 1977 by Ron Rivest, Adi Shamir, and Len Adleman. The calculation depends on the way that it is truly challenging to factor a huge number that is the result of two indivisible numbers. RSA is utilized in a wide assortment of utilizations, including email, record sharing, and secure correspondence.
27 .
Differentiate between AWT and Swing in java.
AWT (Abstract Windowing Toolkit) is a Java GUI toolkit that provides a set of interfaces that allow developers to create user interfaces. Swing is another Java GUI toolkit that provides a more user-friendly interface and is popular among developers who are new to Java. As you can see, AWT is more traditional and Swing is more user-friendly. It provides a rich set of features for creating graphical user interfaces (GUIs). Swing is a more recent windowing environment that was developed specifically for the Java platform.
28 .
What is slice splicing in software testing? What are its two types?
Slice splicing is a type of black box testing where the tester only has access to the inputs and outputs of the system under test. There are two types of slice splicing: full and partial. Full slice splicing gives the tester complete access to all inputs and outputs, while partial slice splicing only gives the tester access to a subset of inputs and outputs. I remember a time when I was doing black box testing and I didn't find a bug.
29 .
Give an example of a time when you didn’t find a bug in Black Box testing but discovered it in white box testing.
Black box testing is a method of testing software where the internal structure of the code being tested is not known. In this type of testing, the tester is only concerned with the inputs and outputs of the system under test. Black box testing is also known as behavioral testing. White box testing, on the other hand, is a method of testing software where the internal structure of the code being tested is known.
30 .
What is cyclomatic complexity in a software program?
Cyclomatic complexity is a measure of the number of lines of code in a program. The higher the cyclomatic complexity, the more complex the program. Software with high cyclomatic complexity is harder to read and maintain.RSA is an algorithm for public-key cryptography that is widely used in electronic commerce. RSA was created in 1977 by Ron Rivest, Adi Shamir, and Len Adleman. The algorithm is based on the fact that it is very difficult to factor a large number that is the product of two prime numbers. Give an example of a time when you didn't find a bug in black box testing but discovered it in white box testing.
31 .
What do you understand by a command-line argument in C?
Command-line arguments are important in C++. They allow programmers to specify which functions to run and how they should be executed. For example, if you type “./myprogram -arg 1”, the program will run and pass the argument “1” to the myprogram function.

When using the command line in C++, programmers need to be aware of the different types of arguments that they can pass to a program. There are three main types of arguments: positional arguments named arguments, and command-line arguments. Positional arguments are the ones that are listed on the command line. They are the ones you type in sequentially.
32 .
What are the two integrity rules in a database management system?
In a database management system, two integrity rules must be followed: the ACID rule and the Atomicity rule. The ACID rule states that any change to an object must be made atomically, which means that all the data about the object must be changed at the same time. This ensures that the database remains consistent and reliable.
33 .
What is the difference between JDK and JRE?
The Java Development Kit (JDK) is a software development environment for developing Java applications and components. Java is a general-purpose computer programming language that can be used to develop applications for various platforms including desktops, servers, mobile phones, personal digital assistants, embedded systems, game consoles, set-top boxes, and network-attached storage devices.  In contrast, the JRE is the runtime environment for Java applications. It contains a Java Virtual Machine (JVM), class libraries, and other supporting files.
34 .
What are interrupts?
Interrupts are a type of signal that can be sent to a process to indicate that an event has occurred. When an interrupt is sent to a process, the process is said to be interrupted. The process can then handle the event that has occurred.

Interrupts are signals that are sent to the CPU by hardware or software devices. These signals tell the CPU to stop what it is doing and start running a different process. Interrupts can be caused by things like a keyboard or mouse being used, or a timer running out. When an interrupt occurs, the CPU saves the state of the current process and starts running the interrupt handler.
35 .
What are the different types of inheritance?
Inheritance is the passing of property, titles, debts, rights, and obligations from one generation to the next.

There are three types of inheritance:

1. Legal inheritance : This type of inheritance is given by law and not by will. It also does not depend on any condition.

2. Testamentary inheritance : This type of inheritance can be given in a will.

3. Intestate succession : The person who dies without a will or testament has their property passed to their family members according to the rules laid out in state law.
36 .
What is the software development life cycle?
The software development life cycle (SDLC) is a framework that provides a structure for understanding the steps that are required to develop a piece of software. It is also used as a way to measure the progress of a software development project. The SDLC can be used in different ways, but it is typically divided into six different phases: requirements gathering, design, implementation, testing, deployment, and maintenance. The first step in the SDLC is requirements gathering.
37 .
What are loops?
Loops are used to repeat a block of code a given number of times or until a certain condition is met. The most common type of loop is the for loop, which is used to iterate over a sequence of values. For example, a for loop can be used to print each element in a list. Other types of loops include the while loop, which executes a block of code as long as a condition is true, and the do-while loop, which executes a block of code at least once before checking the condition.

In computer programming, a loop is a sequence of instructions that is continually repeated until a certain condition is reached. For example, a programmer might use a loop to check each character in a string to see if it is a letter or a number. Loops are often used when a program needs to repeat an action a set number of times. In some programming languages, the programmer can set the number of times the loop will run.
38 .
List the differences and similarities between C and C++?
C is a structured programming language developed by Dennis Ritchie in 1972. It was designed to allow programmers to write software that needed to be efficient and portable. C++ was developed by Bjarne Stroustrup in 1979. It is a superset of the C language and provides object-oriented programming features and a different approach to memory allocation.

The major difference between C and C++ is that C++ provides object-oriented features not available in the original version of the language, such as classes, methods, virtual functions, etc.; this allows programmers to create more robust code with data abstraction and encapsulation, which can make it easier to maintain and reuse code; while this increased level of abstraction can make it more difficult for beginners or those who don't have an understanding of these concepts.
39 .
Mention the structural difference between the bitmap and b-tree index?
A bitmap index is an indexing structure that is used on large tables with many rows. The bitmap index is a table that stores one row for each key in the table. The rows are ordered by the key value, and the column values of each row represent the number of times this key appears in the table. Bitmap indexes are used to quickly find all keys with a given value or range of values.

A B-tree index is an indexing structure that stores data sorted on one or more columns. The data may be stored internally as a B-tree, which can be searched efficiently by scanning from left to right through adjacent nodes at each level until the desired entry is found, or it may be stored as an external file in which case it can be scanned sequentially from beginning to end.
40 .
Explain memory leak in C++. How can you avoid it?
Memory leaking happens in C++ when programmers dynamically allocate memory with the new keyword or using malloc()/calloc() and then forget to deallocate it with the delete() or delete[] operators or the free() function. In C++, one of the most common causes of memory leakage is the use of the incorrect delete operator.

The delete [] operator should be used to free an array of data values, whereas the delete operator should be used to clear a single allocated memory space.

 To avoid memory leak :

* When possible, utilise smart pointers instead of manually managing memory.
* Instead of char *, use std::string. All memory management is handled internally, which is quick and well-optimized.
* Unless you're interacting with an older library, you should never use a raw pointer.
* In C++, the simplest strategy to avoid memory leaks is to have a few new/delete calls as possible at the program level — ideally NONE.
* Write all code between the new and delete keywords to allocate memory and deallocate memory.