TCS Interview Questions

TCS Interview Questions

TCS (Tata Consultancy Service) Limited is an Indian multinational company which deals in consultancy service and Information technology. It is headquartered in Mumbai, India. It is a part of the Tata group and operates in 46 countries.

TCS is one of the largest Indian company by market capitalization and one of the most trusted Indian brands worldwide. It alone generates 70% of the dividends of its parent company Tata Sons.

Recently, Tata Sons decided to sell stocks of TCS worth $1.25 billion in a bulk deal. In 2015, TCS is ranked 64th overall in the Forbes World’s Most Innovative Companies ranking, making it both the highest-ranked IT services company and the top Indian company.

TCS is the world’s 2nd largest IT services provider. In 2017, TCS is ranked 10th on the Fortune India 500 list. In April 2018, TCS became the first Indian IT company to breach $100 billion market capitalization.

Recruitment Process

TCS conducts generally 3 rounds to select fresher as Software Developer in their organization.

Aptitude test
Technical interview
HR interview

The recruitment drive starts with a written test followed by a one on one interview. They may also conduct a group discussion for some students. Sometimes they waive the written test for students above aggregate of 75, and they were allowed to appear directly for the interview without a written test.

In the technical round, fresher candidates are generally asked questions on their final project and a single technology in which they are trained.

Academic Criteria
65 percent or above in B.Tech, Class X and XII.

No backlogs at the time of interview

TCS Technical Interview Questions

1) Explain the functionality of linked list.

A linked list consists of two parts: information and the link. In the single connected listening, the beginning of the list is marked by a unique pointer named start. This pointer does point to the first element of the list and the link part of each node consists of an arrow looking to the next node, but the last node of the list has null pointer identifying the previous node. With the help of start pointer, the linked list can be traversed easily.

2) 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.

3) What is inheritance?
In, Object-Oriented Programming, inheritance is a mechanism based on classes.

Inheritance refers to inhering the data members and properties of a parent class to a child class. A class which is derived from another level is often called as a sub-class or a child class, and the type from which the child class is obtained is known as super-class or parent class.

4) What is the way of inheriting variable of one class to any other class?

//Base Class
class A
public int a;
//Derived Class
class B : A

5) What is Polymorphism?
Polymorphism is a concept in OOPS which means having many forms. In simple words, it means that different actions will be performed in different instances. Polymorphism is of two types:

Method overloading
Operator overloading
6) What are the different types of inheritance?
Types of Inheritance:

Single inheritance
Multiple Inheritance
Multi-level Inheritance
Multi-path Inheritance
Hierarchical Inheritance
Hybrid Inheritance

7) What is the difference between classes and interface?
The differences between classes and interfaces are listed below:

A class can be instantiated by creating its object, whereas interfaces cannot be instantiated as all the methods in the interface are abstract and do not perform any action, so there is no use of instantiating an interface.
A class is declared using class keyword whereas an interface is declared using interface keyword.
The members of the class can have access specifier such as public, protected, and private but members of the interface can not have the access specifier, all the members of the interface is declared as public because the interface is used to derive another class. There will be no use to access specifies inside the members of an interface.
The methods inside the class are defined to perform some actions on the fields declared in the class whereas interface lacks in asserting in areas, the ways in an interface are purely abstract.
A class can implement any number of the interface but can only extend one superclass. Whereas interface can reach any number of interfaces but cannot perform any interface.
A class can have a constructor defined inside the class to declare the fields inside the class, whereas interface doesn’t have any constructor defined because there are no fields to be initialized.

8) What is software development life-cycle?
Software development life-cycle is steps involved in the life cycle of software development phase. Generally, it is followed by the development team which develops the software in the organization. It consists of a clear explanation of developing and maintaining the software.
Learn more

9) 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.

10) What are loops?
Loops are used to execute block of statement several times in a program depending upon the conditional statement. The basic structure of a circuit is given above in the diagram. For each successful execution of the loop, the conditional statement should be checked. If the conditional statement is true, then the circuit will be executed. If the conditional statement is false, then the course will be terminated.

11) 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.
Learn more

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.

12) List different advantages of DBMS
Improved data sharing.

The list of several advantages of DataBase Management System:

Improved data security.
Better data integration.
Minimized data inconsistency.
Improved data access.
Improved decision making.
Increased end-user productivity.

13) What is Database Management System?
A DataBase Management System is a software system used for creating and managing databases. DBMS make it possible for the end user to build and maintain databases. DBMS provides an interface between the end user/application and the databases.

14) What is database Schema?
The formal definition of the database schema is a set of formulas (sentences) called integrity constraints imposed on a database.

15) What are the conditional statements?
The conditional statements can alternatively be called as conditional expression also. Conditional comments are the set of rules which were executed if a particular condition is true. It is often referred to an if-then statement because if the state is true, then the statement is executed.

16) What is the difference between the foreign key and reference key?
Reference Key is the primary key that is referenced in the other table (linked via the other tables Foreign Key). Foreign Key is how you connect the second table to the primary tables Primary Key (or Reference Key).

17) What is the difference and similarity between C and C++?
C++ has classes whereas C did not have classes.

C does not support function overloading. In C, for input or output, we use functions like gets(), puts(), scanf(), printf(), etc

C does not support exception handling.

18) The structural difference between bitmap and b-tree index?

It is made of branch nodes and leaf nodes. Branch nodes hold prefix key value along with the link to the leaf node and the leaf nodes contain the indexed value and rowed.


It consists merely of bits for every single distinct value. It uses a string of bits to locate rows in a table quickly. It is used to index low cardinality columns.

19) What is the difference between a Clustered index and non-clustered index?
Clustered Index

Only one per table
Faster to read than non clustered as data is physically stored in index order
Non-Clustered Index

Can be used lot of times per table
Quicker for insert and update operations than a clustered index
20) Diffrentiate between socket and session?
Socket is the Combination of IP address and Port Number (in pairs)

The session is a Logical Connectivity between the source and destination.

21) What is an array?
An array is a collection of similar elements. For an array, the necessary condition is that the data type of all the elements in the array must be same. The declaration of an array in C++ is as follows:

int a[10];

This defines an array whose name is a and has ten elements from index 0-9

22) Given an array of 1s and 0s arrange the 1s together and 0s together in a single scan of the array. Optimize the boundary conditions.


void main()
int A[10]={‘0′,’1′,’0′,’1′,’0′,’0′,’0′,’1′,’0′,’1′,’0′,’0’};
int x=0,y=A.length-1;
else if(A[y])
if(A[x] && !A[y])//here we are checking that stating index is having 1 and last index having 0 than swap values

23) Define Data Abstraction. What are their importance?
Abstraction is process of recognizing and focusing on essential characteristics of a situation or object and leaving/filtering out the unwanted components of that situation or object.

Abstraction is the basis for software development. It’s through this concept we define the essential aspects of a system. The process of identifying and designing the ideas for a given system is called Modeling ( objectmodeling).

Three levels of data abstraction are:

Logical level: Information stored in the database. e.g., Database administrator
Physical level: Where data is stored physically in the database.
View level: End users always work on view level. If any amendment is made it may be saved by another name.

24) Write a function to swap two numbers without using a temporary variable.
void swap(int &i, int &j)

25) Memory Allocation in C/C++
The calloc() function allocates a memory area; the length will be the product of its parameters (it has two settings). calloc fills the memory with ZERO’s and returns a pointer to the first byte. If that fails to locate enough space, it returns a NULL pointer.

A malloc() function allocates a memory area; length will be the value entered as parameter. (it has one parameter). It does not initialize memory area

The free() function is used to free the allocated memory(allocated through the calloc and malloc), in other words, this used release the allocated memory

new also used to allocate memory on the heap and initialize the memory using constructor

delete also used release memory allocated by new operator

26) Write output of the program?
int i=10;
Answer= 10 12 12

27) 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

28) 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 )


29) Write a program in C to swap two numbers without help of a third variable.
* C++ program to swap two numbers without using a temporary variable
using namespace std;

/* Function for swapping the values */
void swap(int &a, int &b)
b = a + b;
a = b – a;
b = b – a;
int main()
int a, b;

cout << “Enter two numbers to be swapped : “; cin >> a >> b;
swap(a, b);
cout << “The two numbers after swapping become :” << endl;
cout << “Value of a : ” << a << endl;
cout << “Value of b : ” << b << endl;

30) What will be output of the following code?
// file name:

class Complex {
private double re, im;

public Complex(double re, double it) { = re; = im;  


// Driver class to test the Complex level
public class Main {
public static void main(String[] args) {
Complex c1 = new Complex(10, 15);

31) Find the output of the following program.
public class Prg {
public static void main(String args[]){
System.out.print(“A” + “B” + ‘A’);

32) What will be the output of following program ?
public class Prg {
public static void main(String args[]){
System.out.print(‘A’ + ‘B’);

33)What will be output of following program?
public class Prg {
public static void main(String[] args) {
char [] str={‘i’,’n’,’c’,’l’,’u’,’d’,’e’,’h’,’e’,’l’,’p’};

34) What will be output of following program?
public class pg {
public static void main(String[] args) {

35) What will be output of following program?
class Test2 {
static void main(String[] args)
byte x = 12;
byte y = 13;
byte result = x + y;

36) What will be output of following program?
union test {
int x;
char arr[8];
int y;
} u;
int main()
printf(“%u”, sizeof(u));
return 0;

TCS HR Interview Questions

1) Tell us something about yourself.
My name is Abhinav. I belong to Delhi. I was born in my native place and brought up in Delhi. I am a person who likes to explore new areas and meet new people. Coming to my academics, I have passed my B.Tech from GNIOT, Greater Noida with 64%. I have secured 72% in Class XII and 8.2 CGPA in Class X. In my family, I have a father, mother, grandfather & grandmother and me. I had a work experience of x months in Javatpoint at Noida as a content writer and had gained a lot of knowledge about various languages.

2) Do you wish to change your domain? If yes, why?
I want to work in an organization where I can develop the skill set gained from my Educational background as well as develop skills which will benefit throughout my career as regarding this job, this job is entirely connected with my domain of expertise, and also it helps me to enhance my communication skills which have been on my to-do list. So I want to get associated with such a big organization and also improve skill sets that I have always been wanting to upgrade.

3) Describe an experience of yours wherein you were asked to do something which you didn’t like to do and how you handled it?
This is a typical question which tests your presence of mind and your communication skills. Gather any instance from your life and speak on that.
For your reference, a sample answer is provided. Your answer will be different from this one, but it might be of some help.
I have many life instances where I had to perform tasks which I did not like performing but as these tasks were mandatory hence backing off was not an option I could afford. One such memory I would like to share was from my 9th grade when we had to study Sanskrit as our school did not have option between Hindi and Sanskrit after class 9th so initially I did not care about this subject but when I started researching it I found that this subject is quite complicated and also I realized that I was not all good at remembering things, hence this subject became a difficult task for me but as I told backing off was not an option so I decided to take help from my parents, friends and other reliable sources and worked hard throughout the remaining time and at last the hard work paid off though I did not score excellent marks I achieved marks which I could not have believed I could score a few months back.

4) What are your expectations from the company?
Though this answer is objective and can be different for different persons but remember be positive in your thoughts and do not say many things about the company which gives the interviewer an illusion that you are exaggerating.

In short, be realistic and precise.

I have from a long time wanted to work with an IT company which treats its employees in the best way it can. I have always wanted to work with an organization which provides a very comfortable and home like work environment and when it comes to TCS I find that both the requirements are fulfilled. Even requirements I can hardly imagine are met, most importantly I get the opportunity to learn and enhance my skill set to become a better professional in the future.

5) Will you be comfortable relocating?
Remember this answer requires a clear-cut reply and wants to know as the company might provide time to time travel hence do not try to be good and if you are not able to change places tell them explicitly if they have any positions for that kind of post they will consider you. Also, refer to the sample answer given below.

Yes, as part of growing up I used to travel a lot as my father is an ex-serviceman hence occasionally he used to be posted throughout the country. Though I would prefer my city as it helps me live with people, I care about, but at the same time, I am ok with relocating.

6) What is it like to live in Delhi (your state)?
You can tell unique things about your states; this may consist of things which you might or want to improve, as a said before stick to being realistic.

Delhi is one of the busiest cities in India and though I do not have any knowledge of towns outside India hope it will also be the most active of all. Delhi like Mumbai never sleeps and in Delhi, as we know have lots of places to wander and explore. Also being central to many states and the Capital of India it is the center of attraction for many, and hence due to constant migration, we find a variety of people residing in Delhi. Also, Delhi has all kinds of markets, and also it has hospitals and facilities which are top notch and can be compared to best across the globe. Hence, living in Delhi is like a dream come true.

7) Tell me something about the most memorable day of your life?
By this question, the interviewer wants to check whether you can cope with on-the-spot situations, take some time gather your thoughts and speak up.

The most memorable day of my life would without any second thought be the day when I passed my graduation. That day I felt like now I can get a respectable job lead an independent life and slowly and steadily I have turned from a dependent boy to independent man. I am now mature enough to take my life decisions and decide what is right for me and what is not. That day I realized why my grandfathers and old people are so nostalgic and have so many memories associated with the Independence of our country and such small word independence could have such massive meaning attached to it.

8) What are your strengths?
Never tell strengths which you cannot prove on the spot. And speak only the forces that are true.

In my opinion, I am a team player I have always loved working as a team, performing for the betterment of the team has ever made me proud and getting to handle captaincy or leadership of my colleagues has always been the work I always loved.

Also, things that are hard to get I love getting them, though it sounds bit confusing to understand so let me elaborate with an instance, After my graduation I had not acquired skills required to get an excellent job through my communication skills were ok but I really lacked in technical part, and it was easy for me to take nonprofessional job also they had an attractive pay scale and it was difficult for me to learn programming skills and become good in coding but I decided to get things the hard way and work till I succeed and thereafter I worked on technical domain and here I am .So hard work eventually pays off.

9) What are your weaknesses?
Though this is a tricky question but doesn’t be the bait, i.e., the interviewer wants to know your weakness but tell him weakness such that they are also in some way your strengths.

Though it is difficult to see your weakness yourself as we all know the general human tendency is to shift the blame and never take the responsibility for some wrongdoing. But to be honest, I find that when I want to achieve something, I work hard to get that though it might not be worth it to work so hard for the happiness that I get after attaining I work hard, so in the meantime I miss out on another event concurrently happening.

10) Why should we hire you?
A quite typical question and needs to be answered sensibly.

The requirement for this job completely matches my skill set, as a candidate I have experience working in this domain which might be beneficial for the organization as well as me. Also, I am a quick learner and a team player so the organization won`t have to spend much time and resources on me. Even when I work, I work for the maximum benefit of the organization. Moreover, I would gain exposure to the industry which will be very beneficial to my career.

11) Is there anything which makes you different from other candidates?
Again…Be realistic

Yes, there are lots of things which distinguish me as an individual. Every individual is different. But if you ask about positive qualities in me, then I would say I am a team player, quick learner and have some leadership qualities. Though these thoughts are objective to individual and can be known better when you know me as an individual.

12) What are your views on demonetization?
This is a significant topic of discussion, and I have a lot of things to say, but considering the short duration of this interview I would like to summarize this like:

It was a very significant decision I would say, but not that great on the implementation part.
The government should have taken a stand on so many people died during the initial period.
The objective was not met entirely as not many people having black money were caught.
The GDP of our country had increased.
All in all, there are many positives and negatives in this action hence to reach a conclusion would not do justice.
13) Tell me about your daily routine?
Just describe your routine.

Nowadays, I have quite a hectic schedule, and I have long been reaching out for a holiday or break, but as you ask I would describe my routine as:

I wake up at 0700hours. I perform all my daily chores and get ready to leave for office at about 0800 hours. I commute by metro, and then I reach my office at an estimated time of 0930 hours. I work there till 1300 hours and then we have a half an hour break, after the break, we get back to work, and I have a Java class from 1530 to 1700, and after completing the course, I work for about 90 minutes, and at 1830 hours I depart for home. Again my house is 90 minutes ride in metro, and by 2000 hours I reach home and watch a great movie and by the time the film is finished I am off to sleep and the day is finished and next day again back to work.

14) Mention any five qualities that a person should have for this profile?
Depends on the job.

15) Speak on any topic of your interest for at least 5 minutes.
You have to speak on any topic.

16) Describe the experience of visiting any place during your vacations.
You need to describe any experience.

17) Do you have any prior work experience? If so tell us about your last job and why you left it.
You can tell about your work experience, and why left it but don’t give any negative answer as they have a negative impact. Answer like for growth, for a better opportunity, to enhance your skill set further.

18) What are your hobbies?
You can tell your hobbies. You must prepare for questions from your hobbies.

19) What quality do you think a leader should have?
There are many qualities that a leader should have but to name a few, a leader should be able to coordinate a team, he should have excellent understanding of people and their behavior at different points of time, he should be able to find people he can depend on, he should be able to be distinguished in a crowd of people, he should be able to instruct a group of people, he should be dominant and many more are there.
Learn more

20) Have you applied anywhere before applying here? How many job offers have you received before this?

Additional Reading

Leave a Comment

Your email address will not be published. Required fields are marked *