i
TCS
Filter interviews by
I applied via Referral and was interviewed in Feb 2022. There were 3 interview rounds.
I applied via Company Website and was interviewed in Dec 2021. There were 3 interview rounds.
JDK is a development kit, JRE is a runtime environment, and JVM is a virtual machine for executing Java code.
JDK includes JRE and development tools like javac and java
JRE includes JVM and necessary libraries to run Java applications
JVM is responsible for interpreting Java bytecode and executing it
Example: JDK 8 includes JRE 8 and development tools like javac and java
Example: JRE 8 includes JVM 8 and necessary libraries
Design patterns are reusable solutions to common software problems.
Creational patterns: Singleton, Factory, Abstract Factory, Builder, Prototype
Structural patterns: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
Behavioral patterns: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor
In my current project, I implemented object-oriented programming (OOPs) principles to design and develop a banking application.
Used encapsulation to protect sensitive customer data
Implemented inheritance to create different types of bank accounts
Utilized polymorphism to perform different operations on various account types
Applied abstraction to hide complex implementation details from users
Implemented interfaces to def
Stream API is used to perform operations on collections in a functional programming style.
Stream API provides a set of methods to perform operations on collections such as filtering, mapping, and reducing.
It allows for concise and readable code by using lambda expressions.
Stream API supports parallel processing for improved performance.
Examples: stream.filter(x -> x > 5), stream.map(x -> x * 2), stream.reduce(0, (x, y)
Dependency Injection (DI) is a design pattern used in Spring framework to manage object dependencies.
DI allows objects to be loosely coupled, making them easier to test and maintain.
In Spring, DI is achieved through inversion of control (IoC) container.
There are three types of DI in Spring: constructor injection, setter injection, and field injection.
Example: @Autowired annotation in Spring is used for DI.
DI promotes r...
Synchronization in Java is used to control access to shared resources by multiple threads.
Synchronization can be achieved using synchronized keyword or locks.
It ensures that only one thread can access the shared resource at a time.
Synchronization can be applied to methods or blocks of code.
Example: synchronized void method() { //code }
Example: synchronized(obj) { //code }
What people are saying about TCS
I applied via Campus Placement and was interviewed before Apr 2023. There were 2 interview rounds.
TCS interview questions for designations
Find the median of a subarray in a given array.
Sort the subarray and find the middle element for odd length subarrays.
For even length subarrays, find the average of the middle two elements.
Use a sliding window approach to iterate through all subarrays.
Sorting array of strings
Use Arrays.sort() method to sort the array in ascending order
Use Comparator.reverseOrder() to sort the array in descending order
Implement your own sorting algorithm if required
Get interview-ready with Top TCS Interview Questions
I applied via Naukri.com and was interviewed in Dec 2021. There was 1 interview round.
Core Java was used extensively in my project for implementing various functionalities.
Used core Java for implementing data structures and algorithms
Implemented multithreading using core Java
Used core Java for handling exceptions and error handling
Implemented various design patterns using core Java
Used core Java for implementing networking and socket programming
Web microservices were used extensively in my previous project.
We used microservices architecture to break down the monolithic application into smaller, independent services.
Each microservice was responsible for a specific business function, such as user authentication or payment processing.
We used RESTful APIs to communicate between microservices and implemented load balancing and fault tolerance.
We also used containe...
I used Spring framework in my project.
Used Spring Boot for rapid development
Implemented Spring Security for authentication and authorization
Used Spring Data JPA for database operations
Used Spring MVC for building RESTful APIs
I applied via Walk-in and was interviewed in May 2022. There was 1 interview round.
Java is a programming language while Hibernate is an ORM tool for Java.
Java is an object-oriented language used for developing applications.
Hibernate is an ORM tool that simplifies database access for Java applications.
Hibernate maps Java classes to database tables and provides a framework for querying and manipulating data.
Hibernate reduces the amount of boilerplate code needed for database access in Java applications
OOPs is a programming paradigm based on the concept of objects.
OOPs stands for Object-Oriented Programming.
It focuses on creating objects that contain both data and functions.
Encapsulation, Inheritance, and Polymorphism are the three main pillars of OOPs.
Java, C++, Python, and Ruby are some of the popular OOPs languages.
Example: A car can be an object with properties like color, model, and functions like start, stop, a
Java 8 introduced several new features including lambda expressions, streams, and functional interfaces.
Lambda expressions allow for functional programming and simplify code.
Streams provide a way to process collections of data in a declarative way.
Functional interfaces enable the use of lambda expressions and method references.
Default methods allow for adding new methods to interfaces without breaking existing implemen...
Array is a fixed size data structure while ArrayList is a dynamic size data structure in Java.
Array is a primitive data type while ArrayList is a class in Java.
Array can hold only homogeneous data types while ArrayList can hold heterogeneous data types.
Array needs to be initialized with a fixed size while ArrayList can be initialized without a size.
Array uses [] brackets to declare while ArrayList uses <> brackets to d...
Collection framework is a set of classes and interfaces that provide a way to store and manipulate groups of objects.
It includes interfaces like List, Set, and Map
It provides implementations like ArrayList, HashSet, and HashMap
It simplifies the process of storing and manipulating data
It allows for easy iteration and sorting of collections
Example: List
Example: Map
Marker interface is an interface with no methods, used to mark a class as having a certain property or behavior.
Marker interfaces are used for metadata purposes.
They are used to provide information to the compiler or runtime environment.
Examples of marker interfaces in Java include Serializable, Cloneable, and Remote.
Marker interfaces can also be used to enforce design patterns, such as the Decorator pattern.
Thread is a lightweight sub-process, a separate path of execution within a program.
Threads allow concurrent execution of two or more parts of a program.
Java provides built-in support for multithreading through the Thread class and Runnable interface.
Threads can be created by extending the Thread class or implementing the Runnable interface.
Thread.sleep() method is used to pause the execution of a thread for a specified...
JDBC is a low-level API for connecting to databases, while Hibernate is a high-level ORM framework.
JDBC requires manual coding for CRUD operations, while Hibernate provides automatic mapping of objects to database tables.
JDBC is more suitable for small-scale applications, while Hibernate is better for large-scale applications.
Hibernate provides caching and lazy loading, which improves performance, while JDBC does not h...
String buffer is synchronized while string builder is not.
String buffer is thread-safe while string builder is not.
String buffer is slower than string builder.
String builder is preferred for single-threaded operations.
Both classes are used for manipulating strings.
Example: StringBuffer sb = new StringBuffer(); StringBuilder sb = new StringBuilder();
Microservices is an architectural style that structures an application as a collection of small, independent services.
Microservices are independently deployable and scalable.
Each microservice focuses on a specific business capability.
Communication between microservices is usually done through APIs.
Microservices can be developed using different programming languages and technologies.
Examples of companies using microserv
Constructor chaining is calling one constructor from another constructor within the same class.
It allows to reuse the code of one constructor in another constructor.
It is achieved using the 'this' keyword followed by the constructor parameters.
It can be used to set default values or to initialize variables before calling another constructor.
Example: public MyClass(int x) { this(x, 0); } public MyClass(int x, int y) { t
Exception handling is a mechanism to handle runtime errors. There are two types of exceptions: checked and unchecked.
Checked exceptions are checked at compile-time and must be handled or declared in the method signature.
Unchecked exceptions are not checked at compile-time and can be handled using try-catch or thrown to the calling method.
Common exceptions include NullPointerException, ArrayIndexOutOfBoundsException, an...
HTTP servlet is a Java class that extends the capabilities of servers that host applications accessed by HTTP protocol.
HTTP servlet is a Java class that extends the capabilities of servers that host applications accessed by HTTP protocol
It is used to handle HTTP requests and responses
It provides methods to get information about the request and to send a response back to the client
It can be used to create dynamic web pa...
I applied via LinkedIn and was interviewed in Apr 2022. There were 2 interview rounds.
I applied via mail and was interviewed in May 2022. There was 1 interview round.
I applied via Referral and was interviewed in Apr 2022. There were 3 interview rounds.
List is an ordered collection of elements while Set is an unordered collection of unique elements.
List allows duplicate elements while Set does not.
List maintains the insertion order while Set does not guarantee any order.
List is implemented by ArrayList, LinkedList, etc. while Set is implemented by HashSet, TreeSet, etc.
Example: List - [1, 2, 3, 3, 4], Set - [1, 2, 3, 4]
The duration of TCS Java Developer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 174 interviews
4 Interview rounds
based on 586 reviews
Rating in categories
System Engineer
1.1L
salaries
| ₹1 L/yr - ₹9 L/yr |
IT Analyst
66.2k
salaries
| ₹5 L/yr - ₹16 L/yr |
AST Consultant
51.9k
salaries
| ₹8 L/yr - ₹25 L/yr |
Associate Consultant
30.3k
salaries
| ₹9 L/yr - ₹32 L/yr |
Assistant System Engineer
29.8k
salaries
| ₹2.2 L/yr - ₹5.8 L/yr |
Amazon
Wipro
Infosys
Accenture