TCS Interview Questions
TCS stands for Tata Consultancy Services. TCS is currently the world's second-largest IT service provider. It is an Indian multinational company that particularly deals with consultancy services and information technology. The headquarters of TCS is currently situated in Mumbai, Maharashtra. It is one of the most trustable Indian brands worldwide. In 2018, TCS was ranked 11th on the Fortune India 500 list and 64th among Forbes’s Most Innovative companies all around the world (In 2015). TCS is one of the major private sector employers in India. Every year, TCS hires freshers from all over India and outside India.
This company has an employee amount of 400,875 and 31% of the total employees were women. There are TCS interview questions and answers so the aspirants can be prepared for the interview.TCS hires employees with a three-step recruiting process. This process involves an aptitude test, a technical interview, and an HR interview. TCS interview questions for experienced and freshers are almost of the same level. The placement drive starts with a written test followed by interviews and discussions. A group discussion is also organized for the assessment of general knowledge and communication skills. Below are some TCS interview questions that will help the people who are planning to get into TCS.
Best TCS Interview Questions And Answers
- Explain the four basic principles of OOPS.
- Define Inheritance.
- How is class different from an interface?
- Explain the normalization of the database, joins, and keys.
- What do you understand by loops?
- What are Joins, Views, Normalization, Triggers?
- Define Array
- What are the different types of Inheritance?
- Explain Software Development Life Cycle.
- What are the advantages of DBMS?
- Explain Database Management System.
- Explain the difference between the foreign key and the referenced key.
- Explain the structural difference between bitmap and b-tree index.
- What is Data Abstraction? Explain its importance.
- Explain the concept of Memory allocation in C/C++.
There are four basic pillars on which OOPS (Object Oriented Programming) is based. These are:
- Abstraction: Abstraction is the process of hiding the details which are not important such as the implementation details and shows only those which are useful. The user can only see the functionality and not the inside working of the system.
- Inheritance: Inheritance is the property of the object-oriented paradigm in which one or more derived class inherits some of the properties of the base class.
- Encapsulation: Encapsulation is the process of wrapping up data in a single unit.
- Polymorphism: It is a property in which a single action can be performed in different ways.
Inheritance is the process of creating new classes from the already existing classes. A coder can create a new class from one or more than one existing class taking some of their capabilities or combining all their capabilities. The already existing classes known as the parent class or the superclass and the class that is created from those parent class i.e., the new class is known as the child class or subclass. The subclass can have its own attributes and characteristics too they are not totally inherited from other classes.
Classes and interfaces are two different concepts which can be understood by the following points :
- By creating an object a class can be instantiated but the interface cannot be instantiated because all the methods in the interface do not perform any actions and are abstract that is why instantiation is not done in the case of interfaces.
- A class keyword is used to declare a class whereas an interface keyword is used to declare an interface.
- A constructor is defined inside the class to declare the fields inside the class whereas no constructor is defined inside the interface as the fields inside it cannot be initialized.
The organization of data in a database in a systematic and efficient manner is known as Normalization. There are two goals of normalization, the first one is to remove the data redundancy( removing duplicate data) and the second one is to ensure that the data dependency makes sense( only storing the data that is relevant in the tables). Both of these goals are very important because if these goals are fulfilled then the database will take less space and it will ensure that only logical data is entered in it.
Through loop, a statement or a block of statements can be executed several times. In a loop we can define the initial value from which the loop should start, the value till we want the loop to run and the increment or decrement counter. The process of the execution of the loop starts with the checking of the value that is going to be its key, we check if it is following the condition that we declared in the statement when we started it. Then the statement inside the loop is executed, the value is incremented or decremented accordingly. And then that value is checked again and the loop ends after the value falls out of the condition of the loop.
Joins: Join is a keyword used in SQL statements to operate two tables based on the relationship between given tables in the database.
Normalization: The process used for organizing data in an efficient way is known as normalization. There are several normal forms in which data is reduced for the minimization of errors. The goal of normalization is to eradicate redundant data and to make sure that data dependencies make sense.
Triggers: A trigger can be defined as an SQL procedure that is used to initiate any action in the database through SQL command.
An Array can be defined as a data type that can store more than one element of the same type. The only condition of the data type Array is that all the elements that are going to be stored in it should be the same, for example, all of them should either be integers, floats, or characters. An Array has three basic parts, the first one is the data type that the array will follow, then the name and then size is defined, the example of how to declare an array is shown below:
All the steps involved in the life cycle of the software development phase are known as the Software development life-cycle. It is generally followed by the development team that deals with the development of the software in a particular organization. The steps in the Software development life cycle clearly define the rules and regulations that should be followed to ensure the quality of the software and to efficiently and quickly complete the development process.
There are numerous advantages of DBMS :
- Improvement in data sharing
- Integration of data is much better in DBMS than other processes
- Data inconsistency gets minimized
- DBMS helps in better decision making and a clearer view of elements
- It also contributes to increasing user end productivity.
- Data access gets improved by using DBMS for managing database
Database Management System or DBMS is the system that is used to store and manage data in a systematic manner so that it can be extracted easily as per the need of its users and can be safe. The users can create the rules of their database according to their needs. In other words, DBMS can also be defined as the interface between the users and the application.
|Foreign Key||Reference key|
|The foreign key is used to connect the secondary table to the primary table.||A reference key is a primary key that is mainly used to create column level constraints.|
|It helps the database to connect two whole tables with a common constraint.||It is not applicable to the whole table.|
|Bitmap consists of bits for every particular single value.||Bitmap consists of branch nodes and leaf nodes.|
|It uses strings to locate elements of tables (rows and columns)||It helps to keep the data sorted and arranged in DBMS.|
Data Abstraction is the process of showing only the information that is relevant for the users and hiding all the other information from them. All the software is based on the basis of the concept of Data Abstraction because there are many points that are not important for the users and if they are shown on the application console then the users will only get confused. This concept helps in showing only the essential parts of the system. There are three levels of data abstraction, Logical level, Physical level, and view level. At the logical level, we have the data administrators who deal with the data stored in the database, the physical level is the level where the data is stored physically in the database, and at the last, View level resides the end user.
C/C++ uses calloc( ) function to allocate a particular amount of memory area. It comprises of two settings and the resulting length will be the product of its two parameters. Calloc works in C/C++ by filling the memory area with Zeros and then returning a pointer to the first byte. If the calloc() function fails to locate enough space it the CPU, it simply returns the NULL pointer.
The malloc( ) function is also used to allocate the memory area but its length will be the value which has been defined in the parameter. Also, memory initialization does not take place in this function.
The free( ) function is widely used to free the allocated memory once the job is done.