Filter interviews by
I appeared for an interview in Sep 2021.
Round duration - 60 Minutes
Round difficulty - Medium
Mostly focused on Data Structure & Algorithm
Given a linked list consisting of 'N' nodes and an integer 'K', your task is to rotate the linked list by 'K' positions in a clockwise direction.
Li...
Rotate a linked list by K positions in a clockwise direction.
Traverse the linked list to find the length and the last node.
Connect the last node to the head to form a circular linked list.
Find the new head by moving (length - K) steps from the last node.
Break the circular link and update the head and tail pointers.
Return the new head of the rotated linked list.
Given a string STR
consisting of words separated by spaces, reverse the order of words in STR
.
A word is defined as a sequence of non-space characters. Attempt to perform...
Reverse the order of words in a string without allocating extra space.
Split the string into words using space as delimiter
Reverse the order of the words in the array
Join the words back together with spaces in between
Round duration - 50 Minutes
Round difficulty - Medium
JavaScript core concepts with some examples and problem discussion
Round duration - 30 Minutes
Round difficulty - Easy
Tip 1 : JavaScript from javascript.info and Akshay Saini videos
Tip 2 : Practise CSS styling for big web apps like Amazon, Flipkart etc
Tip 3 : Practice writing custom hooks and react code optimization.
Tip 1 : Write skills which you know only and be confident about it.
Tip 2 : Also, do mention the project's that you have done in your current company or as a part of your self learning.
Top trending discussions
I applied via Naukri.com and was interviewed in Nov 2022. There were 2 interview rounds.
Currying is a technique of transforming a function that takes multiple arguments into a sequence of functions that each take a single argument.
Currying allows partial application of a function
It helps in creating reusable functions
Curried functions are easier to compose and chain
Example: const add = (a) => (b) => a + b; add(2)(3) returns 5
Curry function is a higher-order function that allows partial application of arguments.
Currying transforms a function that takes multiple arguments into a series of functions that take one argument each.
It returns a new function until all the arguments are received and then executes the original function.
Example: const add = (a, b) => a + b; const curriedAdd = curry(add); curriedAdd(2)(3) returns 5.
promise.all() is a method that takes an array of promises and returns a new promise that resolves when all promises in the array have resolved.
It is used to handle multiple asynchronous operations simultaneously.
If any of the promises in the array rejects, the returned promise will be rejected with the reason of the first rejected promise.
The resolved values of the promises are returned as an array in the same order as...
Memoization is a technique of caching the results of a function to improve performance.
Memoization is used to avoid redundant calculations by storing the results of a function and returning the cached result when the same inputs occur again.
It is commonly used in recursive functions and functions with expensive computations.
Memoization can be implemented manually or by using libraries like Lodash or Memoizee.
Example: M...
Closure is a function that has access to its parent scope even after the parent function has returned.
Closure allows for private variables and functions in JavaScript.
It is created when a function returns another function.
The inner function has access to the outer function's variables and parameters.
Example: function outer() { let x = 10; return function inner() { console.log(x); } }
The inner function can access and mo...
Closures can cause memory leaks if not handled properly.
Closures can hold references to variables outside of their scope, preventing them from being garbage collected.
If closures are used excessively or not released properly, they can cause memory leaks.
To avoid memory leaks, make sure to release closures when they are no longer needed.
There is no difference between class based components and class based components.
There seems to be a typo in the question.
Assuming the question is about functional components vs class components, the major difference is that class components use a class to define the component while functional components are defined as functions.
Class components have access to lifecycle methods while functional components do not.
Functi...
Shallow copy only copies the reference to an object while deep copy creates a new object with a new memory address.
Shallow copy is faster and uses less memory than deep copy.
In shallow copy, changes made to the original object will reflect in the copied object as well.
Deep copy creates a completely new object with its own memory space.
In JavaScript, arrays and objects are assigned by reference, so a shallow copy will o...
Deep copy creates a new object with the same values as the original object.
Use Object.assign() method to create a deep copy of an object.
For nested objects, use recursion to copy all levels.
For arrays, use slice() method to create a new array with the same values.
Avoid using spread operator for deep copy as it only creates a shallow copy.
I applied via Referral and was interviewed in Sep 2023. There was 1 interview round.
I applied via Campus Placement and was interviewed in Feb 2024. There were 2 interview rounds.
Question are very tough and faad
Question like trees linked list and graphs
I appeared for an interview before Apr 2021.
Round duration - 45 Minutes
Round difficulty - Medium
It was in the mid day and since I applied for a Frontend role the discussion was majorly around data structure and bit of Javascript.
The interviewer was helping and good listener.
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.
...Merge two sorted linked lists into a single sorted linked list without using additional space.
Create a dummy node to start the merged list
Compare the values of the two linked lists and add the smaller value to the merged list
Move the pointer of the merged list and the pointer of the smaller value list
Continue this process until one of the lists is fully traversed
Append the remaining elements of the other list to the me...
Given an integer array arr
of size 'N' containing only 0s, 1s, and 2s, write an algorithm to sort the array.
The first line contains an integer 'T' representing the n...
Sort an array of 0s, 1s, and 2s in linear time complexity.
Use three pointers to keep track of 0s, 1s, and 2s while traversing the array.
Swap elements based on the values encountered to sort the array in-place.
Time complexity should be O(N) and space complexity should be O(1).
Round duration - 60 Minutes
Round difficulty - Medium
It was more of a in depth round on the framework I'm working on and problem solving.
The event loop is a mechanism in programming that allows for asynchronous execution of code.
The event loop is a key component in JavaScript's runtime environment, responsible for handling asynchronous operations.
It continuously checks the call stack for any pending tasks and executes them in a non-blocking manner.
The event loop ensures that the program remains responsive by allowing other code to run while waiting for ...
Output-based questions in JavaScript using browser APIs
Example 1: Write a script that uses the Geolocation API to display the user's current location on a map
Example 2: Create a program that uses the Web Audio API to play a sound when a button is clicked
Example 3: Develop a web page that uses the Canvas API to draw a simple animation
Designing a system to support localization in a mobile app
Use resource files to store localized strings for different languages
Implement a language selection feature for users to choose their preferred language
Utilize localization libraries or frameworks to streamline the process
Consider cultural differences when localizing content, such as date formats and currency symbols
Round duration - 75 Minutes
Round difficulty - Hard
It was more of a fitment/managerial round.
Didn't had any coding questions, but was asked more on approaches and optimisations.
Discussions on the project you have worked on.
To find the fastest 3 horses out of a group with 5 horses racing at a time, we can use a tournament style approach.
Divide the horses into groups of 5 and race them against each other. This will give you the fastest horse in each group.
Take the winners from each group and race them against each other. The top 3 horses in this final race will be the fastest 3 overall.
Keep track of the results and compare the timings to d...
To debug lag on a screen, analyze code, check for memory leaks, optimize rendering, and use profiling tools.
Analyze code to identify any inefficient algorithms or operations causing lag.
Check for memory leaks that could be impacting performance.
Optimize rendering by reducing the number of draw calls, optimizing shaders, and minimizing overdraw.
Use profiling tools like Xcode Instruments or Android Profiler to identify p...
The app I recently worked on is a social media platform for sharing photos and connecting with friends.
The app follows a client-server architecture, with the client being the mobile app and the server handling data storage and processing.
The client side is built using React Native for cross-platform compatibility.
The server side is implemented using Node.js with a MongoDB database for storing user data and photos.
The a...
Tip 1 : Get your JS fundamentals right (if applying for a Frontend role, https://javascript.info/ is a good start)
Tip 2 : Apart from preparing data structures, practise on the communication skills as well (prepare your introduction, be a good listener and on spot improvisation plays key roles)
Tip 1 : highlight projects related to the job profile in your resume and mention what was your contribution in them precisely in 1/2 lines.
Tip 2 : Include URLs to applications/projects that you have build and your achievements/blog (if any)
I appeared for an interview 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
A thread is a lightweight process that can run concurrently with other threads within the same process.
Threads allow for parallel execution of tasks within a single process.
Threads share the same memory space and resources of the process they belong to.
Threads can communicate with each other through shared memory or message passing.
Examples: Java threads, POSIX threads (pthreads) in C/C++.
Implement a solution to find the maximum profit from buying and selling stocks with at most 2 transactions.
Use dynamic programming to keep track of maximum profit at each day with 0, 1, or 2 transactions.
Consider the possibility of splitting the transactions into two separate parts.
Calculate the maximum profit by iterating through the prices array and updating the maximum profit accordingly.
Binary search is a divide and conquer algorithm that efficiently finds a target value in a sorted array.
Divide the array in half and compare the target value with the middle element
If the target is less than the middle element, search the left half. If greater, search the right half
Repeat the process until the target is found or the subarray is empty
Design a digital wallet system similar to Paytm.
Allow users to add money to their wallet using various payment methods like credit/debit cards, net banking, UPI, etc.
Enable users to make payments for various services like mobile recharge, bill payments, online shopping, etc.
Implement security measures like two-factor authentication, encryption of sensitive data, and regular security audits.
Provide features like transac...
I applied via Campus Placement and was interviewed before Sep 2023. There were 2 interview rounds.
Basic coding only not to worry much
I am a passionate software developer with experience in Java, Python, and web development.
Experienced in Java, Python, and web development technologies
Strong problem-solving skills
Excellent team player with good communication skills
I have worked on various projects including a web-based inventory management system and a mobile app for tracking fitness goals.
Developed a web-based inventory management system using React and Node.js
Created a mobile app for tracking fitness goals using Flutter
Implemented RESTful APIs for communication between frontend and backend systems
I appeared for an interview in Oct 2020.
Round duration - 90 minutes
Round difficulty - Medium
The test was conducted in the evening from 5:00 pm to 6:30 pm. Because of the covid situation, all the students attempted the test from their homes. But it was a webcam-based test to avoid any kind of cheating.
There were 3 coding problems to be done in 90 minutes.
After resume based shortlisting, 70 candidates were selected to appear for the test out of which 30 were shortlisted for interviews.
Determine if the third string contains all the characters from both the first and second strings in any order. If so, return "YES"; otherwise, return "NO".
Line ...
Check if the third string contains all characters from the first and second strings in any order.
Create a frequency map for characters in the first and second strings.
Check if all characters in the third string are present in the frequency map.
Ensure the count of characters in the third string matches the count in the frequency map.
Return 'YES' if all conditions are met, otherwise return 'NO'.
You are given a connected undirected unweighted graph comprising 'N' nodes and 'M' edges. In this graph, each pair of connected nodes is linked by exactly one undirected e...
Find the length of the shortest path visiting all nodes in a connected undirected unweighted graph.
Use Breadth First Search (BFS) to find the shortest path that visits all nodes at least once.
Maintain a bitmask to keep track of visited nodes and their states.
Consider all possible permutations of nodes to find the shortest path length.
Stark Industry is planning to organize meetings for various departments in preparation for Stark Expo. Due to limited rooms in Stark Tower, the goal is to alloca...
Determine the minimum number of conference rooms required for scheduling meetings.
Sort the meetings by start time.
Iterate through the meetings and keep track of rooms needed based on overlapping times.
Use a priority queue to efficiently allocate rooms.
Example: For meetings (1pm-4pm), (3pm-5pm), (4pm-6pm), 2 rooms are required.
Ensure linear time complexity by optimizing the room allocation process.
Round duration - 50 minutes
Round difficulty - Medium
This round started at 9 am and went till 4 pm.
Out of 70 students that appeared in online coding test, 30 were shortlisted for the first round (this round) of interviews.
In this round, everyone was asked one moderate level coding question. The interviewer provided the link to an IDE, where I wrote my code.
The interview started with the introduction being followed by 1 coding problem. In the end, the interviewer asked me if I wanted to ask any questions. To which I asked him my feedback so that I can improve my wear areas.
Of the 30 candidates, 17 were selected for the final interview round.
Given an array arr
containing 'N' distinct integers, your task is to generate all possible non-empty subsets of this array.
Note: While the elements within each subset should ...
Generate all possible non-empty subsets of an array of distinct integers.
Use recursion to generate all subsets by including or excluding each element in the array.
Maintain a current subset and add it to the result when reaching the end of the array.
Ensure elements within each subset are in increasing order.
Handle the input and output format as specified in the question.
Round duration - 50 minutes
Round difficulty - Easy
This was a technical + HR round. Started in the evening at 4:30 pm, this round went till 9:30 pm.
17 students were shortlisted for this final round of interview.
This interview was also virtual and involved both technical and HR-related questions. The interview started with an introduction and then questions based on my resume were asked.
Out of 17 candidates, 8 candidates got a full-time offer from Urban Company.
You are provided with a 2D matrix containing only the integers 0 or 1. The matrix has dimensions N x M, and each row is sorted in non-decreasing order. Your...
Find the row with the maximum number of 1's in a sorted 2D matrix.
Iterate through each row of the matrix and count the number of 1's in each row.
Keep track of the row index with the maximum number of 1's seen so far.
Return the index of the row with the maximum number of 1's.
If multiple rows have the same number of 1's, return the row with the smallest index.
Tip 1 : Coding Problems are asked from DSA, so a good practice of standard problems is a must. Revisit these problems before the interview to ace and crack the interview.
Tip 2 : To tackle the conceptual questions, you need to have thorough knowledge about the concepts, so to prepare for OS and DBMS, read one standard book.
Tip 3 : Have proper and clear knowledge about your project. Basic but tricky questions are asked based on the internship experience and the projects you have done.
Tip 1 : The best way to ace an interview is to take command of your interview in your hands. And this is done by having a balanced resume. Projects give direction to the interview and increase the probability of selection. So add at least 2 projects.
Tip 2 : Urban Company seeks team players and not just good coders. So add your achievements outside the academics to get shortlisted.
1-3 Yrs
Not Disclosed
Pharmacist
286
salaries
| ₹1.5 L/yr - ₹4.5 L/yr |
Assistant Manager
235
salaries
| ₹4.6 L/yr - ₹10 L/yr |
Customer Delight Officer
151
salaries
| ₹2 L/yr - ₹4 L/yr |
Senior Executive
112
salaries
| ₹3.2 L/yr - ₹7.5 L/yr |
Senior Software Engineer
100
salaries
| ₹18 L/yr - ₹32.8 L/yr |
Medlife
Tata 1mg
Udaan
Swiggy