i
OLX
Filter interviews by
I was interviewed before Feb 2023.
Machine coding
Dsa and advance js
Domain specific and FE focused
Design a video streaming platform
Consider the scalability and performance requirements
Implement a content delivery network (CDN) to distribute video content
Use adaptive streaming techniques to optimize video quality based on network conditions
Implement user authentication and authorization mechanisms
Design a robust video encoding and transcoding system
Implement a recommendation engine to suggest relevant videos
Ensure s...
Top trending discussions
Merge sort algorithm can be used to sort the balls in each basket and then merge the sorted baskets.
Apply merge sort algorithm to sort the balls in each basket
Merge the sorted baskets to get the final sorted order
Use recursion to implement merge sort
Time complexity of merge sort is O(nlogn)
Mutual Exclusion is a technique to ensure that only one process at a time can access a shared resource.
It prevents race conditions and ensures data consistency.
It can be implemented using locks, semaphores, or monitors.
Examples include critical sections in multi-threaded programs and database transactions.
It can lead to performance issues if not implemented efficiently.
Multithreading is the ability of a CPU to execute multiple threads concurrently. A process is an instance of a program in execution.
Multithreading allows multiple threads to run concurrently within a single process.
Threads share the same memory space and resources of the process they belong to.
Processes are independent of each other and have their own memory space and resources.
Threads are lightweight compared to proce...
Semaphore is a synchronization object used to control access to a shared resource.
Semaphore is used to limit the number of threads accessing a shared resource.
It can be used to implement critical sections and avoid race conditions.
Semaphore can be binary or counting, depending on the number of resources available.
Examples of semaphore in programming languages include Java's Semaphore class and Python's threading.Semaph
Wait for completion of all threads and join them into a single thread.
Use join() method to wait for completion of each thread.
Create a new thread and call start() method to start the execution of all threads.
Use sleep() method to pause the execution of the current thread until all threads complete their execution.
To delete 95,000 records with limited local memory, use batch processing and delete in chunks.
Use batch processing to delete records in chunks
Delete records in descending order of their IDs to avoid index fragmentation
Commit the transaction after deleting each batch to avoid long-running transactions
Consider archiving the deleted records instead of permanently deleting them
Program in C to implement a function 'sum' that performs integer addition, float addition, and string concatenation based on the input arguments.
Define the function 'sum' with two arguments of type 'void *'.
Use 'if-else' statements to check the data type of the arguments.
Perform integer addition if both arguments are of type 'int'.
Perform float addition if both arguments are of type 'float'.
Concatenate the strings if b...
SQL query for creating tables
Use CREATE TABLE statement
Specify table name and column names with data types
Add constraints like primary key, foreign key, etc.
Example: CREATE TABLE customers (id INT PRIMARY KEY, name VARCHAR(50), email VARCHAR(50))
Nested tables are tables within tables, used to organize and store complex data structures.
Nested tables are commonly used in databases to store arrays of data within a single row of a table.
They can also be used in programming languages to create multidimensional arrays.
Accessing data within a nested table requires using multiple levels of indexing.
Nested tables can improve data organization and simplify complex data
Views are virtual tables that display data from one or more tables in a database.
Views are created using SELECT statements.
They can be used to simplify complex queries.
They can also be used to restrict access to sensitive data.
Views do not store data themselves, but rather display data from underlying tables.
Changes made to the underlying tables are reflected in the view.
I am a software developer with experience in multiple programming languages and a passion for problem-solving.
Proficient in Java, Python, and C++
Experience with web development using HTML, CSS, and JavaScript
Familiarity with Agile development methodologies
Strong problem-solving and analytical skills
Excellent communication and teamwork abilities
Postfix expression can be evaluated using a stack data structure.
Create an empty stack
Scan the expression from left to right
If the scanned character is an operand, push it onto the stack
If the scanned character is an operator, pop two operands from the stack, perform the operation and push the result back
Repeat until the end of the expression
The final result is the top of the stack
In 5 years, I see myself as a senior software developer leading a team of developers to create innovative solutions.
Leading a team of developers to create innovative solutions
Continuing to learn and stay up-to-date with new technologies
Contributing to the growth and success of the company
Mentoring and coaching junior developers
Taking on more responsibilities and challenges
Ebay is a leading e-commerce platform with a global reach and a diverse range of products.
Ebay has a large and diverse customer base, providing opportunities to work on a variety of projects.
The company has a strong focus on innovation and technology, which aligns with my interests and skills.
Ebay offers a dynamic and fast-paced work environment, which I find exciting and challenging.
The company has a strong reputation...
Find pair of elements in an array whose sum is equal to a given number K.
Iterate through the array and for each element, check if K minus the element exists in the array.
Use a hash table to store the elements and their indices for faster lookup.
If multiple pairs exist, return any one of them.
If no pair exists, return null or an appropriate message.
Session is maintained using session affinity or sticky sessions.
Session affinity ensures that a user's session is always directed to the same server.
Load balancer uses a unique identifier to route requests to the same server.
Sticky sessions can be implemented using cookies or URL rewriting.
Session replication can also be used to maintain session data across multiple servers.
Singleton pattern ensures only one instance of a class is created and provides a global point of access to it.
Create a private constructor to prevent direct instantiation of the class
Create a private static instance of the class
Create a public static method to access the instance
Ensure thread safety by using synchronized keyword or static initialization block
Examples: Logger, Configuration Manager, Database Connection
Explaining abstract class, interface and multiple inheritance in PHP.
Abstract class is a class that cannot be instantiated and can have abstract methods.
Interface is a collection of abstract methods and constants that can be implemented by a class.
Multiple inheritance is not possible in PHP, but can be achieved using interfaces.
Interfaces can be implemented by multiple classes, allowing for multiple inheritance-like be
Write a stored procedure from given tables and conditions
Identify the tables and their relationships
Determine the conditions to be used in the stored procedure
Write the SQL code for the stored procedure
Test the stored procedure to ensure it returns the desired results
To increase PHP memory at run time, modify the php.ini file or use ini_set() function.
Edit the memory_limit value in php.ini file
Use ini_set('memory_limit', '256M') function to increase memory limit at run time
Check for memory leaks in the code
Use unset() function to free up memory after use
php.ini is a configuration file for PHP that allows users to customize various settings.
Change PHP settings such as memory limit, file upload size, and error reporting
Enable or disable extensions and modules
Set timezone and language settings
Configure email settings
Control caching and session settings
Use window.location to get domain from a url in jQuery.
Use window.location to get the full url
Use .hostname to get the domain name
Use .replace() to remove 'www.' if present
WAP to find smallest palindrome number larger than given number.
Convert the given number to string and check if it is already a palindrome.
If not, increment the number and check if it is a palindrome.
Repeat until a palindrome number larger than the given number is found.
Use a while loop to implement the above steps.
WAP to check if linked list elements is a palindrome without using any extra space.
Traverse the linked list and reverse the second half of the list
Compare the first half with the reversed second half
Use two pointers to traverse the list, one at normal speed and other at double speed
Find the first non-repeating character in a string.
Create a hash table to store the frequency of each character in the string.
Iterate through the string and check the frequency of each character.
Return the first character with a frequency of 1.
Connection pooling is a technique of reusing database connections to improve performance.
Connection pooling helps to reduce the overhead of creating and destroying database connections.
It maintains a pool of connections that can be reused by multiple clients.
Connection pooling is commonly used in web applications to handle multiple requests simultaneously.
It can be configured with parameters like maximum number of conn...
A singleton class in PHP is a class that can only be instantiated once.
Create a private constructor to prevent direct instantiation
Create a private static variable to hold the instance of the class
Create a public static method to get the instance of the class
Ensure that the public static method always returns the same instance
To connect to MySQL database using PHP, create a Connection class.
Use mysqli_connect() function to establish a connection
Pass the database credentials as parameters to the function
Create a constructor method to initialize the connection
Create a query method to execute SQL queries
Close the connection using mysqli_close() method
There are three types of errors in PHP: syntax errors, runtime errors, and logical errors.
Syntax errors occur when the code is not written correctly, such as missing semicolons or parentheses.
Runtime errors occur during the execution of the code, such as trying to access an undefined variable.
Logical errors occur when the code runs without errors, but produces unexpected results, such as a miscalculation in a formula.
Session in PHP allows to store user data on the server for later use.
Session starts when a user logs in and ends when the user logs out or the session expires.
Session data is stored on the server and identified by a unique session ID.
Session variables can be set and accessed using the $_SESSION superglobal array.
Session can be destroyed using the session_destroy() function.
Session can be used to store user-specific dat...
Find missing element in an array of elements from 0 to n-1
Calculate sum of all elements in array and subtract from sum of n natural numbers
Use XOR operation on all elements and n natural numbers
Sort the array and find the missing element
I was interviewed before Sep 2020.
Round duration - 60 minutes
Round difficulty - Easy
Round duration - 50 minutes
Round difficulty - Easy
Round duration - 60 minutes
Round difficulty - Easy
At the beginning of this round, the interviewer asked me about the data structures I knew. Linked lists, trees, graphs, arrays etc. was my answer. He asked me how well I knew Dynamic Programming. I said I wasn’t strong in that and he said that he would ask me a question on dynamic programming for sure.
Round duration - 40 minutes
Round difficulty - Easy
The interviewer asked me if I was comfortable with the interview process so far and how the previous interviews were. I said it was good and he gave me the first problem to solve.
Round duration - 60 minutes
Round difficulty - Easy
The interviewer asked me some Computer Science fundamentals in this round as well as some behavioural questions.
Implement a Trie data structure with insert and search functions.
Create a TrieNode class with children and isEndOfWord attributes.
Implement insert function to add words by iterating through characters.
Implement search function to check if a word exists by traversing the Trie.
Example: Insert 'apple', 'banana', 'orange' and search for 'apple' and 'grape'.
Do lot of hard work and practice of Data Structures and Algorithms based questions. I personally recommend you Coding Ninjas and Geeks For Geeks for interview preparation.
Application resume tips for other job seekersMake your resume short and try to make it of one page only and do mention all your skills which you are confident of in your resume.
Final outcome of the interviewSelectedI was interviewed in Aug 2017.
Merge Sort is a divide and conquer algorithm that sorts an array by dividing it into two halves, sorting them separately, and then merging the sorted halves.
Divide the array into two halves
Recursively sort the two halves
Merge the sorted halves
Find pairs of integers in a BST whose sum is equal to a given number.
Traverse the BST and store the values in a hash set.
For each node, check if (X - node.value) exists in the hash set.
If yes, add the pair (node.value, X - node.value) to the result.
Continue traversal until all nodes are processed.
Merge overlapping time intervals into mutually exclusive intervals.
Sort the intervals based on their start time.
Iterate through the intervals and merge overlapping intervals.
Output the mutually exclusive intervals.
Example: [(1,3), (2,6), (8,10), (15,18)] -> [(1,6), (8,10), (15,18)]
Different types of hashing and alternative for Linear Chaining
Different types of hashing include division, multiplication, and universal hashing
Alternative for Linear Chaining is Open Addressing
Open Addressing includes Linear Probing, Quadratic Probing, and Double Hashing
An AVL tree is a self-balancing binary search tree where the heights of the left and right subtrees differ by at most one.
AVL tree is a binary search tree with additional balance factor for each node.
The balance factor is the difference between the heights of the left and right subtrees.
Insertion and deletion operations in AVL tree maintain the balance factor to ensure the tree remains balanced.
Rotations are performed ...
Find the minimum number of squares whose sum equals to a given number n.
Use dynamic programming to solve the problem efficiently.
Start with finding the square root of n and check if it is a perfect square.
If not, then try to find the minimum number of squares required for the remaining number.
Repeat the process until the remaining number becomes 0.
Return the minimum number of squares required for the given number n.
Insertion sort for a singly linked list.
Traverse the list and compare each node with the previous nodes
If the current node is smaller, swap it with the previous node
Repeat until the end of the list is reached
Time complexity is O(n^2)
I was interviewed before May 2021.
Round duration - 90 minutes
Round difficulty - Medium
Around 65-70 people sat for the test. 15 people were shortlisted. It consisted of the following to be done in 90 minutes.
- 28 MCQs based on core CS
- 2 Coding questions – everyone had different and random questions. Most questions were custom logic based (easy level) including some standard questions – LCS, LIS, topological sort.
Round duration - 60 minutes
Round difficulty - Easy
Interviewer was very friendly. It started with the standard – tell me about yourself / introduce yourself type of question. Then he proceeded and asked two coding questions
Your friend has homework to complete. Help him by removing duplicates from a sorted linked list.
You are given the 'Head' of a sorted linked list. Modify the l...
Remove duplicates from a sorted linked list without adjacent duplicates.
Traverse the linked list while comparing current and next nodes.
If they are equal, skip the next node by updating the current node's next pointer.
Repeat until the end of the list is reached.
You are enrolled as a student and must complete N
courses, numbered from 1 to N, to earn your degree.
Some courses have prerequisites, which means that to take course i
,...
Check if it is feasible to complete all courses with prerequisites.
Create a graph representing the prerequisites with courses as nodes and edges as prerequisites.
Perform a topological sort on the graph to check if there is a cycle (if there is, then it's not feasible to complete all courses).
If there is no cycle, then it is feasible to complete all courses.
Round duration - 60 minutes
Round difficulty - Medium
This round had only 1 question. The interviewer introduced himself. And he advised me to clearly understand the problem before proceeding.
You are given a binary tree of distinct integers, along with two nodes, ‘X’ and ‘Y’. Your task is to determine the Lowest Common Ancestor (LCA) of ‘X’ and ‘Y’.
The LC...
Find the Lowest Common Ancestor of two nodes in a binary tree.
Traverse the binary tree to find the paths from the root to nodes X and Y.
Compare the paths to find the last common node, which is the Lowest Common Ancestor.
Implement a recursive function to efficiently find the LCA.
Handle cases where one node is an ancestor of the other.
Consider edge cases like when X or Y is the root node.
Round duration - 60 minutes
Round difficulty - Medium
Pretty Good Round. Fast Paced. We covered a lot of ground.
Design and implement a class BSTIterator
to perform an in-order traversal over a Binary Search Tree (BST). Your implementation should include the following me...
Design and implement a class BSTIterator to perform in-order traversal over a Binary Search Tree (BST).
Implement a parameterized constructor to initialize the iterator with the root of the BST.
Implement a method 'next()' to return the next smallest element in in-order traversal.
Implement a method 'hasNext()' to check if there exists a next smallest element in traversal.
Ensure the output is the in-order traversal of the
Given a binary array 'ARR' of size 'N', your task is to determine the maximum length of a sequence consisting solely of 1’s that can be obtained by converting at...
Find the maximum length of a sequence of 1's by converting at most K zeroes into ones in a binary array.
Iterate through the array and keep track of the current window of 1's and zeroes.
Use a sliding window approach to find the maximum length of consecutive 1's by flipping at most K zeroes.
Update the window based on the number of zeroes flipped and keep track of the maximum length found so far.
Return the maximum length ...
You are given an undirected and disconnected graph G(V, E)
having V
vertices numbered from 0
to V-1
and E
edges. Your task is to print its BFS traversal starting from the 0t...
BFS traversal of an undirected and disconnected graph starting from vertex 0.
Start BFS traversal from vertex 0 and visit all connected nodes in sorted order.
Use a queue to keep track of nodes to visit next.
Keep a visited array to avoid revisiting nodes.
Print the BFS traversal path as the nodes are visited.
Example: For input V=5, E=4 and edges 0-1, 0-2, 1-3, 2-4, the BFS traversal will be [0, 1, 2, 3, 4].
Given an undirected graph with V
vertices (labeled 0, 1, ..., V-1) and E
edges, each edge connects two nodes X
and Y
with a specified weight representing the dis...
Dijkstra's algorithm is used to find the shortest path distance from a source node to all other nodes in an undirected graph.
Implement Dijkstra's algorithm to find the shortest path distance from node 0 to all other nodes in the graph.
Use a priority queue to efficiently select the next node with the shortest distance.
Initialize distances to all nodes as infinity, except for the source node which is 0.
Update distances t...
Round duration - 60 minutes
Round difficulty - Hard
Bar Raised Round. Definitely felt the difficulty.
You are given a string consisting of English alphabet characters. Your task is to identify and return the first character in the string that does not repeat...
Identify and return the first non-repeating character in a string, or the first character if all characters repeat.
Iterate through the string to count the frequency of each character
Iterate through the string again to find the first character with frequency 1
If no such character is found, return the first character of the string
Tip 1 : Practice at least 250 Questions, Give yourself enough time for preparation. Cramming won't take you very far. In books, I really liked Elements of Programming Interviews.
Tip 2 : Make sure to brush up your basics - coding style, OOPs, Language features. They help in making an impression.
Tip 3 : Don't worry about solving the question in the interview. Learn to tackle any random problem with the best of your ability. More often than not, that'd be enough.
Tip 1 : Keep your resume clean - no graphics, no multiple fonts. Keep it one page.
Tip 2 : Don't go over board in mentioning skills, only mention the things you are truly confident about.
I was interviewed before Sep 2020.
Round duration - 90 minutes
Round difficulty - Easy
This was MCQ+Coding round.
Check if two strings are anagrams by comparing the sorted versions of the strings.
Sort both strings and compare if they are equal.
Use a hashmap to store the frequency of characters in each string and compare the maps.
Ignore spaces and punctuation when comparing the strings.
Round duration - 90 minutes
Round difficulty - Easy
This was face to face interview round.
Round duration - 90 minutes
Round difficulty - Easy
This was face to face interview round.
Tip 1 : Participate in live contests on websites like Codechef, Codeforces etc as much as possible.
Tip 2 : Practice previous interview questions from LeetCode, GeeksForGeeks.
Tip 3 : Revise Computer Science subjects like DBMS, OOPS thoroughly.
Add projects and Internships if you have done any and add only those things which you really know.
Final outcome of the interviewSelectedI was interviewed before Sep 2020.
Round duration - 90 Minutes
Round difficulty - Medium
Interview started at 11:00 am. It was an online round. During the coding round I submitted optimized solution and got full acceptance of the solutions.
You are provided with a directed graph composed of 'N' nodes. You have a matrix called 'EDGES' with dimensions M x 2, which specifies the 'M' edges in the graph. Each edge...
Detect cycle in a directed graph using depth-first search (DFS) algorithm.
Use DFS to traverse the graph and detect back edges indicating a cycle.
Maintain a visited array to keep track of visited nodes during traversal.
If a node is visited again during traversal and it is not the parent node, then a cycle exists.
Return true if a cycle is detected, false otherwise.
Round duration - 80 Minutes
Round difficulty - Medium
Interview started at 10:00 am. Interview went well, I was able to connect with the interviewer and enjoyed the whole interview
Find the next smallest palindrome strictly greater than a given number 'N' represented as a string 'S'.
You are given a number in string format, a...
Find the next smallest palindrome greater than a given number represented as a string.
Convert the string to an integer, find the next greater palindrome, and convert it back to a string.
Handle cases where the number is a palindrome or has all digits as '9'.
Consider both odd and even length numbers when finding the next palindrome.
Round duration - 80 Minutes
Round difficulty - Medium
Interview started at 11:00 am. Interview went well.
Given a binary tree of integers, your task is to return the boundary nodes of the tree in Anti-Clockwise direction starting from the root node.
The first line ...
Return the boundary nodes of a binary tree in Anti-Clockwise direction starting from the root node.
Traverse the left boundary nodes in a top-down manner
Traverse the leaf nodes from left to right
Traverse the right boundary nodes in a bottom-up manner
Handle cases where duplicates occur in the boundary nodes
Implement the function without printing as printing is already managed
Tip 1 : For Data Structures number of questions doesn't matter. Try to understand the logic behind them and try to apply them in creating multiple scenario's. Learn them by heart.
Tip 2 : For Web.Development Try to learn full stack development. See which part interests you more, Increase your knowledge horizon, Always try to build a system a system considering It will be served to millions of customers. By doing this 1-2 projects will increase and cover all the major things which one should learn in their career/college.
Tip 1 : Always try to make it a single page
Tip 2 : Always make resume company specific. eg. Data Structures part more if you are applying for MNC's eg. Amazon, Google, DE Shaw, browserstack.
I was interviewed before Jan 2021.
Round duration - 60 Minutes
Round difficulty - Medium
This was a typical DS/Algo where I was asked to solve two questions related to Binary Trees and write the pseudo code for both of them followed by some theoretical questions related to Operating Systems.
Given a binary search tree (BST) consisting of integers and containing 'N' nodes, your task is to find and return the K-th largest element in this BST.
If there is no K-th la...
Find the K-th largest element in a BST.
Perform reverse in-order traversal of the BST to find the K-th largest element.
Keep track of the count of visited nodes to determine the K-th largest element.
Return -1 if there is no K-th largest element in the BST.
Determine if the given binary tree is height-balanced. A tree is considered height-balanced when:
Determine if a given binary tree is height-balanced by checking if left and right subtrees are balanced and their height difference is at most 1.
Check if the left subtree is balanced
Check if the right subtree is balanced
Calculate the height difference between the left and right subtrees
Return 'True' if all conditions are met, otherwise return 'False'
Zombie process is a terminated process that has completed execution but still has an entry in the process table. Orphan process is a process whose parent process has terminated.
Zombie process is created when a child process completes execution but its parent process has not yet read its exit status.
Zombie processes consume system resources and should be cleaned up by the parent process using wait() system call.
Orphan p...
Round duration - 60 Minutes
Round difficulty - Medium
This was also a Data Structures and Algorithm round where I was asked to solve 3 medium to hard level problems along with their pseudo code within 60 minutes .
Given a string S
of length L
, determine the length of the longest substring that contains no repeating characters.
"abac...
Find the length of the longest substring without repeating characters in a given string.
Use a sliding window approach to keep track of the longest substring without repeating characters.
Use a hashmap to store the index of each character in the string.
Update the start index of the window when a repeating character is found.
Calculate the maximum length of the window as you iterate through the string.
Return the maximum le
Given a sorted array that has been rotated clockwise by an unknown amount, you need to answer Q
queries. Each query is represented by an integer Q[i]
, and you must ...
Search for integers in a rotated sorted array efficiently.
Use binary search to efficiently search for integers in the rotated sorted array.
Handle the rotation of the array while performing binary search.
Return the index of the integer if found, else return -1.
Given an array ARR
and an integer K
, your task is to count all subarrays whose sum is divisible by the given integer K
.
The first line of input contains an...
Count subarrays with sum divisible by K in an array.
Iterate through the array and keep track of the prefix sum modulo K.
Use a hashmap to store the frequency of each prefix sum modulo K.
For each prefix sum, increment the count by the frequency of (prefix sum - K) modulo K.
Handle the case when prefix sum itself is divisible by K.
Return the total count of subarrays with sum divisible by K.
Round duration - 50 Minutes
Round difficulty - Medium
In this round , I was asked to code a simple question related to BST . After that I was asked the internal implementation of a Hash Map where I was supposed to design a Hash Map using any of the Hashing Algorithms that I know . This was preety challenging for me but I got to learn so much from it.
Given a Binary Search Tree (BST) and an integer, write a function to return the ceil value of a particular key in the BST.
The ceil of an integer is defined as the s...
Ceil value of a key in a Binary Search Tree (BST) is found by returning the smallest integer greater than or equal to the given number.
Traverse the BST to find the closest value greater than or equal to the key.
Compare the key with the current node value and update the ceil value accordingly.
Recursively move to the left or right subtree based on the comparison.
Return the ceil value once the traversal is complete.
Create a data structure that maintains mappings between keys and values, supporting the following operations in constant time:
1. INSERT(key, value): Add or update t...
Design a constant time data structure to maintain mappings between keys and values with various operations.
Use a hash table to achieve constant time complexity for INSERT, DELETE, SEARCH, and GET operations.
Keep track of the number of key-value pairs for GET_SIZE operation.
Check if the hash table is empty for IS_EMPTY operation.
Return true or false for SEARCH operation based on key existence.
Return the value associated...
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.
based on 1 interview
Interview experience
based on 1 review
Rating in categories
Dealer Success Manager
152
salaries
| ₹0 L/yr - ₹0 L/yr |
Key Account Manager
141
salaries
| ₹0 L/yr - ₹0 L/yr |
Accounts Manager
119
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Accounts Manager
70
salaries
| ₹0 L/yr - ₹0 L/yr |
Retail Associate
65
salaries
| ₹0 L/yr - ₹0 L/yr |
Quikr
eBay
Tokopedia
Flipkart