Top 100 TCS Technical interview Questions

Are you preparing for a TCS technical interview? Then you’ve come to the right place because we’ve put together this monster resource of the best TCS Technical interview Questions and Answers that you can read and prepare for your interview.

Disclaimer: This list of the top TCS technical interview questions and answers has not been prepared by us. We have simply collated and curated the best questions and answers from the internet. We’re not associated with the TCS hiring process in any way.

List of TCS Technical interview Questions and Answers

Disadvantage in File Processing System?

  • Data redundancy & inconsistency
  • Difficult in accessing data
  • Data isolation
  • Data integrity
  • Concurrent access is not possible
  • Security Problems

Describe the three levels of data abstraction?

There are three levels of abstraction:

  • Physical level: The lowest level of abstraction describes how data are stored.
  • Logical level: The next higher level of abstraction, describes what data are stored in database and what relationship among those data.
  • View level: The highest level of abstraction describes only part of entire database.

Define the “integrity rules”

There are two Integrity rules.

  • Entity Integrity: States that Primary key cannot have NULL value?
  • Referential Integrity: States that Foreign Key can be either a NULL value or should be Primary Key value of other relation.

List out the areas in which data structures are applied extensively?

Compiler Design, Operating System, Database Management System, Statistical analysis package, Numerical Analysis, Graphics, Artificial Intelligence, Simulation

If you are using C language to implement the heterogeneous linked list, what pointer type will you use?

The heterogeneous linked list contains different data types in its nodes and we need a link, pointer to connect them. It is not possible to use ordinary pointers for this. So we go for void pointer. Void pointer is capable of storing pointer to any type as it is a generic pointer type.

What is the data structures used to perform recursion?

Stack. 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.

What is a spanning Tree?

A spanning tree is a tree associated with a network. All the nodes of the graph appear on the tree once. A minimum spanning tree is a spanning tree organized so that the total edge weight between nodes is minimized.

Whether Linked List is linear or Non-linear data structure?

According to Access strategies Linked list is a linear one. According to Storage Linked List is a Non-linear one.

What is the quickest sorting method to use?

The answer depends on what you mean by quickest. For most sorting problems, it just doesn’t matter how quick the sort is because it is done infrequently or other operations take significantly more time anyway. Even in cases in which sorting speed is of the essence, there is no one answer. It depends on not only the size and nature of the data, but also the likely order. No algorithm is best in all cases. There are three sorting methods in this author’s toolbox that are all very fast and that are useful in different situations. Those methods are quick sort, merge sort, and radix sort.

  1. The Quick Sort
    The quick sort algorithm is of the divide and conquer type. That means it works by reducing a sorting problem into several easier sorting problems and solving each of them. A dividing value is chosen from the input data, and the data is partitioned into three sets: elements that belong before the dividing value, the value itself, and elements that come after the dividing value. The partitioning is performed by exchanging elements that are in the first set but belong in the third with elements that are in the third set but belong in the first Elements that are equal to the dividing element can be put in any of the three sets the algorithm will still work properly.
  1. The Merge Sort
    The merge sort is a divide and conquer sort as well. It works by considering the data to be sorted as a sequence of already-sorted lists (in the worst case, each list is one element long). Adjacent sorted lists are merged into larger sorted lists until there is a single sorted list containing all the elements. The merge sort is good at sorting lists and other data structures that are not in arrays, and it can be used to sort things that don’t fit into memory. It also can be implemented as a stable sort.
  1. The Radix Sort
    The radix sort takes a list of integers and puts each element on a smaller list, depending on the value of its least significant byte. Then the small lists are concatenated, and the process is repeated for each more significant byte until the list is sorted. The radix sort is simpler to implement on fixed-length data such as ints.

How can I search for data in a linked list?

Unfortunately, the only way to search a linked list is with a linear search, because the only way a linked list’s members can be accessed is sequentially. Sometimes it is quicker to take the data from a linked list and store it in a different data structure so that searches can be more efficient.

What is the heap?

The heap is where malloc(), calloc(), and realloc() get memory.

Getting memory from the heap is much slower than getting it from the stack. On the other hand, the heap is much more flexible than the stack. Memory can be allocated at any time and deallocated in any order. Such memory isn’t deallocated automatically; you have to call free().

Recursive data structures are almost always implemented with memory from the heap. Strings often come from there too, especially strings that could be very long at runtime. If you can keep data in a local variable (and allocate it from the stack), your code will run faster than if you put the data on the heap. Sometimes you can use a better algorithm if you use the heap faster, or more robust, or more flexible. It’s a tradeoff.If memory is allocated from the heap, it’s available until the program ends. That’s great if you remember to deallocate it when you’re done. If you forget, it’s a problem.

A memory leak is some allocated memory that’s no longer needed but isn’t deallocated. If you have a memory leak inside a loop, you can use up all the memory on the heap and not be able to get any more. (When that happens, the allocation functions return a null pointer.) In some environments, if a program doesn’t deallocate everything it allocated, memory stays unavailable even after the program ends.

What is the easiest sorting method to use?

The answer is the standard library function qsort(). It’s the easiest sort by far for several reasons:

  • It is already written.
  • It is already debugged.
  • It has been optimized as much as possible (usually)

Void qsort(void *buf, size_t num, size_t size, int (*comp)(const void *ele1, const void *ele2));

When can you tell that a memory leak will occur?

A memory leak occurs when a program loses the ability to free a block of dynamically allocated memory.

List out the areas in which data structures are applied extensively ?

Compiler Design, Operating System, Database Management System, Statistical analysis package, Numerical Analysis, Graphics, Artificial Intelligence, Simulation

What is the data structures used to perform recursion?

Stack. 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.

Whether Linked List is linear or Non-linear data structure?

According to Access strategies Linked list is a linear one.

According to Storage Linked List is a Non-linear one

Tell how to check whether a linked list is circular ?

Create two pointers, each set to the start of the list. Update each as follows:

while (pointer1)

{
pointer1 = pointer1->next;
pointer2 = pointer2->next; if (pointer2) pointer2=pointer2->next;
if (pointer1 == pointer2)

? ? ? ? ? ? {
print (\”circular\n\”);
}
}

What is the difference between ARRAY and STACK?

STACK follows LIFO. Thus the item that is first entered would be the last removed.

In array the items can be entered or removed in any order. Basically each member access is done using index. No strict order is to be followed here to remove a particular element.

What is the difference between NULL AND VOID pointer?

NULL can be value for pointer type variables.
VOID is a type identifier which has not size.
NULL and void are not same. Example: void* ptr = NULL;

What is precision?

Precision refers the accuracy of the decimal portion of a value. Precision is the number of digits allowed after the decimal point.

What is impact of signed numbers on the memory?

Sign of the number is the first bit of the storage allocated for that number. So you get one bit less for storing the number. For example if you are storing an 8-bit number, without sign, the range is 0-255. If you decide to store sign you get 7 bits for the number plus one bit for the sign. So the range is -128 to +127.

How many parts are there in a declaration statement?

There are two main parts, variable identifier and data type and the third type is optional which type qualifier like is signed/unsigned.

Is Pointer a variable?

Yes, a pointer is a variable and can be used as an element of a structure and as an attribute of a class in some programming languages such as C++, but not Java. However, the contents of a pointer is a memory address of another location of memory, which is usually the memory address of another variable, element of a structure, or attribute of a class.

What is Data Structure?

A data structure is a group of data elements grouped together under one name. These data elements, known as members, can have different types and different lengths. Some are used to store the data of same type and some are used to store different types of data.

What is significance of  ” * ” ?

The symbol “*” tells the computer that you are declaring a pointer.
Actually it depends on context

  • In a statement like int *ptr; the ‘*’ tells that you are declaring a pointer.
  • In a statement like int i = *ptr; it tells that you want to assign value pointed to by ptr to variable i.
  • The symbol “*” is also called as Indirection Operator/ Dereferencing Operator.

Why do we Use a Multidimensional Array?

A multidimensional array can be useful to organize subgroups of data within an array. In addition to organizing data stored in elements of an array, a multidimensional array can store memory addresses of data in a pointer array and an array of pointers.

Multidimensional arrays are used to store information in a matrix form.

e.g. a railway timetable, schedule cannot be stored as a single dimensional array.
One can use a 3-D array for storing height, width and length of each room on each floor of a building.

How do you assign an address to an element of a pointer array?

We can assign a memory address to an element of a pointer array by using the address operator, which is the ampersand (&), in an assignment statement such as ptemployee[0] = &projects[2];

What method is used to place a value onto the top of a stack?

push() method, Push is the direction that data is being added to the stack. push() member method places a value onto the top of a stack.

What method removes the value from the top of a stack?

The pop() member method removes the value from the top of a stack, which is then returned by the pop() member method to the statement that calls the pop() member method.

What is a queue?

A Queue is a sequential organization of data. A queue is a first in first out type of data structure. An element is inserted at the last position and an element is always taken out from the first position.

Which process places data at the back of the queue?

Enqueue is the process that places data at the back of the queue.

What is Linked List ?

Linked List is one of the fundamental data structures. It consists of a sequence of? nodes, each containing arbitrary data fields and one or two (”links”) pointing to the next and/or previous nodes. A linked list is a self-referential datatype because it contains a pointer or link to another data of the same type. Linked lists permit insertion and removal of nodes at any point in the list in constant time, but do not allow random access.

What are the major data structures used in the following areas : RDBMS, Network data model & Hierarchical data models?

1. RDBMS Array (i.e. Array of structures)
2. Network data model Graph
3. Hierarchical data model Trees.

Difference between calloc and malloc ?

malloc: allocate n bytes
calloc: allocate m times n bytes initialized to 0

What are the different storage classes in C?

C has three types of storage: automatic, static and allocated.

  • Variable having block scope and without static specifier have automatic storage duration.
  • Variables with block scope, and with static specifier have static scope. Global variables (i.e, file scope) with or without the static specifier also have static scope.
  • Memory obtained from calls to malloc(), alloc() or realloc() belongs to allocated storage class.

Differences between C and Java?

  • JAVA is Object-Oriented while C is procedural.
  • Java is an Interpreted language while C is a compiled language.
  • C is a low-level language while JAVA is a high-level language.
  • C uses the top-down approach while JAVA uses the bottom-up approach.
  • Pointer goes backstage in JAVA while C requires explicit handling of pointers.
  • The Behind-the-scenes Memory Management with JAVA & the User-Based Memory Management in C.
  • JAVA supports Method Overloading while C does not support overloading at all.
  • Unlike C, JAVA does not support Preprocessors, & does not really them.
  • The standard Input & Output Functions–C uses the printf & scanf functions as its standard input & output while JAVA uses the System.out.print & System.in.read functions.
  • Exception Handling in JAVA and the errors & crashes in C.

In header files whether functions are declared or defined?

Functions are declared within header file. That is function prototypes exist in a header file, not function bodies. They are defined in library (lib).

What are the different storage classes in C?

There are four types of storage classes in C. They are extern, register, auto and static

What does static variable mean?

Static is an access qualifier. If a variable is declared as static inside a function, the scope is limited to the function, but it will exists for the life time of the program. Values will be persisted between successive
calls to a function

How do you print an address?

Use %p in printf to print the address.

What are macros? What are its advantages and disadvantages? 

Macros are processor directive which will be replaced at compile time.
The disadvantage with macros is that they just replace the code they are not function calls. Similarly the advantage is they can reduce time for replacing the same values.

Difference between pass by reference and pass by value? 

Pass by value just passes the value from caller to calling function so the called function cannot modify the values in caller function. But Pass by reference will pass the address to the caller function instead of value if called function requires modifying any value it can directly modify.

What is an object?

Object is a software bundle of variables and related methods. Objects have state and behavior

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.

What is the difference between class and structure?

Structure: Initially (in C) a structure was used to bundle different type of data types together to perform a particular functionality. But C++ extended the structure to contain functions also.
The major difference is that all declarations inside a structure are by default public.
Class: Class is a successor of Structure. By default all the members inside the class are private.

What is a pointer?

Pointer is a variable in a program is something with a name, the value of which can vary. The way the compiler and linker handles this is that it assigns
a specific block of memory within the computer to hold the value of that variable.

What is the difference between null and void pointer?

A Null pointer has the value 0. void pointer is a generic pointer introduced by ANSI. Generic pointer can hold the address of any data type.

What is function overloading 

Function overloading is a feature of C++ that allows us to create multiple functions with the same name, so long as they have different parameters.Consider the following function:
int Add(int nX, int nY)
{
return nX + nY;
}

What is function overloading and operator overloading?

Function overloading: C++ enables several functions of the same name to be defined, as long as these functions have different sets of parameters (at least as far as their types are concerned). This capability is called function overloading. When an overloaded function is called, the C++ compiler selects the proper function by examining the number, types and order of the arguments in the call. Function overloading is commonly used to create several functions of the same name that perform similar tasks but on different data types.

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

What is a friend function?

A friend function for a class is used in object-oriented programming to allow access to public, private, or protected data in the class from the outside.
Normally, a function that is not a member of a class cannot access such information; neither can an external class. Occasionally, such access will be advantageous for the programmer. Under these circumstances, the function or external class can be declared as a friend of the class using the friend keyword.

What do you mean by inline function?

The idea behind inline functions is to insert the code of a called function at the point where the function is called. If done carefully, this can improve the application’s performance in exchange for increased compile time and possibly (but not always) an increase in the size of the generated binary executables.

Tell me something about abstract classes?

An abstract class is a class which does not fully represent an object. Instead, it represents a broad range of different classes of objects. However, this representation extends only to the features that those classes of objects have in common. Thus, an abstract class provides only a partial description of its objects.

What is the difference between realloc() and free()?

The free subroutine frees a block of memory previously allocated by the malloc subroutine. Undefined results occur if the Pointer parameter is not a valid pointer. If the Pointer parameter is a null value, no action will occur. The realloc subroutine changes the size of the block of memory pointed to by the Pointer parameter to the number of bytes specified by the Size parameter and returns a new pointer to the block. The pointer specified by the Pointer parameter must have been created with the malloc, calloc, or realloc subroutines and not been deallocated with the free or realloc subroutines. Undefined results occur if the Pointer parameter is not a valid pointer.

What is the difference between an array and a list?

  • Array is collection of homogeneous elements. List is collection of heterogeneous elements.
  • For Array memory allocated is static and continuous. For List memory allocated is dynamic and Random
  • Array: User need not have to keep in track of next memory allocation.
  • List: User has to keep in Track of next location where memory is allocated.
  • Array uses direct access of stored members; list uses sequential access for members.

What are the differences between structures and arrays?

Arrays is a group of similar data types but Structures can be group of different data types

What is data structure?

A data structure is a way of organizing data that considers not only the items stored, but also their relationship to each other. Advance knowledge about the relationship between data items allows designing of efficient algorithms for the manipulation of data.

Can you list out the areas in which data structures are applied extensively?

  • Compiler Design,
  • Operating System,
  • Database Management System,
  • Statistical analysis package,
  • Numerical Analysis,
  • Graphics,
  • Artificial Intelligence,
  • Simulation

What are the advantages of inheritance?

It permits code reusability. Reusability saves time in program development. It encourages the reuse of proven and debugged high-quality software, thus reducing problem after a system becomes functional.

What are the two integrity rules used in DBMS?

The two types of integrity rules are referential integrity rules and entity integrity rules. Referential integrity rules dictate that a database does not contain orphan foreign key values. This means that

A primary key value cannot be modified if the value is used as a foreign key in a child table. Entity integrity dictates that the primary key value cannot be Null.

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.

Mutual Exclusion: At least one resource must be non-shareable. Only one process can use the resource at any given instant of time.

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.

No Preemption: The operating system must not de-allocate resources once they have been allocated; they must be released by the holding process voluntarily.

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.

Thus prevention of deadlock is possible by ensuring that at least one of the four conditions cannot hold.

What is Doubly link list?

A doubly linked list is a linked data structure that consists of a set of sequentially linked records called nodes. Each node contains two fields, called links, that are references to the previous and to the next node in the sequence of nodes. The beginning and ending nodes’ previous and next links, respectively, point to some kind of terminator, typically a sentinel node or null, to facilitate traversal of the list. If there is only one sentinel node, then the list is circularly linked via the sentinel node. It can be conceptualized as two singly linked lists formed from the same data items, but in opposite sequential orders.

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.

Let’s 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:

  • Physical level: how the data is stored physically and where it is stored in database.
  • Logical level: what information or data is stored in the database? eg: Database administration
  • View level: end users work on view level. if any amendment is made it can be saved by other name.

What is command line argument?

Getting the arguments from command prompt in c is known as command line arguments. In c main function has three arguments. They are:

  • Argument counter
  • Argument vector
  • Environment vector

Advantages of a macro over a function?

Macro gets to see the Compilation environment, so it can expand #defines. It is expanded by the pre-processor.

What are the different storage classes in C? 

Auto,register,static,extern

Which header file should you include if you are to develop a function which can accept variable number of arguments?

stdarg.h

What is cache memory?

Cache Memory is used by the central processing unit of a computer to reduce the average time to access memory. The cache is a smaller, faster memory which stores copies of the data from the most frequently used main memory locations. As long as most memory accesses are cached memory locations, the average latency of memory accesses will be closer to the cache latency than to the latency of main memory.

What is debugger?

A debugger or debugging tool is a computer program that is used to test and debug other programs

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)

What is Memory Alignment?  

Data structure alignment is the way data is arranged and accessed in computer memory. It consists of two separate but related issues: data alignment and data structure padding.

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.

Difference between delete and delete[]?    

The keyword delete is used to destroy the single variable memory created dynamically which is pointed by single pointer variable.

Eg: int *r=new(int)
the memory pointed by r can be deleted by delete r.
delete [] is used to destroy array of memory pointed by single pointer variable.
Eg:int *r=new(int a[10])
The memory pointed by r can be deleted by delete []r.

What is conversion constructor?    

A conversion constructor is a single-parameter constructor that is declared without the function specifier ‘explicit’. The compiler uses conversion constructors to convert objects from the type of the first parameter to the type of the conversion constructor’s class.To define implicit conversions, C++ uses conversion constructors, constructors that accept a single parameter and initialize an object to be a copy of that parameter.

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:

  • 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.
  • Many inconsistencies are identified and resolved before loading of information in data warehousing. This makes the reporting and analyzing process simpler.
  • 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.
  • Because of being different from operational systems, a data warehouse helps in retrieving data without slowing down the operational system.
  • Data warehousing enhances the value of operational business applications and customer relationship management systems.
  • 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.

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.

Differentiate between Complier and Interpreter?

An interpreter reads one instruction at a time and carries out the actions implied by that instruction. It does not perform any translation. But a compiler translates the entire instructions

What is scope of a variable?

Scope refers to the visibility of variables. It is very useful to be able to limit a variable’s scope to a single function. In other words, the variable will have a limited scope

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.

What is user defined exception in Java?

The keywords used in java application are try, catch and finally are used in implementing used-defined exceptions. This Exception class inherits all the method from Throwable class.

What is java Applet?

Applet is java program that can be embedded into HTML pages. Java applets runs on the java enables web browsers such as Mozilla and internet explorer. Applet is designed to run remotely on the client browser, so there are some restrictions on it. Applet can’t access system resources on the local computer. Applets are used to make the web site more dynamic and entertaining.

What do you know about the garbage collector?

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.

Write a Binary Search program

int binarySearch(int arr[],int size, int item)
{
int left, right, middle;
left = 0;
right = size-1;

while(left <= right)
{
middle = ((left + right)/2);

if(item == arr[middle])
{
return(middle);
}

if(item > arr[middle])
{
left = middle+1;
}
else
{
right = middle-1;
}
}

return(-1);
}

What are enumerations?

An enumeration is a data type, used to declare variable that store list of names. It is act like a database, which will store list of items in the variable. Example: enum shapes{triangle, rectangle,…

What is static identifier?

The static identifier is used for initializing only once, and the value retains during the life time of the program / application. A separate memory is allocated for ‘static’ variables. This value can be used between function calls. The default value of an uninitialized static variable is zero. A function can also be defined as a static function, which has the same scope of the static variable.

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

What is encryption?

Encryption is the transformation of information from readable form into some unreadable form.

What is decryption?

Decryption is the reverse of encryption; it’s the transformation of encrypted data back into some intelligible form.

What exactly is a digital signature?

Just as a handwritten signature is affixed to a printed letter for verification that the letter originated from its purported sender, digital signature performs the same task for an electronic message. A digital signature is an encrypted version of a message digest, attached together with a message.

Looking for more TCS Technical Interview Questions?

We hope you found this list of the top technical interview questions, asked by TCS in the last few years, quite useful. As and when we come across more such TCS technical questions, we’ll update this list.

No Responses