i
UKG
Filter interviews by
I appeared for an interview in Apr 2024.
I applied via Naukri.com and was interviewed before May 2020. There were 5 interview rounds.
I applied via Naukri.com and was interviewed in Jun 2020. There were 5 interview rounds.
I appeared for an interview before Jan 2021.
Round duration - 120 Minutes
Round difficulty - Medium
The test included MCQ questions from SQL, Linux Commands, C/C++ programming, Logical Reasoning, Aptitude
questions. The other section was the coding round, where 2 SQL queries and 2 coding questions were there.
Determine if an array contains a Pythagorean triplet by checking whether there are three integers x, y, and z such that x2 + y2 = z2 within the array.
The first lin...
Detect if an array contains a Pythagorean triplet by checking if there are three integers x, y, and z such that x^2 + y^2 = z^2.
Iterate through all possible triplets of numbers in the array and check if they form a Pythagorean triplet.
Use a nested loop to generate all possible combinations of three numbers from the array.
Check if the sum of squares of any three numbers is equal to the square of another number.
Return 'y...
Given a string STR
consisting of lowercase English letters, identify the first non-repeating character in the string and return it. If no such characte...
Identify the first non-repeating character in a string and return it, or '#' if none exists.
Iterate through the string to count the frequency of each character
Iterate through the string again to find the first character with frequency 1
Return the first non-repeating character or '#' if none exists
Round duration - 70 Minutes
Round difficulty - Medium
This was a standard DSA round where I was asked to solve 2 questions and also code it in a production ready manner . After DS and Algo , I was asked some questions from OOPS and Java followed by some Unix Commands and basic concepts from Operating Systems.
Given an array ARR
of size 'N', where each integer is in the range from 0 to N - 1, identify all elements that appear more than once.
Return the duplicate elements in any orde...
Find duplicates in an array of integers within a specified range.
Iterate through the array and keep track of the count of each element using a hashmap.
Return elements with count greater than 1 as duplicates.
Time complexity can be optimized to O(N) using a set to store duplicates.
Given a singly linked list of integers, return the head of the reversed linked list.
Initial linked list: 1 -> 2 -> 3 -> 4 -> NULL
Reversed link...
Reverse a singly linked list of integers and return the head of the reversed linked list.
Iterate through the linked list and reverse the pointers to point to the previous node instead of the next node.
Use three pointers - prev, current, and next to reverse the linked list in O(N) time and O(1) space complexity.
Update the head of the reversed linked list as the last node encountered during the reversal process.
Serialization is the process of converting an object into a byte stream, while deserialization is the reverse process.
Serialization is used to persist object state or transmit objects over a network.
Deserialization reconstructs the object from the byte stream.
Java provides Serializable interface for serialization and ObjectInputStream/ObjectOutputStream classes for deserialization.
Example: Serializing an object to a fi
Singleton class in Java ensures that a class has only one instance and provides a global point of access to it.
Singleton class restricts the instantiation of a class to one object.
It provides a way to access its unique instance globally.
Commonly implemented using a private constructor and a static method to return the instance.
Example: Logger class in a multi-threaded application.
Piping in Unix/Linux allows the output of one command to be used as the input for another command.
Piping is done using the | symbol
It helps in connecting multiple commands together to perform complex operations
Example: ls -l | grep .txt - This command lists all files in long format and then filters out only the .txt files
Round duration - 30 Minutes
Round difficulty - Easy
This was a typical HR round with some standard Behavioral questions .
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 Naukri.com and was interviewed in Mar 2020. There were 4 interview rounds.
Rotational shifts refer to working in different shifts at different times. Web service flow is the sequence of steps involved in a web service request. Checking ports on Unix or Solaris machine involves using the netstat command.
Rotational shifts involve working in different shifts at different times, such as day shift, night shift, and swing shift.
Web service flow involves a sequence of steps, such as sending a reques...
I applied via Campus Placement
I appeared for an interview in Nov 2016.
Seeking better growth opportunities and challenges
Limited growth potential in current role
Desire to work on more challenging projects
Looking for a company with a better cultural fit
Relocating to a new area
I appeared for an interview before Jan 2021.
Round duration - 60 Minutes
Round difficulty - Medium
The interviewer asked me 2 questions related to DS/Algo in this round . Both the questions were of Easy-Medium difficulty and I was also required to code them in a production ready manner.
You are provided with a binary tree consisting of N
nodes where each node has an integer value. The task is to determine the maximum sum achievable by a...
Find the maximum sum achievable by a simple path between any two nodes in a binary tree.
Traverse the binary tree to find all possible paths and calculate their sums.
Keep track of the maximum sum encountered during traversal.
Consider paths that may include the same node twice.
Implement a recursive function to explore all possible paths.
Handle cases where nodes have negative values.
Given two arrays A
and B
with sizes N
and M
respectively, both sorted in non-decreasing order, determine their intersection.
The intersection of two arrays in...
The problem involves finding the intersection of two sorted arrays efficiently.
Use two pointers to iterate through both arrays simultaneously.
Compare elements at the pointers and move the pointers accordingly.
Handle cases where elements are equal, and update the intersection array.
Return the intersection array as the result.
Round duration - 50 Minutes
Round difficulty - Medium
This round had 2 questions of DS/Algo to solve under 50 minutes and one question related to Operating Systems.
You are provided with an array or list ARR
containing N
positive integers. Your task is to determine the Next Greater Element (NGE) for each element in the array.
T...
Find the Next Greater Element for each element in an array.
Iterate through the array from right to left
Use a stack to keep track of elements with no greater element to the right
Pop elements from the stack until finding a greater element or stack is empty
Given three integers X
, C
, and Y
, where X
is the first term of an arithmetic sequence with a common difference of C
, determine if Y
is part of this arithmetic sequ...
Check if a given number is part of an arithmetic sequence with a given first term and common difference.
Calculate the arithmetic sequence using the formula: nth term = X + (n-1) * C
Check if Y is equal to any term in the sequence to determine if it belongs to the sequence
Return 'True' if Y belongs to the sequence, otherwise return 'False'
Processes are instances of programs in execution, while threads are smaller units within a process that can execute independently.
A process is a program in execution, consisting of code, data, and resources.
Threads are smaller units within a process that can execute independently.
Processes have their own memory space, while threads share the same memory space within a process.
Processes are heavyweight, while threads ar...
Round duration - 50 Minutes
Round difficulty - Medium
This round had 2 questions of DSA of Easy-Medium difficulty and at the end I was asked a Puzzle to check my general problem solving ability.
Given an array/list arr
of size n
, determine the maximum product possible by taking any subset of the array/list arr
. Return the result modulo 10^9+7
since the product ...
Find the maximum product of a subset of an array modulo 10^9+7.
Iterate through the array and keep track of the maximum positive product and minimum negative product encountered so far.
Handle cases where the array contains zeros separately.
Return the maximum product modulo 10^9+7.
Given a complete binary tree with 'N' nodes, your task is to determine the 'next' node immediately to the right in level order for each node in the given tree.
...Implement a function to update 'next' pointers in a complete binary tree.
Iterate level by level using a queue
Connect nodes at each level using 'next' pointers
Handle null nodes appropriately
Ensure the tree is a complete binary tree
Round duration - 50 Minutes
Round difficulty - Medium
This round consisted of 2 questions from DSA where I was first asked to explain my approach to the interviewer with proper complexity analysis and then code the problems. The interviewer was quite friendly and also provided me some hints when I was stuck.
Create a stack data structure that supports not only the usual push and pop operations but also getMin(), which retrieves the minimum element, all in O(1) time complexity witho...
Implement a stack with push, pop, top, isEmpty, and getMin operations in O(1) time complexity without using extra space.
Use two stacks - one to store the actual elements and another to store the minimum element at each level.
When pushing an element, check if it is smaller than the current minimum and update the minimum stack accordingly.
When popping an element, also pop from the minimum stack if the popped element is t...
You are given an integer array arr
of size N
. Your task is to split the array into the maximum number of subarrays such that the first and last occurre...
Given an array, split it into maximum subarrays with first and last occurrence of each element in a single subarray.
Iterate through the array and keep track of the first and last occurrence of each element.
Use a hashmap to store the indices of each element.
Split the array whenever the last occurrence of an element is found.
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.
To determine if a point is inside a polygon, use the ray casting algorithm.
Create a line from the point to a point outside the polygon
Count the number of times the line intersects with the polygon edges
If the count is odd, the point is inside the polygon; otherwise, it is outside
The four storage classes in C are auto, register, static, and extern.
Auto: default storage class for all local variables
Register: used to define local variables that should be stored in a register instead of RAM
Static: used to define local variables that retain their value between function calls
Extern: used to declare a global variable that is defined in another file
i is stored in global data segment, j is stored in stack, k is stored in heap.
i is a global variable and is stored in the global data segment
j is a local variable and is stored in the stack
k is a pointer variable and is stored in the stack, while the memory it points to is allocated on the heap using malloc()
Use a hash table to store the words and check for existence in constant time.
Create a hash table with the words as keys and a boolean value as the value.
For each new word, check if it exists in the hash table. If it does, it has appeared before. If not, add it to the hash table.
Alternatively, use a set data structure to store only the unique words and check for existence in the set.
based on 1 interview
Interview experience
Senior Software Engineer
551
salaries
| ₹10.2 L/yr - ₹24 L/yr |
Lead Software Engineer
383
salaries
| ₹14.5 L/yr - ₹34 L/yr |
Principal Software Engineer
263
salaries
| ₹17 L/yr - ₹44.2 L/yr |
Lead Software Quality Assurance Engineer
103
salaries
| ₹12.5 L/yr - ₹26 L/yr |
Senior Software QA Engineer
101
salaries
| ₹9.2 L/yr - ₹18.4 L/yr |
Oracle
Amdocs
Automatic Data Processing (ADP)
24/7 Customer