i
UST
Filter interviews by
I applied via LinkedIn and was interviewed in Jan 2024. There was 1 interview round.
OOPS concepts are fundamental principles in object-oriented programming that help in organizing and designing code.
Encapsulation: Bundling data and methods that operate on the data into a single unit (class).
Inheritance: Allowing a class to inherit properties and behavior from another class.
Polymorphism: Ability to present the same interface for different data types.
Abstraction: Hiding the complex implementation detail...
I applied via Naukri.com and was interviewed in Sep 2023. There were 2 interview rounds.
Location, timing, domain
I applied via Naukri.com and was interviewed in Nov 2022. There were 2 interview rounds.
UST interview questions for designations
I applied via Naukri.com and was interviewed before Dec 2023. There was 1 interview round.
Get interview-ready with Top UST Interview Questions
I applied via Company Website and was interviewed before Apr 2023. There were 2 interview rounds.
Design patterns in C# are reusable solutions to common problems in software design.
Design patterns help in creating maintainable and scalable code.
Examples of design patterns in C# include Singleton, Factory, Observer, and Strategy.
Each design pattern has its own purpose and implementation details.
I applied via Naukri.com and was interviewed in Jun 2022. There were 2 interview rounds.
Duration of test is for 30 min. Its all relate to array, List, string and basic structure of frame work
SDLC and STLC, list vs tuple, assert vs verify
SDLC (Software Development Life Cycle) is a process followed to develop software
STLC (Software Testing Life Cycle) is a process followed to test software
List and tuple are both data structures in Python, but list is mutable while tuple is immutable
Assert is used to check if a condition is true, while verify is used to check if a web element is present
Both assert and verify ...
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.
I applied via Referral and was interviewed before Oct 2022. There were 3 interview rounds.
Java 8 functions and thread related questions
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.
Top trending discussions
The duration of UST Senior Software Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 20 interviews
3 Interview rounds
based on 166 reviews
Rating in categories
6-10 Yrs
₹ 4.5-33.28 LPA
Software Developer
2.1k
salaries
| ₹2.5 L/yr - ₹12.7 L/yr |
Senior Software Engineer
1.7k
salaries
| ₹6.6 L/yr - ₹27 L/yr |
Software Engineer
1.3k
salaries
| ₹3.7 L/yr - ₹15 L/yr |
System Analyst
1.2k
salaries
| ₹6.4 L/yr - ₹22.6 L/yr |
Senior Software Developer
939
salaries
| ₹5.6 L/yr - ₹19.9 L/yr |
TCS
Infosys
Wipro
HCLTech