i
Zepto
Work with us
Filter interviews by
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...
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 a...
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.
F...
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.
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.
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 w...
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
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.
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.
Examp...
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 ord...
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.
What people are saying about Zepto
I applied via Naukri.com and was interviewed in Nov 2021. 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 applied via LinkedIn and was interviewed in Dec 2022. There were 3 interview rounds.
React lifecycle in functional components
useEffect hook replaces lifecycle methods
useEffect runs after every render by default
useEffect can be controlled by dependencies array
useEffect cleanup function can be used to clean up effects
useLayoutEffect hook runs synchronously after DOM mutations
Return numbers in array equal to sum
I applied via Referral and was interviewed in Sep 2023. There was 1 interview round.
My mostly question were around node js frame works and other tools
I'm a passionate Front End Developer with a knack for creating intuitive user interfaces and a love for continuous learning.
I have over 3 years of experience in HTML, CSS, and JavaScript, building responsive websites.
I enjoy working with frameworks like React and Vue.js, having developed several projects that improved user engagement.
I prioritize accessibility in my designs, ensuring that all users can navigate and int...
I appeared for an interview in Sep 2021.
Round duration - 45 Minutes
Round difficulty - Easy
Given an array or list ARR
consisting of N
integers, your task is to identify all distinct triplets within the array that sum up to a specified number K
.
A t...
The task is to identify all distinct triplets within an array that sum up to a specified number.
Iterate through the array and use nested loops to find all possible triplets.
Check if the sum of the triplet equals the specified number.
Print the valid triplets or return -1 if no such triplet exists.
Given a sorted array A consisting of N integers, your task is to find the magic index in the given array, where the magic index is defined as an index i such that A[i] = i...
Find the magic index in a sorted array where A[i] = i.
Iterate through the array and check if A[i] = i for each index i.
Since the array is sorted, you can optimize the search using binary search.
Return the index if found, else return -1.
Round duration - 50 Minutes
Round difficulty - Hard
You are provided with a sorted dictionary (by lexical order) in an alien language. Your task is to determine the character order of the alien language from this dictiona...
Given a sorted alien dictionary in an array of strings, determine the character order of the alien language.
Iterate through the words in the dictionary to build a graph of character dependencies.
Perform a topological sort on the graph to determine the character order.
Return the character array representing the order of characters in the alien language.
Given a positive integer N
, your goal is to find all the Jumping Numbers that are smaller than or equal to N
.
A Jumping Number is one where every adjacent digit has an a...
Find all Jumping Numbers smaller than or equal to a given positive integer N.
Iterate through numbers from 0 to N and check if each number is a Jumping Number.
For each number, check if the absolute difference between adjacent digits is 1.
Include all single-digit numbers as Jumping Numbers.
Output the list of Jumping Numbers that are smaller than or equal to N.
Given an integer N
representing the number of strings in an array Arr
composed of lowercase English alphabets, determine a string S
of length N
such that it can be used t...
Given an array of strings, find the lexicographically smallest string that can be used as a prefix to minimize the total cost of deleting prefixes from the strings.
Iterate through the array to find the common prefix among all strings
Choose the lexicographically smallest common prefix
Delete the common prefix from each string in the array to minimize the total cost
Round duration - 20 Minutes
Round difficulty - Easy
Tip 1 : Be consistent, practice regularly whatever you read/study.
Tip 2 : Apply what you learn through code.
Tip 1 : Have some projects on your resume.
Tip 2 : If you have an internship or training explain it in a proper way like what are the techniques you learned during your training.
I appeared for an interview before Jan 2021.
Round duration - 60 minutes
Round difficulty - Easy
Two coding questions were given in the first round to be solved in 60 minutes.
Given an array A
containing 'N' integers and an integer m
, rearrange the elements of the array such that the differences between the array elements and m
are sor...
Rearrange array elements based on their differences from a given integer.
Calculate the differences between each element and the given integer.
Sort the elements based on their differences while maintaining the original order for elements with the same difference.
Implement a function to rearrange the array elements as per the given criteria.
Given an arbitrary binary tree, a node of the tree, and an integer 'K', find all nodes that are at a distance K from the specified node, and return a list of th...
The task is to find all nodes in a binary tree that are at a distance K from a given node.
Traverse the binary tree to find the given node
From the given node, perform a depth-first search to find all nodes at distance K
Use a list to store the values of the nodes at distance K
Return the list of values in any order
Round duration - 60 minutes
Round difficulty - Easy
This was a technical round with questions based on DSA, DBMS, Computer Networking and project based questions.
Ninja is tasked with printing a triangle pattern based on a given number 'N' for any test case.
N = 4
1
232
34545
4567654
The pat...
Print a triangle pattern of numbers based on a given number 'N'.
Iterate through each row and print the numbers accordingly
Use spaces to center-align the numbers in each row
Increment the numbers in each row as per the pattern
Web server serves static content over HTTP, while application server runs dynamic content and business logic.
Web server handles HTTP requests and responses, serving static content like HTML, images, and CSS.
Application server executes business logic, runs dynamic content, and interacts with databases.
Web server examples include Apache, Nginx, while application server examples include Tomcat, JBoss.
Web server focuses on...
The internet is a global network of interconnected computers that communicate using standardized protocols.
The internet is made up of a vast number of interconnected networks of computers.
Data is transmitted over the internet using protocols such as TCP/IP.
Websites are hosted on servers connected to the internet, and users access them using web browsers.
Internet Service Providers (ISPs) provide access to the internet f...
SQL query to find the nth highest salary
Use the 'SELECT DISTINCT' statement to get unique salary values
Order the salaries in descending order using 'ORDER BY' clause
Use 'LIMIT' and 'OFFSET' to get the nth highest salary
Round duration - 30 minutes
Round difficulty - Easy
Typical HR round with behavioral problems.
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 appeared for an interview before Dec 2020.
Round duration - 60 Minutes
Round difficulty - Medium
This round was purely based on Data Structures and Algorithms . One has to be fairly comfortable in solving Algorithmic problems to pass this round . Both the questions asked were quite common and luckily I had already prepared them from CodeStudio and LeetCode.
Given a Binary Tree with 'N' nodes, where each node holds an integer value, your task is to compute the In-Order, Pre-Order, and Post-Order traversals of the binar...
Compute the In-Order, Pre-Order, and Post-Order traversals of a Binary Tree given in level-order format.
Implement functions to perform In-Order, Pre-Order, and Post-Order traversals of a Binary Tree.
Use level-order input to construct the Binary Tree.
Traverse the Binary Tree recursively to generate the required traversals.
Ensure proper handling of null nodes represented by -1 in the input.
Return the three traversals as ...
Given a Singly Linked List of integers, your task is to reverse the Linked List by altering the links between the nodes.
The first line of input is an intege...
Reverse a singly linked list by altering the links between nodes.
Iterate through the linked list and reverse the links between nodes
Use three pointers to keep track of the current, previous, and next nodes
Update the links between nodes to reverse the list
Return the head of the reversed linked list
Round duration - 45 Minutes
Round difficulty - Medium
This round basically tested some concepts from Data Structures and File Manipulation .
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.
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.
posted on 30 Nov 2015
I applied via Campus Placement
Shift Incharge
506
salaries
| ₹2 L/yr - ₹4.5 L/yr |
Store Manager
206
salaries
| ₹2.5 L/yr - ₹8.5 L/yr |
Team Lead
185
salaries
| ₹2 L/yr - ₹9 L/yr |
Senior Manager
183
salaries
| ₹11 L/yr - ₹34 L/yr |
Associate Director
134
salaries
| ₹35 L/yr - ₹57.8 L/yr |
Blinkit
Dunzo
BigBasket
Swiggy