i
Whatfix
Filter interviews by
I applied via Campus Placement
Coding Questions, Aptitude Questions
Implement a function to find the next permutation of a given array of strings.
Use the concept of lexicographic ordering to find the next permutation.
Start from the right end of the array and find the first element that is smaller than the element next to it.
Swap this element with the smallest element to its right that is larger than it.
Reverse the elements to the right of the swapped element to get the next permutation
Top trending discussions
I applied via Naukri.com and was interviewed in Nov 2022. There were 2 interview rounds.
Debouncer and throttle are techniques used to limit the frequency of function calls.
Debouncing delays the execution of a function until a certain amount of time has passed without the function being called again.
Throttling limits the frequency of function calls to a certain rate, executing the function at fixed intervals.
Debouncing is useful for events that may be triggered multiple times in quick succession, such as r...
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 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 applied via Referral and was interviewed before Sep 2022. There were 3 interview rounds.
Basic React JS clock/ stopwatch
I applied via Campus Placement and was interviewed in Apr 2023. There were 3 interview rounds.
2 coding question one on maximum sum problem and other on tree traversal
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.
The exam duration is one and a half hours.
The total exam time is one and a half hours.
It encompasses all topics related to full stack development.
In two years, I see myself as a senior software developer leading a team on innovative projects.
Advancing to a senior software developer role
Leading a team on new and innovative projects
Continuing to enhance my technical skills through ongoing learning and training
They asked advanced currying and vanilla javascript which no one uses
based on 1 interview
Interview experience
Solution Engineer
53
salaries
| ₹5.3 L/yr - ₹19 L/yr |
Customer Success Manager
25
salaries
| ₹17 L/yr - ₹32 L/yr |
Technical Support Engineer
24
salaries
| ₹13 L/yr - ₹15.7 L/yr |
Business Development Representative
23
salaries
| ₹8 L/yr - ₹21 L/yr |
Software Development Engineer II
21
salaries
| ₹17 L/yr - ₹46.5 L/yr |
Udaan
Swiggy
BlackBuck
Ninjacart