i
LTIMindtree
Filter interviews by
I was interviewed in Nov 2022.
Aptitude was not that tough
It includes mcqs and 2 coding questions
I am a Java enthusiast with a passion for coding and problem-solving.
I have completed my Bachelor's degree in Computer Science.
I have experience in developing web applications using Java, Spring, and Hibernate.
I am familiar with Agile methodologies and have worked in a team environment.
I am constantly learning and keeping up with the latest technologies in the Java ecosystem.
I am excited about the opportunity to learn
I applied via Naukri.com and was interviewed in Jul 2022. There were 2 interview rounds.
I applied via Campus Placement and was interviewed in Oct 2022. There were 3 interview rounds.
Aptitude tests are ability tests designed to assess your logical reasoning or mental ability .
Aptitude tests measure abilities such as :-
1) Numerical reasoning
2) verbal reasoning
3) diagrammatic reasoning
4) mechanical reasoning
I
Coding is the process of creating instructions for computers using programming languages, coding language examples are c ,c ++ , java etc
C , c++ are procedural language, java is object oriented programming language
I was interviewed in Jan 2025.
A sequence was provided: 4181, 2684, 1597, 987, 610.
first 2 are given and write code for other value calculation using java 8
The second question required writing a reverse of a palindrome using both Java 8 streams. I was able to successfully write both and clear the first round.
Java 17 introduces sealed classes to restrict inheritance and improve code maintainability.
Sealed classes are declared using the 'sealed' keyword followed by the permitted subclasses.
Subclasses of a sealed class must be either final or sealed themselves.
Errors may occur when trying to extend a sealed class with a non-permitted subclass.
Implementation of 'notify me if item is back in stock' feature in an ecommerce application
Create a database table to store user notifications for out-of-stock items
Implement a service to check item availability and send notifications to subscribed users
Provide a user interface for users to subscribe to notifications for specific items
I was interviewed in Dec 2024.
API Gateway implementation is a centralized service that routes, manages, and secures API calls.
API Gateway acts as a single entry point for all API calls
It can handle authentication, rate limiting, caching, and request/response transformations
Examples include AWS API Gateway, Apigee, Kong
Circuit breaker is a design pattern used to prevent system overload by temporarily stopping requests to a failing service.
Circuit breaker monitors requests to a service and opens when the service fails repeatedly.
It helps prevent cascading failures and allows the system to gracefully degrade.
Once the circuit breaker is open, it can periodically check if the service has recovered before allowing requests again.
Deadlock is a situation in which two or more processes are unable to proceed because each is waiting for the other to release a resource.
Avoid circular wait by ensuring processes request resources in the same order.
Prevent hold and wait by requiring processes to request all needed resources at once.
Implement a timeout mechanism to break potential deadlocks.
Use resource allocation graphs to detect and prevent deadlocks.
...
The equals() method is used to compare the contents of two objects for equality.
The equals() method is a method of the Object class in Java.
It is used to compare the contents of two objects for equality.
The default implementation of equals() in the Object class compares memory addresses, so it is often overridden in custom classes to compare content.
Example: String class overrides equals() method to compare the content
MongoDB was integrated in the application by using the official Java driver and configuring connection settings.
Used the official MongoDB Java driver to interact with the database
Configured connection settings such as host, port, database name, and authentication credentials
Implemented CRUD operations using MongoDB Java driver methods
Utilized MongoDB aggregation framework for complex queries
Hibernate is an open-source Java framework that simplifies the development of database interactions in Java applications.
Hibernate is an Object-Relational Mapping (ORM) tool that maps Java objects to database tables.
It provides a way to perform database operations using Java objects instead of writing SQL queries.
Hibernate handles the mapping of Java classes to database tables and vice versa, as well as the generation ...
Runnable is a functional interface with a single run() method, while Callable is a functional interface with a single call() method.
Runnable is used for tasks that do not return a result, while Callable is used for tasks that return a result.
Callable can throw checked exceptions, while Runnable cannot.
Callable returns a Future object, which can be used to retrieve the result of the computation.
Example: Runnable - execu...
The Callable interface in Java returns a Future object.
Callable interface returns a Future object which represents the result of a computation that may not be available yet.
The Future object can be used to retrieve the result of the computation, check if it is done, or cancel the computation.
Example: Callable<Integer> task = () -> { return 42; }
Monitor application health using metrics, logs, alerts, and performance monitoring tools.
Use monitoring tools like Prometheus, Grafana, or New Relic to track key metrics such as CPU usage, memory usage, response times, and error rates.
Implement logging to record important events and errors in your application. Use tools like ELK stack (Elasticsearch, Logstash, Kibana) for log analysis.
Set up alerts to notify you of any...
To call an API in a Microservice architecture, use HTTP requests or messaging protocols like gRPC.
Use HTTP requests to communicate between microservices
Implement RESTful APIs for easy integration
Leverage messaging protocols like gRPC for efficient communication
Consider using service discovery mechanisms for dynamic API calls
Profiles in Java are configurations that define the capabilities of a Java platform.
Profiles allow developers to target specific types of devices or applications.
They help in reducing the size of the Java runtime environment by including only the necessary APIs.
Examples include Java SE Embedded Profile for embedded devices and Java SE Compact Profile for resource-constrained environments.
OpenFeign is a declarative web service client used to simplify the process of making HTTP requests in microservices architecture.
OpenFeign allows developers to define RESTful web services as interfaces and automatically generate the necessary implementation code.
It integrates seamlessly with Spring Cloud and other microservices frameworks to facilitate communication between services.
OpenFeign supports features like loa...
Service registry and discovery involves registering services and allowing clients to discover and connect to them.
Implement a service registry where services can register themselves with metadata
Use a service discovery mechanism for clients to find and connect to services
Implement health checks to ensure services are available and healthy
Use a load balancer to distribute traffic among multiple instances of a service
Spring Boot Actuators are built-in tools that provide insight into the running application.
Actuators expose various endpoints to monitor and manage the application.
They can be used to check health, metrics, environment details, and more.
Examples include /actuator/health, /actuator/metrics, and /actuator/env.
Synchronous communication is blocking, while asynchronous communication is non-blocking.
Synchronous communication waits for a response before continuing, while asynchronous communication does not wait.
Examples of synchronous communication include traditional function calls, while examples of asynchronous communication include callbacks and promises.
Synchronous communication can lead to performance issues if there are d...
Synchronized keyword is used in Java to control access to shared resources by multiple threads.
Synchronized keyword can be applied to methods or code blocks to ensure only one thread can access the synchronized code at a time.
It prevents race conditions and ensures thread safety by creating a lock on the object or class.
Example: synchronized void myMethod() { // synchronized code block }
Excessive use of synchronized blocks and methods in Java can lead to performance issues and potential deadlocks.
Decreased performance due to increased contention for locks
Potential deadlocks if multiple threads are waiting for each other to release locks
Increased complexity and difficulty in debugging and maintaining code
Use synchronized sparingly and consider alternatives like ConcurrentHashMap or Lock interface
The number of threads needed for an application can be determined based on factors like the type of tasks, hardware resources, and performance requirements.
Consider the type of tasks your application needs to perform - CPU-bound tasks may benefit from more threads, while I/O-bound tasks may not.
Take into account the hardware resources available - more threads may be beneficial on a multi-core processor compared to a si...
Executor framework is a framework in Java that provides a way to manage and execute tasks asynchronously.
Allows for managing thread execution in a more efficient way
Provides a way to decouple task submission from task execution
Supports various types of executors like ThreadPoolExecutor and ScheduledExecutorService
Helps in handling tasks concurrently and asynchronously
BlockingQueue is an interface in Java that represents a queue which supports operations that wait for the queue to become non-empty when retrieving an element and wait for space to become available in the queue when adding an element.
BlockingQueue is part of the java.util.concurrent package.
It is used for implementing producer-consumer scenarios where multiple threads are involved.
Methods like put() and take() are used...
Seeking new challenges and opportunities for growth.
Desire for career advancement
Looking for new challenges
Seeking better work-life balance
Company restructuring or downsizing
Relocation to a new area
I applied via Naukri.com and was interviewed in Dec 2024. There was 1 interview round.
Java 8 introduced lambda expressions, Java 11 added local-variable syntax for lambda parameters, and Java 17 included sealed classes and pattern matching.
Java 8 introduced lambda expressions for functional programming.
Java 11 added local-variable syntax for lambda parameters to simplify code.
Java 17 included sealed classes to restrict inheritance and pattern matching for instanceof checks and type casts.
Count the number of words in a given string.
Split the string by spaces and count the number of resulting elements.
Handle edge cases like multiple spaces or empty strings.
Consider punctuation marks as part of words unless specified otherwise.
I applied via Walk-in and was interviewed in Nov 2024. There was 1 interview round.
Use Streams to remove duplicates and retain only even numbers from an array.
Convert the array to a stream using Arrays.stream()
Use distinct() to remove duplicates
Filter out odd numbers using filter()
Collect the result using collect(Collectors.toList())
Static methods can be accessed without creating an instance of the class, while final keyword makes the method unchangeable.
Static methods belong to the class itself, not to any specific instance
Final keyword ensures that the method cannot be overridden in subclasses
Static methods are commonly used for utility methods that do not require access to instance variables
Example: Math class in Java has static methods like Ma
The @RestController annotation is used to define RESTful web services while @Controller annotation is used to define MVC controller.
RestController is a specialized version of Controller used for RESTful web services
RestController eliminates the need for @ResponseBody annotation
Controller is used for traditional MVC controller functionality
RestController returns data directly without needing to go through a view resolve...
Microservices are a software development technique where applications are composed of small, independent services that communicate with each other.
Microservices allow for easier scalability and maintenance of complex applications.
Each service in a microservices architecture can be developed, deployed, and scaled independently.
Microservices promote flexibility and agility in software development.
Examples of companies us...
I applied via Recruitment Consulltant and was interviewed in Nov 2024. There were 2 interview rounds.
The first round was an interview conducted with a GENAI virtual bot.
Spring Boot uses autoconfiguration to automatically configure the Spring application based on dependencies and properties.
Spring Boot autoconfiguration is achieved through @EnableAutoConfiguration annotation
Autoconfiguration classes are located in the org.springframework.boot.autoconfigure package
Autoconfiguration classes are conditionally applied based on the presence of specific classes or properties
I applied via Naukri.com and was interviewed in Nov 2024. There was 1 interview round.
HashMap is non-synchronized and allows null values, while HashTable is synchronized and does not allow null values.
HashMap is non-synchronized, meaning it is not thread-safe, while HashTable is synchronized and thread-safe.
HashMap allows null values for both keys and values, while HashTable does not allow null keys or values.
HashMap is generally preferred for non-thread-safe applications, while HashTable is used in mul
posted on 9 Oct 2024
I applied via Naukri.com and was interviewed in Sep 2024. There was 1 interview round.
Primitive data types are basic data types provided by the programming language, while non-primitive data types are created by the programmer.
Primitive data types include int, float, double, char, boolean, etc.
Non-primitive data types include arrays, classes, interfaces, etc.
Primitive data types store actual values, while non-primitive data types store references to objects.
Access modifiers control the visibility of classes, methods, and variables. Non-access modifiers provide additional functionality.
Access modifiers: public, private, protected, default
Non-access modifiers: static, final, abstract, synchronized
Example: public class MyClass { private int myVar; }
Java 8 features include lambda expressions, functional interfaces, streams, and more.
Lambda expressions allow concise syntax for defining anonymous functions.
Functional interfaces can have only one abstract method and are used for lambda expressions.
Streams provide a way to process collections of objects in a functional style.
Optional class helps to avoid NullPointerException by wrapping a value that may be null.
CICD tools automate the process of building, testing, and deploying code changes.
Popular CICD tools include Jenkins, GitLab CI/CD, CircleCI, and Travis CI
These tools help in automating the software development lifecycle
They enable continuous integration, continuous delivery, and continuous deployment
CICD tools help in improving code quality, reducing manual errors, and increasing development speed
Containerization is a lightweight, portable, and self-sufficient way to package and run applications.
Containerization involves encapsulating an application and its dependencies into a container image.
Containers are isolated from each other and share the host OS kernel.
Popular containerization platforms include Docker and Kubernetes.
Containerization allows for easy deployment and scaling of applications.
Indexing in SQL is a technique used to improve the performance of queries by creating a data structure that allows for faster retrieval of data.
Indexes are created on columns in a database table to speed up the retrieval of rows that match a certain condition in a query.
They work similar to the index in a book, allowing the database to quickly locate the rows that satisfy the query.
Indexes can be created using a single...
Interview experience
Senior Software Engineer
21.3k
salaries
| ₹4.7 L/yr - ₹18.6 L/yr |
Software Engineer
16.2k
salaries
| ₹2 L/yr - ₹10 L/yr |
Module Lead
6.7k
salaries
| ₹7 L/yr - ₹25.5 L/yr |
Technical Lead
6.5k
salaries
| ₹9.3 L/yr - ₹37 L/yr |
Senior Engineer
4.4k
salaries
| ₹4.2 L/yr - ₹16.4 L/yr |
Cognizant
Capgemini
Accenture
TCS