TCS Technical Interview Questions and Answers Updated On Oct 2021
TCS Technical Interview Questions and Answers Updated On Oct 2021
9.What is an object?
Object is a software bundle of variables and related methods. Objects have state and behavior
10.What is a class?
Class is a user-defined data type in C++. It can be created to solve a particular kind of problem. After creation
the user need not know the specifics of the working of a class.
Operator overloading allows existing C++ operators to be redefined so that they work on objects of user-
defined classes. Overloaded operators are syntactic sugar for equivalent function calls. They form a pleasant
facade that doesn't add anything fundamental to the language (but they can improve understandability and
reduce maintenance costs).
26. Tell something about deadlock and how can we prevent dead lock?
In an operating system, a deadlock is a situation which occurs when a process enters a waiting state because a
resource requested by it is being held by another waiting process, which in turn is waiting for another resource.
If a process is unable to change its state indefinitely because the resources requested by it are being used by
other waiting process, then the system is said to be in a deadlock.
1. Mutual Exclusion: At least one resource must be non-shareable.[1] Only one process can use the
resource at any given instant of time.
2. Hold and Wait or Resource Holding: A process is currently holding at least one resource and
requesting additional resources which are being held by other processes.
3. No Preemption: The operating system must not de-allocate resources once they have been allocated;
they must be released by the holding process voluntarily.
4. Circular Wait: A process must be waiting for a resource which is being held by another process,
which in turn is waiting for the first process to release the resource. In general, there is a set of
waiting processes, P = {P1, P2, ..., PN}, such that P1 is waiting for a resource held by P2, P2 is
waiting for a resource held by P3 and so on till PN is waiting for a resource held by P1.[1][7]
Thus prevention of deadlock is possible by ensuring that at least one of the four conditions cannot
hold.
27. What is Insertion sort, selection sort, bubble sort( basic differences among the functionality of the
three sorts and not the exact algorithms)
29.What is data abstraction? what are the three levels of data abstraction with Example?
Abstraction is the process of recognizing and focusing on important characteristics of a situation or object
and leaving/filtering out the un-wanted characteristics of that situation or object.
Lets take a person as example and see how that person is abstracted in various situations
A doctor sees (abstracts) the person as patient. The doctor is interested in name, height, weight, age, blood
group, previous or existing diseases etc of a person
An employer sees (abstracts) a person as Employee. The employer is interested in name, age, health, degree
of study, work experience etc of a person.
Abstraction is the basis for software development. Its through abstraction we define the essential aspects of a
system. The process of identifying the abstractions for a given system is called as Modeling (or object
modeling).
Three levels of data abstraction are:
1. Physical level : how the data is stored physically and where it is stored in database.
2. Logical level : what information or data is stored in the database. eg: Database administrator
3.View level : end users work on view level. if any amendment is made it can be saved by other name.
33.Which header file should you include if you are to develop a function which can accept variable
number of arguments?
stdarg.h
35.What is debugger?
A debugger or debugging tool is a computer program that is used to test and debug other programs
36. Const char *p , char const *p What is the difference between the above two?
1) const char *p - Pointer to a Constant char ('p' isn't modifiable but the pointer is)
2) char const *p - Also pointer to a constant Char
However if you had something like:
char * const p - This declares 'p' to be a constant pointer to an char. (Char p is modifiable but the pointer
isn't)
38.Explain the difference between 'operator new' and the 'new' operator?
The difference between the two is that operator new just allocates raw memory, nothing else. The new
operator starts by using operator new to allocate memory, but then it invokes the constructor for the right type
of object, so the result is a real live object created in that memory. If that object contains any other objects
(either embedded or as base classes) those constructors as invoked as well.
42. Why should we use data ware housing and how can you extract data for analysis with example?
If you want to get information on all the techniques of designing, maintaining, building and retrieving data,
Data warehousing is the ideal method. A data warehouse is premeditated and generated for supporting the
decision making process within an organization.
Here are some of the benefits of a data warehouse:
1. With data warehousing, you can provide a common data model for different interest areas regardless
of data's source. In this way, it becomes easier to report and analyze information.
2. Many inconsistencies are identified and resolved before loading of information in data warehousing.
This makes the reporting and analyzing process simpler.
3. The best part of data warehousing is that the information is under the control of users, so that in case
the system gets purged over time, information can be easily and safely stored for longer time period.
4. Because of being different from operational systems, a data warehouse helps in retrieving data
without slowing down the operational system.
5. Data warehousing enhances the value of operational business applications and customer relationship
management systems.
6. Data warehousing also leads to proper functioning of support system applications like trend reports,
exception reports and the actual performance analyzing reports.
Data mining is a powerful new technology to extract data for analysis.
43.Explain recursive function & what is the data structures used to perform recursion?
a) A recursive function is a function which calls itself.
b) The speed of a recursive program is slower because of stack overheads. (This attribute is evident if you
run above C program.)
c) A recursive function must have recursive conditions, terminating conditions, and recursive expressions.
Stack data structure . Because of its LIFO (Last In First Out) property it remembers its caller so knows
whom to return when the function has to return. Recursion makes use of system stack for storing the return
addresses of the function calls. Every recursive function has its equivalent iterative (non-recursive) function.
Even when such equivalent iterative procedures are written, explicit stack is to be used.
46.What is an interrupt?
Interrupt is an asynchronous signal informing a program that an event has occurred. When a program
receives an interrupt signal, it takes a specified action.
Garbage collection is the systematic recovery of pooled computer storage that is being used by a program
when that program no longer needs the storage. This frees the storage for use by other programs
(or processes within a program). It also ensures that a program using increasing amounts of pooled storage
does not reach its quota (in which case it may no longer be able to function).
Garbage collection is an automatic memory management feature in many modern programming languages,
such as Java and languages in the .NET framework. Languages that use garbage collection are often
interpreted or run within a virtual machine like the JVM. In each case, the environment that runs the code is
also responsible for garbage collection.
if(item == arr[middle])
{
return(middle);
}
return(-1);
}
53.What is Cryptography?
Cryptography is the science of enabling secure communications between a sender and one or more
recipients. This is achieved by the sender scrambling a message (with a computer program and a secret key)
and leaving the recipient to unscramble the message (with the same computer program and a key, which may
or may not be the same as the sender's key).
There are two types of cryptography: Secret/Symmetric Key Cryptography and Public Key Cryptography
54.What is encryption?
Encryption is the transformation of information from readable form into some unreadable form.
55.What is decryption?
Decryption is the reverse of encryption; it's the transformation of encrypted data back into some intelligible
form.