Filter interviews by
Binary Search has a time complexity of O(log n) and is derived from dividing the search space in half at each step.
Binary Search is a search algorithm that works on sorted arrays.
It starts by comparing the target value to the middle element of the array.
If the target value is smaller, the search continues on the lower half of the array.
If the target value is larger, the search continues on the upper half of the array.
T...
QuickSort is a sorting algorithm that uses divide and conquer approach.
Choose a pivot element from the array
Partition the array into two sub-arrays, one with elements less than the pivot and one with elements greater than the pivot
Recursively apply the above steps to the sub-arrays
Combine the sorted sub-arrays to get the final sorted array
Code for Fibonacci Series using Recursion, Iteration and Dynamic Programming
Recursion: Define a function that calls itself with the previous two numbers in the series as arguments
Iteration: Use a loop to calculate the series by adding the previous two numbers in each iteration
Dynamic Programming: Store the previous two numbers in variables and use them to calculate the next number in the series
Implementing a Queue using Stacks
Use two stacks to implement a queue
Push elements onto the first stack
When dequeuing, pop all elements from the first stack and push onto the second stack
Pop the top element from the second stack to dequeue
If the second stack is empty, pop all elements from the first stack and push onto the second stack
MergeSort is a divide and conquer algorithm that sorts an array of strings.
Divide the array into two halves
Recursively sort the two halves
Merge the sorted halves
Counting Sort is a sorting algorithm that sorts elements by counting the number of occurrences of each unique element.
Count the occurrences of each element in the array
Calculate the cumulative sum of the counts
Place each element in the sorted array based on its count and cumulative sum
Time complexity is O(n+k) where n is the number of elements and k is the range of input
Example: Sort an array of strings based on their
Chrome uses an algorithm to predict and suggest words based on user input.
Chrome's algorithm uses a combination of user history, bookmarks, and popular searches to predict and suggest words.
The algorithm also takes into account the frequency and recency of the user's input.
Chrome's suggestion feature is powered by Google's Autocomplete API, which uses machine learning to predict and suggest words.
The suggestions are di...
I appeared for an interview before Apr 2021.
Round duration - 90 minutes
Round difficulty - Medium
This round had 3 coding questions of Medium to Hard level of difficulty.
Given an integer N
representing the number of pairs of parentheses, find all the possible combinations of balanced parentheses using the given number of pairs.
Generate all possible combinations of balanced parentheses for a given number of pairs.
Use recursion to generate all possible combinations of balanced parentheses.
Keep track of the number of open and close parentheses used in each combination.
Return the valid combinations as an array of strings.
You are given a long type array/list ARR
of size N
, representing an elevation map. The value ARR[i]
denotes the elevation of the ith
bar. Your task is to determine th...
Calculate the total amount of rainwater that can be trapped between given elevations in an array.
Iterate through the array and calculate the maximum height on the left and right of each bar.
Calculate the amount of water that can be trapped at each bar by taking the minimum of the maximum heights on the left and right.
Sum up the trapped water at each bar to get the total trapped water for the entire array.
You are given a grid containing oranges where each cell of the grid can contain one of the three integer values:
Find the minimum time required to rot all fresh oranges adjacent to rotten oranges.
Create a queue to store the coordinates of rotten oranges and perform BFS to rot adjacent fresh oranges.
Track the time taken to rot all fresh oranges and return -1 if not all fresh oranges can be rotten.
Update the grid with the new state of oranges after each second.
Handle edge cases such as empty grid or no fresh oranges present.
Example...
Round duration - 60 Minutes
Round difficulty - Medium
This was a standard DS/Algo round where I was given 2 questions to solve under 60 minutes. I was able to come up with the optimal approach for both the questions and then at the end of the interview I was also asked the famous Die Hard Water Puzzle.
Design a queue data structure following the FIFO (First In First Out) principle using only stack instances.
Your task is to complete predefined functions t...
Implement a queue using stacks following FIFO principle.
Use two stacks to simulate a queue.
For enQueue operation, push elements onto stack1.
For deQueue operation, if stack2 is empty, pop all elements from stack1 and push onto stack2, then pop from stack2.
For peek operation, if stack2 is empty, pop all elements from stack1 and push onto stack2, then return top of stack2.
For isEmpty operation, check if both stack1 and st...
You are provided with 'N' intervals, each containing two integers denoting the start time and end time of the interval.
Your task is to merge all overlapping intervals a...
Merge overlapping intervals and return sorted list of merged intervals by start time.
Sort the intervals based on start time.
Iterate through intervals and merge overlapping ones.
Return the merged intervals in sorted order.
Round duration - 60 Minutes
Round difficulty - Medium
This round had 2 coding questions - first one related to Binary Tree and the second one was a simple question from Bit Manipulation. This was followed by some questions from OOPS.
You are given a Binary Tree, and you need to determine the length of the diameter of the tree.
The diameter of a binary tree is the length of the longest path betwe...
The task is to find the diameter of a binary tree, which is the length of the longest path between any two end nodes in the tree.
Traverse the tree to find the longest path between two nodes.
Keep track of the maximum diameter found during traversal.
The diameter may not necessarily pass through the root node.
Consider both left and right subtrees while calculating the diameter.
Example: For input 1 2 3 4 -1 5 6 -1 7 -1 -1
Determine if it is possible to reorder the digits of a given integer 'N' such that the resulting number is a power of two. The leading digit must not be zero.
The fir...
The problem involves determining if it is possible to reorder the digits of a given integer to form a power of 2.
Iterate through all possible permutations of the digits of the given integer.
Check if any of the permutations form a power of 2.
Return 1 if a valid permutation is found, else return 0.
Advantages of OOP include code reusability, modularity, and easier maintenance.
Code reusability: Objects can be reused in different parts of the program, reducing redundancy.
Modularity: OOP allows for breaking down complex problems into smaller, more manageable parts.
Easier maintenance: Changes to one part of the codebase do not necessarily affect other parts, making maintenance easier.
Encapsulation: Data hiding and ab...
Access specifiers define the level of access to class members in Object-Oriented Programming.
Access specifiers include public, private, protected, and default
Public members are accessible from outside the class
Private members are only accessible within the class
Protected members are accessible within the class and its subclasses
Default access is when no access specifier is specified
Round duration - 30 Minutes
Round difficulty - Easy
This was my last round and I hoped it to go good just like the other rounds. The interviewer was very straight to point
and professional. The interview lasted for 30 minutes.
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.
Queue can be implemented using two stacks by maintaining the order of elements in the stacks.
Create two stacks, let's call them stack1 and stack2
When an element is enqueued, push it to stack1
When an element is dequeued, pop all elements from stack1 and push them to stack2
Pop the top element from stack2 and return it as the dequeued element
If stack2 is empty, repeat step 3
To get the front element of the queue, peek the
Left join returns all records from left table and matching records from right table. Full outer join returns all records from both tables.
Left join is used to combine two tables based on a common column.
In left join, all records from the left table are returned along with matching records from the right table.
If there is no match in the right table, NULL values are returned.
Example: SELECT * FROM table1 LEFT JOIN table...
Magic functions are special methods in PHP that start with __. Autoloading is a way to automatically load classes.
Magic functions are used to handle certain events in PHP, such as object creation or property access.
Autoloading allows PHP to automatically load classes when they are needed, without requiring manual includes.
Magic functions can be used in conjunction with autoloading to dynamically load classes or handle
Given three sorted arrays, find common elements.
Create three pointers to traverse each array
Compare the elements at the pointers and move the pointer of the smallest element
If all pointers point to the same element, add it to the result and move all pointers
Repeat until any pointer reaches the end of its array
Check if a number is a power of 2 or not.
A power of 2 has only one bit set in its binary representation.
Use bitwise AND operator to check if the number is a power of 2.
If n is a power of 2, then n & (n-1) will be 0.
I applied via LinkedIn and was interviewed in Jul 2024. There was 1 interview round.
Coding test based on Binary trees, String Manipulation
I applied via Naukri.com and was interviewed in Oct 2021. There was 1 interview round.
I applied via Campus Placement and was interviewed before Apr 2022. There were 4 interview rounds.
There were 3 coding and 1 SQL question.
I appeared for an interview in Dec 2021.
Round duration - 60 Minutes
Round difficulty - Medium
It has 3 Coding Questions of medium-hard level and the time limit was 1 hour only. I don’t exactly remember the questions but I was able to do only two of them completely.
Your task is to construct the largest number possible by concatenating each of the provided positive integers in the array exactly once.
Integer T denoting the nu...
Construct the largest number by concatenating positive integers in the array exactly once.
Sort the array of integers in a way that the concatenation of the numbers forms the largest possible number.
Use a custom comparator function to sort the numbers based on their concatenated values.
Join the sorted array elements to form the final largest number.
Given an integer array ARR
of length N
, determine the count of longest increasing subsequences present in the array.
The Longest I...
Count the number of longest increasing subsequences in an integer array.
Identify the longest increasing subsequences in the array
Count the number of such subsequences
Consider the constraints while implementing the solution
Examples: For input [50, 3, 90, 60, 80], the output is 2
Round duration - 60 Minutes
Round difficulty - Medium
First, the interviewer introduced himself and then asked to introduce myself. Then he asked about the projects I did. After an introductory discussion on projects, he gave me 3 coding questions on their personal live code environment.
He asked me to explain the approach first and then code it down. I had to explain the time complexity of each solution and optimal code if possible with lesser time complexity.
You are provided with a cache that can hold a maximum of 'N' elements. Initially, this cache is empty. There are two main operations you can perform on this cache:
Implement a cache with insert, update, and retrieve operations, returning results of retrieve operations in order.
Create a cache data structure with specified size 'N'.
Implement insert and update operations based on the given criteria.
For retrieve operation, return the value associated with the 'U_ID' if present, else return -1.
Handle cases where the cache is full and least frequently used items need to be removed.
Retu...
Given a string S
composed of digits ranging from 2 to 9, determine all possible strings that can be created by mapping these digits to their correspon...
Given a phone number, generate all possible words by mapping digits to letters on a T9 keypad.
Create a mapping of digits to letters on a T9 keypad
Use recursion to generate all possible combinations of letters for the given phone number
Sort the resulting strings in lexicographical order
You are given an array containing N
words. Your task is to derive the shortest prefix for each word that uniquely identifies it amongst the other words. For instance, given t...
Given an array of words, find the shortest unique prefix for each word.
Create a Trie data structure to efficiently store and search for prefixes.
Traverse the Trie to find the shortest unique prefix for each word.
Return the list of shortest unique prefixes for all words.
Round duration - 60 Minutes
Round difficulty - Hard
In this round interviewer gave me 2 coding questions and asked me to code on any editor of my choice. I opened VS code to code those problems.
Given an array arr
of length N
consisting of integers, find the sum of the subarray (including empty subarray) with the maximum sum among all subarrays.
Find the sum of the subarray with the maximum sum among all subarrays in a given array.
Iterate through the array and keep track of the maximum sum subarray seen so far.
Use Kadane's algorithm to efficiently find the maximum subarray sum.
Handle cases where all elements are negative by returning the maximum element in the array.
Consider the sum of an empty subarray as 0.
Design and implement a data structure for the Least Recently Used (LRU) cache, which supports the following operations:
1. get(key) - Return the value associated with the key if ...
Implement a Least Recently Used (LRU) cache data structure with get and put operations.
Use a combination of a hashmap and a doubly linked list to efficiently implement the LRU cache.
Keep track of the least recently used item and remove it when the cache reaches its capacity.
Update the position of an item in the cache whenever it is accessed or updated.
Ensure constant time complexity for both get and put operations by u...
Round duration - 40 Minutes
Round difficulty - Easy
The interviewer was very friendly. He asked me about myself and previous interviews.
Tip 1 : Do at least 2-3 Development Projects as it creates a great impression.
Tip 2 : Do it simply don't include complex terms to explain anything/concept.
Tip 3 : Practice as many questions as you can.
Tip 1 : Resume should be one page only as being a fresher impacts a lot.
Tip 2 : Resumes should contain all the links for projects and certificates as it impresses the interviewer.
I appeared for an interview in Dec 2021.
Round duration - 90 minutes
Round difficulty - Medium
There were a total of 3 coding questions to be solved, and the time limit was 90 minutes. The candidate was free to use language of their choice.
Given a string A
consisting of lowercase English letters, determine the length of the longest palindromic subsequence within A
.
The task is to find the length of the longest palindromic subsequence in a given string.
A subsequence is a sequence generated from a string after deleting some or no characters of the string without changing the order of the remaining string characters.
A string is said to be palindrome if the reverse of the string is the same as the actual string.
Find the longest palindromic subsequence by considering all possible subs...
Round duration - 45 minutes
Round difficulty - Easy
The first round of interview lasted for around 45 minutes. I was asked two DSA questions, and was supposed to code them while my screen was shared. I wrote code for both the questions with little help from the interviewer. Finally, I was asked couple of questions based on my resume.
You are provided with two sorted linked lists. Your task is to merge them into a single sorted linked list and return the head of the combined linked list.
...The task is to merge two sorted linked lists into a single sorted linked list.
Create a new linked list to store the merged list
Compare the values of the nodes from both lists and add the smaller value to the new list
Move the pointer of the list with the smaller value to the next node
Repeat the comparison and addition until one of the lists is empty
Add the remaining nodes from the non-empty list to the new list
Return th
Given two strings 'P' and 'Q' of equal length, determine if string 'P' can be transformed into string 'Q' by cyclically rotating it to the right any num...
The task is to check if one string can be converted into another string by cyclically rotating it to the right any number of times.
Iterate through each character of the first string and check if it matches the corresponding character in the second string after a certain number of cyclic rotations.
If all characters match for any number of cyclic rotations, then the first string can be converted into the second string.
Us...
Round duration - 30 minutes
Round difficulty - Medium
I was given one data structure question and was then asked about recursion.
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...
The task is to 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 the elements
For each element, pop elements from the stack until a greater element is found or the stack is empty
If a greater element is found, it is the next greater element for the current element
If the stack becomes empty, there is no greater element to the right
Store the ...
Round duration - 40 minutes
Round difficulty - Easy
This was the hiring manager round. No data structures question were asked in this round. There was discussion around the projects that I had done and my resume. As I am from EEE branch, I was asked why I want to get into software. The interview happened around 8 PM. I was asked to create a schema for one of my projects.
I want to get into software because of my passion for problem-solving and the opportunity to create innovative solutions.
Passion for problem-solving
Opportunity to create innovative solutions
Interest in technology and its impact on society
Career growth and job stability
Flexibility and remote work options
Tip 1 : Practice regularly, meaning once you have covered all the topics, revisit them every week, and solve 3-5 questions.
Tip 2 : Use the Feynman technique. Explain your approach towards solving the problem to someone, or better yet, note it down so that when you revisit that question, the explanation is handy.
Tip 3 : Do 1 project, preferably a full-stack one including a database. This would provide some material for discussion, and be through with each aspect of the project.
Tip 1 : Keep the resume to one page and put info that is directly related to the role applied.
Tip 2 : In the projects section, keep a maximum of 3 projects, but ensure that at least one of them is hosted/live that can be shown to the interviewer.
I applied via Referral and was interviewed before Sep 2022. There were 3 interview rounds.
Basic React JS clock/ stopwatch
based on 1 interview
Interview experience
based on 55 reviews
Rating in categories
Data Analyst
4
salaries
| ₹1 L/yr - ₹3 L/yr |
Human Resources Executive and Office Assistant
4
salaries
| ₹2.2 L/yr - ₹2.4 L/yr |
Practo
Lybrate
Portea Medical
PharmEasy