Filter interviews by
Clear (1)
I applied via campus placement at Panimalar Engineering College, Chennai and was interviewed in Sep 2024. There were 3 interview rounds.
It is around 60 minutes virtual test
I tend to be overly critical of my own work, which can sometimes slow down my progress.
I have a tendency to spend too much time perfecting small details
I often struggle with delegating tasks to others
I can be overly self-critical, which can impact my confidence
I bring a unique combination of technical expertise, problem-solving skills, and a strong work ethic to drive success in this role.
Extensive experience in software development, including proficiency in multiple programming languages and technologies
Proven track record of successfully delivering high-quality projects on time and within budget
Strong problem-solving skills and ability to think creatively to find innovativ...
I want a role where I can lead a team, architect solutions, and contribute to the technical direction of the company.
Lead a team to deliver high-quality software solutions
Architect scalable and efficient technical solutions
Contribute to the technical direction of the company by staying up-to-date with industry trends and best practices
I applied via Naukri.com and was interviewed in Oct 2021. There were 3 interview rounds.
Top trending discussions
I was interviewed in Dec 2021.
Round duration - 60 minutes
Round difficulty - Medium
This round had 1 very simple coding problem followed by some questions from Java and Spring.
Given a column title as it appears in an Excel sheet, your task is to return its corresponding column number.
S = "AB"
28
The seq...
Approach :
The process is very much similar to binary to decimal conversion. In this case, the base of the given system is to be taken as 26. Also, in this system 1 is represented as ‘A’, 2 is represented as ‘B’ and so on till 26 is represented as ‘Z’
For example-
CDA can be converted as 3*26*26 + 4*26 + 1
= 26(3*26 + 4) + 1
= 26(0*26 + 3*26 + 4) + 1
AB can be converted as 1*26 + 2
TC : O(N), where N = length of the input str
Lambda expression is a type of function without a name. It may or may not have results and parameters. It is known as an anonymous function as it does not have type information by itself. It is executed on-demand. It is beneficial in iterating, filtering, and extracting data from a collection.
As lambda expressions are similar to anonymous functions, they can only be applied to the single abstract method of Functional I...
A stream is an abstraction to express data processing queries in a declarative way.
A Stream, which represents a sequence of data objects & series of operations on that data is a data pipeline that is not related to Java I/O Streams does not hold any data permanently.
The key interface is "java.util.stream.Stream" . It accepts Functional Interfaces so that lambdas can be passed. Streams support a fluent interface or
The Spring container is able to autowire relationships between the collaborating beans. That is, it is possible to let Spring resolve collaborators for your bean automatically by inspecting the contents of the BeanFactory.
Different modes of bean auto-wiring are :
1) no : This is default setting which means no autowiring. Explicit bean reference should be used for wiring.
2) byName : It injects the object dependency...
The @SpringBootApplication annotation is equivalent to using @Configuration, @EnableAutoConfiguration, and @ComponentScan with their default attributes. Spring Boot enables the developer to use a single annotation instead of using multiple. But, as we know, Spring provided loosely coupled features that we can use for each annotation as per our project needs.
The primary annotations that Spring Boot offers reside in its "org.springframework.boot.autoconfigure" and its sub-packages. Here are a couple of basic ones :
@EnableAutoConfiguration – to make Spring Boot look for auto-configuration beans on its classpath and automatically apply them.
@SpringBootApplication – used to denote the main class of a Boot Application. This annotation combines @Configuration, @EnableAutoConfigu...
Round duration - 60 minutes
Round difficulty - Medium
This round focused more on Multithreading concepts from Java and also some core concepts from OOPS.
Threads are basically the lightweight and smallest unit of processing that can be managed independently by a scheduler. Threads are referred to as parts of a process that simply let a program execute efficiently with other parts or threads of the process at the same time. Using threads, one can perform complicated tasks in the easiest way. It is considered the simplest way to take advantage of multiple CPUs available i...
start() : In simple words, the start() method is used to start or begin the execution of a newly created thread. When the start() method is called, a new thread is created and this newly created thread executes the task that is kept in the run() method. One can call the start() method only once.
run() : In simple words, the run() method is used to start or begin the execution of the same thread. When the run() method is...
The Thread can be created by using two ways :
1) By extending the Thread class
2) By implementing the Runnable interface
However, the primary differences between both the ways are given below :
1) By extending the Thread class, we cannot extend any other class, as Java does not allow multiple inheritances while implementing the Runnable interface; we can also extend other base class(if required).
2) By extending the T...
The differences between Abstract Class and Interface are as follows :
Abstract Class :
1) Abstract classes have a default constructor and it is called whenever the concrete subclass is instantiated.
2) It contains Abstract methods as well as Non-Abstract methods.
3) The class which extends the Abstract class shouldn’t require the implementation of all the methods, only Abstract methods need to be implemented in the concret...
1) Garbage Collection in Java is a process by which the programs perform memory management automatically.
2) The Garbage Collector(GC) finds the unused objects and deletes them to reclaim the memory.
3) In Java, dynamic memory allocation of objects is achieved using the new operator that uses some memory and the memory remains allocated until there are references for the use of the object.
4) When there are no refer...
The SOLID principle is an acronym of the five principles which is given below :
1) Single Responsibility Principle (SRP)
2) Open/Closed Principle
3) Liskov’s Substitution Principle (LSP)
4) Interface Segregation Principle (ISP)
5) Dependency Inversion Principle (DIP)
Uses of SOLID design principles :
1) The SOLID principle helps in reducing tight coupling.
2) Tight coupling means a group of classes are highly dependent on one ...
Round duration - 30 minutes
Round difficulty - Medium
This was a System Design Round where I was asked a LLD question to design a URL Shortener followed by a very standard question of LRU Cache. Overall this round went well and the interviewer was also quite satisfied by my answers.
Tip 1 : Firstly, remember that the system design round is extremely open-ended and there’s no such thing as a standard answer. Even for the same question, you’ll have a totally different discussion with different interviewers.
Tip 2 : Before you jump into the solution always clarify all the assumptions you’re making at the beginning of the interview. Ask questions to identify the scope of the system. This will clear the...
Design and implement a data structure for a Least Recently Used (LRU) cache that supports the following operations:
get(key)
- Retrieve the value associated with the...Structure of an LRU Cache :
1) In practice, LRU cache is a kind of Queue — if an element is reaccessed, it goes to the end of the eviction order.
2) This queue will have a specific capacity as the cache has a limited size. Whenever a new element is brought in, it is added at the head of the queue. When eviction happens, it happens from the tail of the queue.
3) Hitting data in the cache must be done in constant time, whic...
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
posted on 19 Feb 2024
I applied via Approached by Company and was interviewed before Feb 2023. There was 1 interview round.
Answering questions related to front-end development challenges and techniques.
Challenges faced in front-end development projects include browser compatibility issues, performance optimization, and responsive design implementation.
Real-time examples of Subject and BehaviorSubject in Angular can be demonstrated by creating a chat application where Subject is used for broadcasting messages and BehaviorSubject is used for...
I was interviewed in Oct 2021.
Round duration - 60 minutes
Round difficulty - Medium
This round started with 1 coding question related to Prime Numbers in which I was first asked to explain my approach and then write the pseudo code for it. This was followed by some preety standard questions from OOPS and Java.
Find the Nth prime number given a number N.
A prime number is greater than 1 and is not the product of two smaller natural numbers. A prime number has exa...
The task is to find the Nth prime number given a number N.
A prime number is a number greater than 1 that is not a product of two smaller natural numbers.
Prime numbers have only two factors - 1 and the number itself.
Start with a counter at 0 and a number at 2.
Increment the number by 1 and check if it is prime.
If it is prime, increment the counter.
Repeat until the counter reaches N.
Return the last prime number found.
Abstract class is a class that cannot be instantiated and can have both abstract and non-abstract methods. Interface is a blueprint for a class and can only have abstract methods.
Abstract class can have constructors while interface cannot.
A class can implement multiple interfaces but can only extend one abstract class.
Abstract class can have instance variables while interface cannot.
Abstract class can provide default i...
Garbage collector in Java is responsible for automatic memory management.
Garbage collector automatically reclaims memory by freeing objects that are no longer referenced.
It runs in the background and identifies unused objects based on reachability.
Different garbage collection algorithms like Mark and Sweep, Copying, and Generational are used.
Garbage collector can be tuned using JVM options like -Xmx and -Xms.
Example: S...
Exception handling is a mechanism in programming to handle and manage errors or exceptional situations that may occur during program execution.
Exception handling is used to catch and handle errors or exceptions in a program.
It allows the program to gracefully handle errors and prevent abrupt termination.
Exception handling involves the use of try-catch blocks to catch and handle exceptions.
The catch block contains code ...
Round duration - 60 minutes
Round difficulty - Medium
This round had 1 coding question related to LRU Cache where I had to code its implementation in a production-ready manner explaining my overall approach with proper complexity analysis. This was followed by some Mutithreading questions from Java and then at last the interviewer asked me some basic design patterns in Software Engineering and some more questions related to OOPS.
Design and implement a data structure for a Least Recently Used (LRU) cache that supports the following operations:
get(key)
- Retrieve the value associated with the...The question is about designing and implementing a data structure for LRU cache to support get and put operations.
LRU cache is a cache replacement policy that removes the least recently used item when the cache reaches its capacity.
The cache is initialized with a capacity and supports get(key) and put(key, value) operations.
For each get operation, return the value of the key if it exists in the cache, otherwise return ...
The start() method is used to start a new thread and execute the run() method.
The start() method creates a new thread and calls the run() method.
The run() method contains the code that will be executed in the new thread.
Calling the run() method directly will not create a new thread.
The start() method should be called to start the execution of the new thread.
BlockingQueue is a thread-safe queue that blocks when it is full or empty.
BlockingQueue is part of the Java Concurrency API.
It provides methods like put() and take() to add and remove elements from the queue.
When the queue is full, put() blocks until space becomes available.
When the queue is empty, take() blocks until an element is available.
It is commonly used in producer-consumer scenarios.
Thread starvation occurs when a thread is unable to access the CPU resources it needs to execute its tasks.
Thread starvation happens when a thread is constantly waiting for a resource that is being monopolized by other threads.
It can occur due to poor resource management or priority scheduling.
Examples include a low-priority thread being constantly preempted by high-priority threads or a thread waiting indefinitely for
Thread Scheduler is responsible for managing the execution of multiple threads in a multitasking environment.
Thread Scheduler determines the order in which threads are executed.
It allocates CPU time to each thread based on priority and scheduling algorithm.
Time Slicing is a technique used by Thread Scheduler to allocate a fixed time slice to each thread before switching to another.
It ensures fair execution of threads a...
SOLID principles are a set of design principles that promote maintainability, extensibility, and reusability in object-oriented design.
S - Single Responsibility Principle: A class should have only one reason to change.
O - Open-Closed Principle: Software entities should be open for extension but closed for modification.
L - Liskov Substitution Principle: Subtypes must be substitutable for their base types.
I - Interface S...
HashSet is an unordered collection that uses hashing to store elements, while TreeSet is a sorted collection that uses a binary search tree.
HashSet does not maintain any order of elements, while TreeSet maintains elements in sorted order.
HashSet allows null values, while TreeSet does not allow null values.
HashSet has constant time complexity for basic operations like add, remove, and contains, while TreeSet has logarit...
Round duration - 30 minutes
Round difficulty - Easy
This is a cultural fitment testing round. HR was very frank and asked standard questions. Then we discussed about my role.
I have extensive experience in software development and a proven track record of delivering high-quality solutions.
I have a strong technical background and expertise in various programming languages and frameworks.
I have successfully led and delivered complex software projects on time and within budget.
I am a quick learner and adapt easily to new technologies and methodologies.
I have excellent problem-solving and analy...
Seeking new challenges and growth opportunities in a different environment.
Looking for a role that allows me to work on more complex projects.
Interested in expanding my skill set and learning new technologies.
Seeking a company culture that aligns with my values and promotes collaboration.
Wanting to take on more leadership responsibilities and mentor junior engineers.
Desire for better work-life balance or location chang
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I applied via Recruitment Consulltant and was interviewed before Aug 2022. There were 4 interview rounds.
Dont remember but it was easy...just few out of scope technology questions which any way not comming for specific profile
I applied via Naukri.com and was interviewed in Nov 2021. There was 1 interview round.
Use multithreading to print 1 to 100 numbers.
Create a class that implements Runnable interface
Override the run() method to print numbers
Create multiple threads and start them
Join all threads to ensure all numbers are printed
based on 1 interview
Interview experience
based on 9 reviews
Rating in categories
Senior Engineer
343
salaries
| ₹6.4 L/yr - ₹13.1 L/yr |
Assistant Engineer
327
salaries
| ₹4 L/yr - ₹9.2 L/yr |
Engineer
316
salaries
| ₹5 L/yr - ₹11 L/yr |
Assistant Manager
277
salaries
| ₹9 L/yr - ₹16 L/yr |
Graduate Apprentice Trainee
275
salaries
| ₹0.7 L/yr - ₹3.5 L/yr |
Tata Motors
Mahindra & Mahindra
Maruti Suzuki
Ashok Leyland