Filter interviews by
Implement a ctlr+f (find) functionality in a file using a data structure.
Create a data structure to store the file content, such as an array of strings.
Implement a function that takes a search query and returns the matching lines from the file.
Use string matching algorithms like Knuth-Morris-Pratt or Boyer-Moore for efficient searching.
Consider optimizing the data structure for faster search operations, like using...
The set of all nodes that can occur in any path from a source to a destination in both directed and undirected graphs.
Perform a depth-first search (DFS) or breadth-first search (BFS) from the source node to the destination node.
During the search, keep track of all visited nodes.
Add each visited node to the set of nodes that can occur in any path.
Repeat the search for both directed and undirected graphs.
The resulti...
The maximum number of bridges that can be connected between two sides of a river without crossing each other.
This is a dynamic programming problem.
Create a 2D array to store the maximum number of bridges that can be connected at each position.
Initialize the first row and column of the array with 0.
Iterate through the sides of the river and compare the labels.
If the labels match, update the value in the array by ad...
The code should traverse the binary tree level by level and update the next pointers accordingly.
Use a queue to perform level order traversal of the binary tree.
For each node, update its next pointer to point to the next node in the queue.
If the current node is the last node in the level, update its next pointer to NULL.
Merge two sorted arrays with empty spaces at the end in a single pass.
Initialize two pointers at the end of each array
Compare the elements at the pointers and place the larger element at the end of the merged array
Decrement the pointer of the array from which the larger element was taken
Repeat until all elements are merged
The number of ways to reach the nth step using 1 or 2 steps at a time.
Use dynamic programming to solve this problem
Create an array to store the number of ways to reach each step
Initialize the first two elements of the array as 1, since there is only one way to reach the first and second steps
For each subsequent step, the number of ways to reach it is the sum of the number of ways to reach the previous two steps
Ret...
Find the maximum interval that intersects the maximum number of intervals.
Sort the intervals based on their start times.
Iterate through the sorted intervals and keep track of the current interval with the maximum number of intersections.
Update the maximum interval whenever a new interval intersects more intervals than the current maximum interval.
Design a seat booking system that locks seats until payment is confirmed, handling failures and timeouts effectively.
Implement a state machine with states: Available, Locked, Paid, and Cancelled.
When a user selects seats, transition from Available to Locked state.
Set a timer for the payment process; if payment is not completed in time, transition to Available.
Handle payment failures by transitioning from Locked to...
Check if a path exists from a word to a single letter by removing one letter at a time, ensuring all intermediate words are valid.
Use a recursive function to explore all possible paths by removing one letter at a time.
Utilize a set for the dictionary for O(1) lookups.
Base case: If the current word is a single letter and exists in the dictionary, return true.
Example: For 'alpha', valid path could be 'alpha' -> '...
Identify and correct two swapped nodes in a Binary Search Tree (BST) to restore its properties.
In a BST, for any node, left children are smaller and right children are larger.
Perform an in-order traversal to identify the two swapped nodes.
During traversal, keep track of the previous node to find violations.
Example: For BST [4, 2, 6, 1, 3, 5, 7], if 1 and 6 are swapped, in-order gives [6, 2, 4, 1, 3, 5, 7].
Swap the...
Position property in CSS
position: static is the default value
position: relative is relative to its normal position
position: absolute is relative to the nearest positioned ancestor
position: fixed is relative to the viewport
Sockets and Ajax are both used for real-time communication, but sockets are more efficient for continuous data transfer.
Sockets provide a persistent connection between client and server, while Ajax uses HTTP requests.
Sockets are faster and more efficient for real-time data transfer.
Ajax is better suited for occasional data updates or small amounts of data.
Examples of socket-based applications include chat rooms and onl...
Node is a popular server-side JavaScript runtime environment.
Node is fast and efficient for handling I/O operations.
It has a large and active community with a vast number of modules available.
Node allows for easy scalability and can handle a large number of concurrent connections.
It is cross-platform and can run on various operating systems.
Node is commonly used for building real-time applications, APIs, and microservi...
A server is a computer program that provides services to other computer programs or clients over a network.
A server listens for incoming requests from clients
It processes the requests and sends back the response
Servers can be dedicated or shared
Examples include web servers, email servers, and file servers
I appeared for an interview before Feb 2021.
Round duration - 60 minutes
Round difficulty - Easy
Resume based and 1 coding question. Briefly discussed about projects in resume and questions were completely related to projects mentioned.
You are provided with an array of integers 'ARR' consisting of 'N' elements. Each integer is within the range [1, N-1], and the array contains exactly one duplica...
Find the duplicate element in an array of integers.
Iterate through the array and keep track of seen elements using a set or hashmap.
If an element is already in the set, it is the duplicate element.
Return the duplicate element once found.
Round duration - 60 minutes
Round difficulty - Medium
This round was completely pen and paper coding round. 3 coding questions were asked.
You are given an arbitrary binary tree consisting of N nodes, each associated with an integer value from 1 to 9. Each root-to-leaf path can be considered a number formed by concat...
Calculate the total sum of all root to leaf paths in an arbitrary binary tree.
Traverse the tree from root to leaf nodes, keeping track of the current path sum.
Add the current node value to the path sum and multiply by 10 for each level.
When reaching a leaf node, add the final path sum to the total sum.
Return the total sum modulo (10^9 + 7) as the final result.
Determine the length of the largest subarray within a given array of 0s and 1s, such that the subarray contains an equal number of 0s and 1s.
Input beg...
Find the length of the largest subarray with equal number of 0s and 1s in a given array.
Iterate through the array and maintain a count of 0s and 1s encountered so far.
Store the count difference in a hashmap with the index as key.
If the same count difference is encountered again, the subarray between the two indices has equal 0s and 1s.
Compute the skyline of given rectangular buildings in a 2D city, eliminating hidden lines and forming the outer contour of the silhouette when viewed from a distance. Each building is ...
Compute the skyline of given rectangular buildings in a 2D city, eliminating hidden lines and forming the outer contour of the silhouette.
Iterate through the buildings and create a list of critical points (x, y) where the height changes.
Sort the critical points based on x-coordinate and process them to form the skyline.
Merge consecutive horizontal segments of equal height into one to ensure no duplicates.
Return the fin...
Round duration - 20 minutes
Round difficulty - Easy
Only one coding question was asked with time limit of 10 minutes
You are provided with a continuous non-empty string (referred to as 'sentence') which contains no spaces and a dictionary comprising a list of non-empty strings (known as 'wor...
Given a dictionary of words and a continuous string, generate all possible sentences by inserting spaces.
Iterate through the continuous string and check all possible substrings to see if they are in the dictionary.
Use recursion to generate all possible sentences by inserting spaces at different positions.
Return the valid sentences formed using the words from the dictionary.
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 : Make a cv which is appealing, and highlight some key things regarding web development or algorithms or system development.
Tip 2 : Have at-least 2 good projects explained in short with all important points covered.
I appeared for an interview before Feb 2021.
Round duration - 60 minutes
Round difficulty - Easy
This was a technical round with questions on CSS and Node js.
Tip : Have a basic knowledge about : SASS,Susy,Jade,npm,grunt,gulp,yeoman,LibSASS
The CSS position property defines the positioning method of an element.
Static: Default position, elements are positioned according to the normal flow of the document.
Relative: Positioned relative to its normal position.
Absolute: Positioned relative to the nearest positioned ancestor.
Fixed: Positioned relative to the viewport, does not move when the page is scrolled.
Sticky: Acts like a combination of relative and fixed ...
SassScript supports data types like numbers, strings, colors, booleans, lists, and maps.
Numbers: Can be integers or decimals, with or without units (e.g. 10, 2.5px)
Strings: Can be enclosed in single or double quotes (e.g. 'Hello', "World")
Colors: Represented in various formats like hex, RGB, or named colors (e.g. #FF0000, rgb(255, 0, 0), red)
Booleans: Represented as true or false values
Lists: Ordered collection of valu...
Grunt modules or plugins are extensions that provide additional functionality to the Grunt task runner.
Grunt modules or plugins are used to automate tasks in web development.
They can be used for tasks like minification, compilation, unit testing, etc.
Examples of Grunt plugins include grunt-contrib-uglify for minifying JavaScript files and grunt-sass for compiling Sass files.
Sockets allow real-time bidirectional communication between client and server, while Ajax enables asynchronous communication for updating parts of a web page without reloading.
Sockets provide a continuous connection for real-time data exchange, while Ajax makes asynchronous requests to update specific parts of a web page.
Sockets are commonly used in applications requiring real-time updates like chat applications, onlin...
Round duration - 60 minutes
Round difficulty - Easy
This was a technical round with questions on Java script, Web Fundamentals etc.
Tip : Have knowledge about Closures,Prototypes,Function/variable hoisting,prototypal inheritance,modular pattern,JSONP,this etc
A server is a computer or software that provides functionality for other programs or devices, typically over a network.
A server receives requests from clients and processes them to provide the requested services or data.
Servers can host websites, store files, manage databases, or perform other specialized tasks.
Examples of servers include web servers like Apache or Nginx, database servers like MySQL or PostgreSQL, and ...
Function expression is assigned to a variable, while function declaration is hoisted to the top of the scope.
Function expression is not hoisted, while function declaration is hoisted.
Function expression can be anonymous, while function declaration must have a name.
Function expression can be assigned to a variable, while function declaration cannot.
Round duration - 30 minutes
Round difficulty - Easy
This was a puzzle round. 2 puzzles were given to solve .
Use a combination of weighing and counting to identify coins of different denominations.
Separate coins by weight to identify different denominations (e.g. pennies, nickels, dimes, quarters)
Count the number of each denomination to confirm the identification
Use a scale to measure weight differences between coins
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 Feb 2021.
Round duration - 60 minutes
Round difficulty - Easy
Technical round with questions based on data structures and algorithms.
Given an integer array ARR
of size N
, your task is to find the total number of inversions that exist in the array.
An inversion is defined for a pair of integers in the...
Count the total number of inversions in an integer array.
Iterate through the array and for each pair of indices, check if the conditions for inversion are met.
Use a nested loop to compare each pair of elements in the array.
Keep a count of the inversions found and return the total count at the end.
Given two linked lists representing two non-negative integers, where the digits are stored in reverse order (i.e., starting from the least significant digit to ...
Add two numbers represented as linked lists in reverse order and return the sum as a linked list.
Traverse both linked lists simultaneously while keeping track of carry.
Create a new linked list to store the sum digits.
Handle cases where one list is longer than the other.
Remember to consider the carry in the last step of addition.
Given a binary tree where each node has at most two children, your task is to connect all adjacent nodes at the same level. You should populate each node's 'next' pointer t...
Connect adjacent nodes at the same level in a binary tree by populating each node's 'next' pointer.
Traverse the tree level by level using a queue.
For each node, connect it to the next node in the queue.
If there is no next node, set the 'next' pointer to NULL.
Round duration - 60 minutes
Round difficulty - Easy
Technical round with questions based on data structures and algorithms.
Given two strings, BEGIN
and END
, along with an array of strings DICT
, determine the length of the shortest transformation sequence from BEGIN
to END
. Each transformation inv...
The Word Ladder problem involves finding the shortest transformation sequence from one word to another by changing one letter at a time.
Use breadth-first search to find the shortest transformation sequence.
Create a graph where each word is a node and edges connect words that differ by one letter.
Keep track of visited words to avoid cycles and optimize the search process.
Return -1 if no transformation sequence is possib...
Ninja is tasked with merging two given sorted integer arrays ARR1
and ARR2
of sizes 'M' and 'N', respectively, such that the merged result is a single sorted array w...
Merge two sorted arrays into one sorted array within the first array.
Create a pointer for the end of each array to compare and merge elements.
Start from the end of the first array and compare elements from both arrays to merge.
Continue merging elements until all elements from the second array are merged into the first array.
You are provided with a number of stairs, and initially, you are located at the 0th stair. You need to reach the Nth stair, and you can climb one or tw...
The problem involves determining the number of distinct ways to climb from the 0th to the Nth stair, with the ability to climb one or two steps at a time.
Use dynamic programming to solve this problem efficiently.
Consider the base cases where N=0 and N=1 separately.
For N>1, the number of ways to reach the Nth stair is the sum of the number of ways to reach the (N-1)th stair and the number of ways to reach the (N-2)th...
Round duration - 60 minutes
Round difficulty - Medium
Technical round with questions based on data structures and algorithms.
Two characters, Tony Stark and Thanos, reside on two separate islands within a 2-D binary matrix of dimensions N x M. Each matrix cell has a value of either 1 (land) or 0...
The task is to find the shortest path of transformed 0s that connects two islands in a 2-D binary matrix.
Identify the two islands in the matrix as distinct connected components of 1s.
Construct a bridge by converting some 0s to 1s to connect the two islands.
Output the minimal length of the bridge needed to connect the two islands for each test case.
You are given the start and end times of 'N' intervals. Write a function to determine if any two intervals overlap.
If an interval ends at time T and anothe...
Determine if any two intervals overlap based on start and end times.
Iterate through intervals and check for any overlapping intervals
Consider edge cases where intervals end and start at the same time
Return true if any two intervals overlap, otherwise false
Given a Binary Search Tree (BST) where two nodes have been swapped by mistake, your task is to restore or fix the BST without changing its structure.
The first...
Restore a Binary Search Tree by fixing two swapped nodes without changing its structure.
Identify the two swapped nodes by performing an inorder traversal of the BST.
Swap the values of the two identified nodes.
Perform another inorder traversal to restore the BST structure.
Ensure no extra space is used other than the recursion stack.
Round duration - 60 minutes
Round difficulty - Medium
Technical round with questions based on System design and data structures and algorithms.
Implement Ctrl+F functionality in a file using string search algorithms.
Read the file content into a string variable
Implement a string search algorithm like Knuth-Morris-Pratt or Boyer-Moore
Allow user input for the search query and display the results
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 : Make a cv which is appealing, and highlight some key things regarding web development or algorithms or system development
Tip 2 : Have at-least 2 good projects explained in short with all important points covered.
Identify and correct two swapped nodes in a Binary Search Tree (BST) to restore its properties.
In a BST, for any node, left children are smaller and right children are larger.
Perform an in-order traversal to identify the two swapped nodes.
During traversal, keep track of the previous node to find violations.
Example: For BST [4, 2, 6, 1, 3, 5, 7], if 1 and 6 are swapped, in-order gives [6, 2, 4, 1, 3, 5, 7].
Swap the iden...
Design a seat booking system that locks seats until payment is confirmed, handling failures and timeouts effectively.
Implement a state machine with states: Available, Locked, Paid, and Cancelled.
When a user selects seats, transition from Available to Locked state.
Set a timer for the payment process; if payment is not completed in time, transition to Available.
Handle payment failures by transitioning from Locked to Avai...
The number of ways to reach the nth step using 1 or 2 steps at a time.
Use dynamic programming to solve this problem
Create an array to store the number of ways to reach each step
Initialize the first two elements of the array as 1, since there is only one way to reach the first and second steps
For each subsequent step, the number of ways to reach it is the sum of the number of ways to reach the previous two steps
Return t...
Find all pairs (i, j) in an array where ai > aj and i < j using an efficient nlogn approach.
Use a modified merge sort to count inversions while sorting the array.
During the merge step, count how many elements from the right half are less than the current element from the left half.
Example: For array [3, 1, 2], pairs are (3, 1), (3, 2), (2, 1).
The algorithm runs in O(n log n) time complexity.
Find the maximum interval that intersects the maximum number of intervals.
Sort the intervals based on their start times.
Iterate through the sorted intervals and keep track of the current interval with the maximum number of intersections.
Update the maximum interval whenever a new interval intersects more intervals than the current maximum interval.
Check if a path exists from a word to a single letter by removing one letter at a time, ensuring all intermediate words are valid.
Use a recursive function to explore all possible paths by removing one letter at a time.
Utilize a set for the dictionary for O(1) lookups.
Base case: If the current word is a single letter and exists in the dictionary, return true.
Example: For 'alpha', valid path could be 'alpha' -> 'plha'...
Implementing an auto-suggest feature for search engines to enhance user experience by predicting search queries.
Use a trie data structure for efficient prefix searching.
Store a list of common queries and their frequencies to prioritize suggestions.
Implement a backend service that queries the database for suggestions based on user input.
Consider using machine learning models to improve suggestion accuracy over time.
Exam...
Create a linked list from a number by storing each digit as a node in sequence.
Define a Node class with properties for value and next node.
Convert the number to a string to iterate through each digit.
Create the head of the linked list with the first digit.
Iterate through the remaining digits, creating new nodes and linking them.
Example: For number 12345, nodes will be created as 1 -> 2 -> 3 -> 4 -> 5.
Implement a ctlr+f (find) functionality in a file using a data structure.
Create a data structure to store the file content, such as an array of strings.
Implement a function that takes a search query and returns the matching lines from the file.
Use string matching algorithms like Knuth-Morris-Pratt or Boyer-Moore for efficient searching.
Consider optimizing the data structure for faster search operations, like using a tr...
Merge two sorted arrays with empty spaces at the end in a single pass.
Initialize two pointers at the end of each array
Compare the elements at the pointers and place the larger element at the end of the merged array
Decrement the pointer of the array from which the larger element was taken
Repeat until all elements are merged
The code should traverse the binary tree level by level and update the next pointers accordingly.
Use a queue to perform level order traversal of the binary tree.
For each node, update its next pointer to point to the next node in the queue.
If the current node is the last node in the level, update its next pointer to NULL.
The set of all nodes that can occur in any path from a source to a destination in both directed and undirected graphs.
Perform a depth-first search (DFS) or breadth-first search (BFS) from the source node to the destination node.
During the search, keep track of all visited nodes.
Add each visited node to the set of nodes that can occur in any path.
Repeat the search for both directed and undirected graphs.
The resulting se...
The maximum number of bridges that can be connected between two sides of a river without crossing each other.
This is a dynamic programming problem.
Create a 2D array to store the maximum number of bridges that can be connected at each position.
Initialize the first row and column of the array with 0.
Iterate through the sides of the river and compare the labels.
If the labels match, update the value in the array by adding ...
Top trending discussions
Dsa and alogorithm by third party agency.
Calculate the maximum amount of rainwater that can be trapped between the bars of varying heights.
Use two pointers to traverse the array from both ends.
Maintain two variables to track the maximum height from left and right.
Calculate trapped water at each position based on the minimum of the two maximum heights.
Example: For heights [0,1,0,2,1,0,1,3,2,1,2,1], the result is 6.
I applied via Campus Placement and was interviewed before Jul 2022. There were 4 interview rounds.
Coding test on Hackerrank with easy to medium, well-known problems.
I interned at XYZ Corp, where I developed web applications using Java and Spring Boot, enhancing my skills in full-stack development.
Hands-on Experience: I worked on a team to develop a customer management system, which improved my understanding of Java and Spring Boot.
Agile Methodology: I participated in daily stand-ups and sprint planning, gaining experience in Agile practices and team collaboration.
Code Reviews: I e...
I aspire to join a company that values innovation, collaboration, and impactful technology solutions, like Google or Microsoft.
Innovation: Companies like Google are at the forefront of technological advancements, constantly pushing boundaries with projects like AI and cloud computing.
Collaborative Culture: Microsoft fosters a collaborative environment, encouraging teamwork and diverse perspectives, which enhances creat...
Choosing between backend and frontend depends on your interests in user interface design or server-side logic and data management.
Frontend focuses on user experience; examples include HTML, CSS, and JavaScript frameworks like React or Angular.
Backend involves server-side logic, databases, and APIs; examples include Node.js, Python with Django, or Ruby on Rails.
Frontend developers often work closely with designers to cr...
Some of the top questions asked at the Housing.com Software Engineer interview -
based on 1 review
Rating in categories
Senior Accounts Manager
383
salaries
| ₹4.2 L/yr - ₹12 L/yr |
Accounts Manager
267
salaries
| ₹3.5 L/yr - ₹9 L/yr |
Team Manager
75
salaries
| ₹5.5 L/yr - ₹16.6 L/yr |
Software Development Engineer
65
salaries
| ₹10 L/yr - ₹29.2 L/yr |
Senior Manager
45
salaries
| ₹5.3 L/yr - ₹18.2 L/yr |
MagicBricks
NoBroker
Udaan
Swiggy