i
Tata 1mg
Filter interviews by
Clear (1)
I applied via Approached by Company and was interviewed in Sep 2024. There was 1 interview round.
Create a pagination component using an API to display data for different pages.
Use API to fetch data for each page
Implement pagination logic to display data for each page
Allow users to navigate between pages
Top trending discussions
I was interviewed 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.
Event bubbling is the propagation of an event from the innermost child element to the outermost parent element.
Events triggered on a child element will also trigger on its parent elements
The event travels up the DOM tree until it reaches the document object
Can be stopped using event.stopPropagation()
Can be useful for event delegation
The .on('click',function() is a more flexible method than .click(function())
The .on() method can handle multiple events and selectors
The .click() method can only handle one event and one selector
The .on() method can also handle dynamically added elements
The .click() method cannot handle dynamically added elements
Function to check if two strings are anagram or not
Create two character arrays from the strings
Sort the arrays
Compare the sorted arrays
Function to determine the order of integers in an array.
Check first and last element to determine if increasing or decreasing
Check for inflection point to determine if order changes
Return order type as string
Optimize images, minify code, reduce HTTP requests, use caching, and lazy loading.
Optimize images using compression and appropriate file formats
Minify code to reduce file size and improve load times
Reduce HTTP requests by combining files and using sprites
Use caching to store frequently accessed data locally
Implement lazy loading to defer loading of non-critical resources
Design a database schema for a movie site with user ratings and recommendations.
Create tables for movies, users, ratings, and recommendations
Use foreign keys to link tables
Include columns for movie genre and user watch history
Algorithm for recommendations can use user watch history and ratings to suggest similar movies
Function to simulate dice roll with equal probability without using random function
Use a toss function that returns either 0 or 1 with equal probability
Call the toss function 3 times and convert the result to a binary number
If the binary number is greater than 0 and less than or equal to 6, return it
If the binary number is greater than 6, repeat the process
Query to fetch duplicate email from table
Use GROUP BY and HAVING clause to filter out duplicates
SELECT email, COUNT(*) FROM table_name GROUP BY email HAVING COUNT(*) > 1;
This will return all the duplicate emails in the table
I was interviewed before Sep 2020.
Round duration - 60 Minutes
Round difficulty - Easy
A thief is planning to rob a store and can carry a maximum weight of 'W' in his knapsack. The store contains 'N' items where the ith item has a weight of 'wi' and a value of...
Yes, the 0/1 Knapsack problem can be solved using dynamic programming with a space complexity of not more than O(W).
Use a 1D array to store the maximum value that can be stolen for each weight capacity from 0 to W.
Iterate through each item and update the array based on whether including the item would increase the total value.
The final value in the array at index W will be the maximum value that can be stolen.
Given an array or list of integers 'ARR', identify the second largest element in 'ARR'.
If a second largest element does not exist, return -1.
ARR = [2,...
Find the second largest element in an array of integers.
Iterate through the array to find the largest and second largest elements.
Handle cases where all elements are identical.
Return -1 if a second largest element does not exist.
Round duration - 60 Minutes
Round difficulty - Easy
System Design Round
Design a scalable system for Twitter with key components and architecture.
Use microservices architecture for scalability and fault isolation.
Key components include user service, tweet service, timeline service, and notification service.
Use a distributed database like Cassandra for storing tweets and user data.
Implement a message queue like Kafka for handling real-time updates and notifications.
Use a caching layer like ...
Round duration - 30 Minutes
Round difficulty - Easy
It is just a formality
Tip 1 : System Design
Tip 2 : Practice questions from leetcode
Tip 3 : Have some projects.
Tip 1 : Mention what you know
Tip 2 : Good previous work to showcase
I was interviewed in Jan 2021.
Round duration - 60 Minutes
Round difficulty - Easy
4 Questions which were of Easy, Medium, and Hard level.
The structure of a binary tree has been modified so that each node includes a reference to its parent node.
You are provided with two nodes,...
This question is about finding the lowest common ancestor of two nodes in a binary tree with parent references.
Traverse from the given nodes to their respective root nodes and store the paths in two separate lists.
Compare the two lists and find the last common node.
Return the last common node as the lowest common ancestor.
Ninja has been given an array, and he wants to find a subarray such that the sum of all elements in the subarray is maximum.
A subarray 'A' is considered greater than a...
The problem is to find a subarray with the maximum sum in a given array.
Iterate through the array and keep track of the maximum sum and the current sum.
If the current sum becomes negative, reset it to 0.
Update the maximum sum if the current sum is greater.
Also keep track of the start and end indices of the subarray with the maximum sum.
Return the subarray using the start and end indices.
Round duration - 50 Minutes
Round difficulty - Easy
Given a list of integers of size N
, your task is to determine the Next Greater Element (NGE) for every element. The Next Greater Element for an element X
is the firs...
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 that have a greater element to their right.
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, the...
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...
The question asks to find the total amount of rainwater that can be trapped in the given elevation map.
Iterate through the array and find the maximum height on the left and right side of each bar.
Calculate the amount of water that can be trapped at each bar by taking the minimum of the maximum heights on both sides and subtracting the height of the bar.
Sum up the amount of water trapped at each bar to get the total amo
Round duration - 30 Minutes
Round difficulty - Easy
It is just a formality round, asked basic questions like relocation and joining date etc
Tip 1 : Be good with all data structures and algorithms
Tip 2 : Able to explain your projects well
Tip 3 : focus on basics
Tip 1 : Try to make a single-page resume.
Tip 2 : Don't write unnecessary details like hobbies, family, etc.
I was interviewed in Mar 2022.
Round duration - 120 Minutes
Round difficulty - Medium
Machine Coding Round
2 Hours in Total
15 Mins for Question Explaination and Doubts
1.5 Hours for coding
15 mins to discuss the approach
Timing - 3 to 5 pm (They are flexible)
Interviewer was very patient and helped me understand the question
Round duration - 60 Minutes
Round difficulty - Medium
2 Data Strucutre Questions
Timing 5-6 pm (They are flexible)
Google Meet
Online IDE
Given an integer 'N', your task is to compute the number of structurally unique BSTs (binary search trees) that can be formed using an exact number of 'N' uniq...
The task is to compute the number of structurally unique BSTs that can be formed using an exact number of unique values.
Use dynamic programming to solve the problem efficiently.
The number of structurally unique BSTs can be calculated using Catalan numbers.
For N nodes, the number of structurally unique BSTs is given by the Nth Catalan number.
Example: For N=3, the number of structurally unique BSTs is 5.
You are provided with a string 'STR'
that consists of lowercase English letters ranging from 'a' to 'z'. Your task is to determine all non-empty possible subsequen...
Generate all possible subsequences of a given string.
Use recursion to generate all possible subsequences by including or excluding each character in the string.
Maintain a current index to keep track of the characters being considered.
Append the current character to each subsequence generated so far.
Recursively call the function with the next index to include or exclude the next character.
Base case: When the current ind...
Round duration - 60 Minutes
Round difficulty - Easy
HIRING MANAGER ROUND
Discussion about the organisation now questions
Tip 1 : Practice is they to success, every person will need a different path for preparation, the resources that you should use will depend upon your current expertise.
Tip 2 : For Machine Coding Rounds speed is key, you need to practice atleast 20 questions, Try to figure out techniques to common out code, code out your first question, and then spend good 2-3 hours in reducing no of lines and removing redundancy, try to note down methods you used to achieve less redundancy and for all the next questions you practice try to achieve that same quality from the beginning which will automatically increase your speed
Tip 3 : Do company wise preparation, look for interview experiences and try to map out commonly asked questions and categories of those questions and practice accordingly
Tip 1 : If applying for any non FE role (or any role that does not require designing or creative skills) keep a minimalistic resume
Tip 2 : Ensure to add a summary at the top which mentions all the criterias HRs consider while short listing resumes (Experience, Degree and Branch, Languages you have experience in, City, Willingness to Relocate, Notice Period, If already on notice period mention your last working day)
HAckerrank based test
I was interviewed before May 2021.
Round duration - 90 Minutes
Round difficulty - Medium
1 easy and 2 medium-hard DSA problems to solve
Kevin is playing a hurdle game where he must jump over hurdles to clear levels. Each level ‘i’ consists of ‘i’ hurdles (e.g., Level 6 has 6 hurdles).
Given the total number ...
Given the total number of hurdles Kevin has jumped, determine how many levels he has cleared.
Iterate through levels while subtracting hurdles from total jumped until remaining hurdles are less than current level
Return the current level as the number of levels cleared
Given an integer N
, find all possible placements of N
queens on an N x N
chessboard such that no two queens threaten each other.
A queen can attack another queen if they ar...
The N Queens Problem involves finding all possible placements of N queens on an N x N chessboard without threatening each other.
Use backtracking algorithm to explore all possible configurations.
Keep track of rows, columns, and diagonals to ensure queens do not threaten each other.
Generate valid configurations recursively and backtrack when a solution is not possible.
Bob is given a triangular pyramid with vertices 'O', 'X', 'Y', and 'Z'. He is also provided with an integer 'N'. Bob can move to any adjacent vertex in a single ste...
Calculate the number of ways Bob can complete a journey in a triangular pyramid after N steps.
Bob can move to any adjacent vertex in a single step
Bob must return to vertex 'O' after exactly 'N' steps
Calculate the number of different ways Bob can complete the journey
Return the result modulo 1000000007
Consider the constraints provided
Round duration - 60 Minutes
Round difficulty - Medium
2 DSA problems and computer subject questions
Given an integer K
, your task is to produce all binary strings of length 'K' that do not contain consecutive '1's.
The input begins with an integer ...
Generate all binary strings of length 'K' with no consecutive '1's in lexicographically increasing order.
Use backtracking to generate all possible binary strings of length 'K' with no consecutive '1's.
Start with an empty string and recursively add '0' or '1' based on the condition of no consecutive '1's.
Sort the generated strings in lexicographically increasing order before outputting them.
You are provided with three strings A
, B
, and C
. The task is to determine if C
is formed by interleaving A
and B
. C
is considered an interleaving of A
and B
if:
Check if a string is formed by interleaving two other strings.
Iterate through characters of A, B, and C simultaneously to check if C is formed by interleaving A and B.
Use dynamic programming to efficiently solve the problem.
Handle edge cases like empty strings or unequal lengths of A, B, and C.
Example: A = 'aab', B = 'abc', C = 'aaabbc' should return True.
Round duration - 60 Minutes
Round difficulty - Easy
DSA round
You are given coordinates for two lines on a 2D plane: Line 'AB' is defined by points 'A' and 'B', and Line 'PQ' is defined by points 'P' and 'Q'. Your task is to find the ...
Find the intersection point of two lines on a 2D plane given their coordinates.
Calculate the slopes of both lines using the given coordinates.
Use the slope-intercept form of a line to find the equations of the two lines.
Solve the equations simultaneously to find the intersection point.
Return the coordinates of the intersection point with precision up to 6 decimal places.
Determine if a given directed graph contains a cycle. If the graph has at least one cycle, return true
. Otherwise, return false
.
The first line of input contains...
Detect cycles in a directed graph and return true if a cycle exists, false otherwise.
Use Depth First Search (DFS) to detect cycles in the directed graph.
Maintain a visited array to keep track of visited vertices and a recursion stack to detect back edges.
If a vertex is visited and is present in the recursion stack, then a cycle exists.
Example: For the input 4 4, the graph has a cycle 0 -> 1 -> 2 -> 3 -> 1.
Round duration - 30 Minutes
Round difficulty - Easy
It is a managerial round
A URL is a web address that specifies the location of a resource on the internet. A load balancer distributes incoming network traffic across multiple servers to ensure optimal resource utilization and prevent overload.
A URL (Uniform Resource Locator) is a reference to a web resource that specifies its location on a computer network and the mechanism for retrieving it.
URLs typically consist of a protocol (such as HTTP ...
Tip 1 : Practice Trees, Graphs, DP
Tip 2 : Be sure about your projects
Tip 1 : Be genuine about your resume
Tip 2 : Have at least two projects on resume
I applied via LinkedIn and was interviewed in Jul 2024. There was 1 interview round.
Coding test based on Binary trees, String Manipulation
based on 1 interview
Interview experience
based on 3 reviews
Rating in categories
Team Lead
259
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Executive
255
salaries
| ₹0 L/yr - ₹0 L/yr |
Pharmacist
250
salaries
| ₹0 L/yr - ₹0 L/yr |
Assistant Manager
185
salaries
| ₹0 L/yr - ₹0 L/yr |
Executive
144
salaries
| ₹0 L/yr - ₹0 L/yr |
PharmEasy
Netmeds.com
Medlife
Practo