Filter interviews by
Be the first one to contribute and help others!
I appeared for an interview before Sep 2020.
Round duration - 90 minutes
Round difficulty - Medium
Online test which can be attempted anytime between 22 May 2020, 06:00 AM and 25 May 2020, 01:00 AM
Given a postfix expression, your task is to evaluate the expression. The operator will appear in the expression after the operands. The output for each expr...
Evaluate postfix expressions by applying operators to operands in a given order.
Iterate through the postfix expression and push operands onto a stack
When an operator is encountered, pop the required number of operands from the stack, apply the operator, and push the result back onto the stack
Continue until the entire expression is evaluated and the final result is left on the stack
You are given D
dice, each having F
faces numbered from 1 to F
. The task is to determine the number of possible ways to roll all the dice such that the sum of the face-up num...
The task is to determine the number of possible ways to roll all the dice such that the sum of the face-up numbers equals the given 'target' sum.
Use dynamic programming to solve the problem efficiently.
Create a 2D array to store the number of ways to achieve each sum with different number of dice.
Iterate through the dice and sum possibilities to fill up the array.
Return the result modulo 10^9 + 7.
Optimize the solution ...
Round duration - 60 minutes
Round difficulty - Medium
June 25 2020
Timing: 12:00 pm to 1:00 pm
This round was completely devoted to coding. I was asked to introduce myself and then 2 coding questions were asked.
Given a sorted array ARR
consisting of N
integers and an integer X
, find the first and last positions of occurrence of X
in the array.
Find the first and last positions of an element in a sorted array efficiently.
Use binary search to find the first occurrence of X in the array.
Use binary search to find the last occurrence of X in the array.
Handle cases where X is not present or present only once.
Return the first and last positions as 0-based indices.
You are given an N x N maze where some cells have doors, and you have a key that can be used only once to open a door. Determine if there exists a path from t...
Determine if there exists a path from the top-left cell to the bottom-right cell of a maze with N doors and 1 key.
Use depth-first search (DFS) or breadth-first search (BFS) to explore possible paths through the maze.
Keep track of the cells visited and use the key only once to open doors.
Check if the bottom-right cell is reachable after traversing the maze.
Handle edge cases such as the top-left and bottom-right cells ha...
Round duration - 60 minutes
Round difficulty - Medium
9th July 2020
6:30PM to 7:30PM
Round duration - 60 minutes
Round difficulty - Easy
23-July 2020
4:00 PM to 5:00 PM
Coding questions + Several questions on computer fundamentals and networking were asked in a rapid-fire manner.
Given the stock prices for 'N' days, your goal is to determine the maximum profit that can be achieved. You can buy and sell the stocks any number of times but can onl...
The goal is to determine the maximum profit that can be achieved by buying and selling stocks on different days.
Iterate through the stock prices and buy on the days when the price is lower than the next day's price, and sell on the days when the price is higher than the next day's price.
Calculate the profit by summing up the differences between buying and selling prices.
Repeat the process for each test case and output
Round duration - 60 minutes
Round difficulty - Medium
6- Aug 2020
3:00 PM to 4:00 PM
Resceduled to: @5:30 PM
Projects, Fundamentals check, Behavioral, Coding
Given a directed graph with a specified number of vertices V
and edges E
, your task is to calculate the total number of distinct paths from a given source node S
to all ot...
Calculate total number of distinct paths from a given source node to all other nodes in a directed graph.
Use dynamic programming to keep track of the number of paths from the source node to each node.
Consider the modulo operation to handle large numbers efficiently.
Start by initializing the number of paths from the source node to itself as 1.
Iterate through all edges and update the number of paths for each destination ...
Tip 1 : Be confident while answering questions
Tip 2 : Make the interview conversational and Always keep a smiling face
Tip 3 : Ask something at the end of the interview which shows your interest in the company
Tip 4 : Prepare projects on the skills mentioned in the resume
Tip 1 : Mention projects and internships.
Tip 2 : Keep your resume short and crisp.
I appeared for an interview in Sep 2020.
Round duration - 90 Minutes
Round difficulty - Easy
Two coding questions were asked and 90 minutes of time was allotted to solve both the problems
Given an array of integers ARR
of length N
and an integer Target
, your task is to return all pairs of elements such that they add up to the Target
.
The first line ...
Given an array of integers and a target, find all pairs of elements that add up to the target.
Iterate through the array and for each element, check if the target minus the element exists in a hash set.
If it exists, add the pair to the result. If not, add the element to the hash set.
Handle cases where the same element is used twice to form a pair.
Return (-1, -1) if no pair is found.
Given a binary matrix of size N * M
where each element is either 0 or 1, find the shortest path from a source cell to a destination cell, consisting only...
Find the shortest path in a binary matrix from a source cell to a destination cell consisting only of 1s.
Use Breadth First Search (BFS) algorithm to find the shortest path in the binary matrix.
Keep track of visited cells to avoid revisiting them.
Update the path length as you traverse the matrix.
Return -1 if no valid path exists from source to destination.
Round duration - 60 Minutes
Round difficulty - Medium
The duration was approx 1 hour. The interview was taken by a young SDE-2.
You are given a string 'S' of length 'N'. Your task is to find the frequency of each character from 'a' to 'z' in the string.
S : abcdg
1...
The task is to find the frequency of each character from 'a' to 'z' in a given string.
Create an array of size 26 to store the frequency of each character from 'a' to 'z'.
Iterate through the string and increment the count of the corresponding character in the array.
Print the array of frequencies as the output.
Given a matrix MAT
of size N * M
, where each cell is either on fire or safe, determine if a person can reach an escape cell without being burnt. The person starts from ...
Determine if a person can reach an escape cell without encountering fire in a matrix.
Check if the person can reach an escape cell without encountering fire by simulating the movement of the person and fire spread.
If the person can reach an escape cell, return the time taken; otherwise, return -1.
Consider the constraints and edge cases while implementing the solution.
Round duration - 60 Minutes
Round difficulty - Hard
The interviewer introduced himself and asked me to introduce myself.
I told him about the different projects that I had done and the work in the previous company.
I had worked on AWS(Amazon Web Services) so he asked me all the AWS services that I had worked with and to explain one of them.
I explained about the working of ECS(Elastic Container Service).
After this, he moved to the coding questions.
Given a binary matrix of size N*M, find the maximum distance 'di' for every 0-cell to its nearest 1-cell, where the distance is measured using Manhattan distance. Th...
Find the maximum Manhattan distance from a 0-cell to its nearest 1-cell in a binary matrix.
Iterate through the matrix to find all 0-cells and calculate their distances to nearest 1-cells using Manhattan distance formula
Keep track of the maximum distance found so far and update it if a larger distance is encountered
Return the maximum distance as the final result
You are provided with an array containing 'N' non-negative integers, along with two other non-negative integers 'K' and 'M'. Your task is to identify ...
Find a pair of indices in an array with given difference and distance constraints.
Iterate through the array and check all possible pairs of indices to satisfy the conditions
Use nested loops to compare each pair of indices and their corresponding elements
Return 'valid' if a pair of indices is found that meets the conditions, otherwise return 'invalid'
Round duration - 60 Minutes
Round difficulty - Medium
The interviewer was a very senior person with at least 10-15 years of experience. He introduced himself and asked me to tell him about myself. (Leadership principle questions followed)
Determine whether an arbitrary binary tree is special. A binary tree is called special if every node in this tree has either zero or two children.
...
Determine if a binary tree is special if every node has zero or two children.
Traverse the tree and check if each node has either 0 or 2 children.
Use a recursive approach to check children of each node.
If any node has only one child, return false immediately.
Example: For the given input, the output should be true.
Round duration - 60 Minutes
Round difficulty - Medium
The interview started with introductions and some Leadership principle questions. The interviewer was again a senior person with at least 10-15 years of experience.
I was asked to explain some AWS services.
He asked me to tell about a time when I had a tight deadline and how I worked during it.
He asked me about a time when I took initiative and came up with something new which helped the entire team.
I had prepared well for the LP questions and was able to answer everything.
After this, we move on to coding questions.
Determine if a given word 'W' is present in the sentence 'S' as a complete word. The word should not merely be a substring of another word.
The first line contains an in...
Check if a given word is present in a sentence as a complete word.
Split the sentence into words using spaces as delimiter.
Check if the given word matches any of the words in the sentence.
Ensure that the word is not just a substring of another word in the sentence.
Design a data structure for a Least Recently Used (LRU) cache that supports the following operations:
1. get(key)
- Return the value of the key if it exists in the cache; otherw...
Design a Least Recently Used (LRU) cache data structure that supports get and put operations with capacity constraint.
Use a combination of hashmap and doubly linked list to implement the LRU cache.
Keep track of the least recently used item and update it accordingly.
Ensure to handle cache capacity by evicting the least recently used item when the cache is full.
Tip 1 : Start with the basics if you have lost touch with competitive coding. Don't directly jump to interview questions.
Tip 2 : Create a timetable and set goals. Keep aside 3-4 hours for studying. Consistency is the key.
Tip 3 : Focus on medium and hard questions. Solving a lot of easy questions doesn't help.
Tip 1 : You should have good projects to showcase.
Tip 2 : Keep it clean and simple.
I appeared for an interview 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 appeared for an interview before Sep 2020.
Round duration - 60 minutes
Round difficulty - Easy
There was 2 coding questions
Based on ds and algorithms
Ninja, who loves playing with numbers, sets out to arrange numbers within 'N' rows. The unique arrangement follows these rules: the first row contains 1 number, the second...
Generate a pattern of numbers in rows following a specific sequence based on powers of 2.
Start with 1 number in the first row, 2 numbers in the second row, 4 numbers in the third row, and so on based on powers of 2.
Fill the pattern with numbers in increasing sequence from 1 to 9, recycling back to 1 after reaching 9.
Output the pattern for a given number 'N' of rows.
Example: For N = 4, the pattern would be 1, 23, 4567,
You are given a binary tree with 'N' integer nodes. Your task is to determine whether this binary tree is a Binary Search Tree (BST).
A Binary Search Tr...
Validate if a given binary tree is a Binary Search Tree (BST) or not.
Check if the left subtree of a node contains only nodes with data less than the node's data.
Check if the right subtree of a node contains only nodes with data greater than the node's data.
Recursively check if both the left and right subtrees are also binary search trees.
Example: For a node with data 4, left subtree nodes (2, 1, 3) are smaller and righ
Round duration - 60 minutes
Round difficulty - Easy
There was 2 coding questions based on ds and algorithms
You are provided with an array of distinct elements, and your task is to rearrange the array elements in a zig-zag manner. Specifically, for every odd index i
, the element ARR[...
Rearrange array elements in a zig-zag manner where every odd index element is greater than its neighbors.
Iterate through the array and swap elements to satisfy the zig-zag condition.
Ensure that for every odd index i, ARR[i] > ARR[i-1] and ARR[i] > ARR[i+1].
Multiple correct answers may exist for a given array.
You are provided with a linked list of 'N' nodes. Each node contains two pointers: NEXT
, pointing to the next node in the list, and CHILD
, pointing to a linked list. Each child linke...
Flatten a linked list of sorted child linked lists into a single sorted linked list.
Traverse the linked list and maintain a priority queue to keep track of the next smallest element.
Merge the child linked lists into the priority queue while traversing the main linked list.
Pop elements from the priority queue to create the final flattened linked list.
Round duration - 45 Minutes
Round difficulty - Medium
My interview started at 9:30 and it took around 45 minutes to complete my interview.This was held on Amazon Chime and the interview lasted for 1 hour. Firstly the interviewer asked to introduce about myself, later asked regarding the projects I have mentioned in my resume. Then started displaying the coding question. The first question is number of islands in a matrix.
You are provided with a 2-dimensional matrix having N
rows and M
columns, containing only 1s (land) and 0s (water). Your goal is to determine the number of islands in t...
Count the number of islands in a 2D matrix of 1s and 0s.
Use Depth First Search (DFS) or Breadth First Search (BFS) to traverse the matrix and identify connected groups of 1s.
Maintain a visited array to keep track of visited cells to avoid redundant traversal.
Increment the island count each time a new island is encountered.
Consider edge cases like when the matrix is empty or all cells are water (0s).
Tip 1 : Be enough confident, don't be nervous. Maintain atleast 2 projects in your resume.
Tip 2 : You should be able to answer each and every thing present in your resume. Don't lie in your resume.
Tip 3 : Prepare Data Structures and Algorithms well. They mostly check our Problem Solving ability to find the solutions for the real world problems
Tip 1 : Mention your skills in which you are perfect
Tip 2 : Mention atleast two projects
I appeared for an interview before Sep 2020.
Round duration - 120 minutes
Round difficulty - Medium
10 min for debugging
40 min for problems(coding)
40 min for pyschometric
30 min for aptitude
You are located at point ‘A’, the top-left corner of an M x N matrix, and your target is point ‘B’, the bottom-right corner of the same matrix. Your task is to calcula...
The task is to calculate the total number of unique paths from the top-left to bottom-right corner of an M x N matrix by moving only right or down.
Use dynamic programming to solve this problem efficiently.
Create a 2D array to store the number of unique paths for each cell in the matrix.
Initialize the first row and first column with 1 as there is only one way to reach each cell in the first row and column.
For each cell ...
You are given two strings 'A' and 'B' composed of words separated by spaces. Your task is to determine the most frequent and lexicographically smallest word in string ...
Find the most frequent and lexicographically smallest word in string 'A' that is not present in string 'B'.
Split strings 'A' and 'B' into words
Count frequency of each word in 'A'
Check if word is not in 'B' and is the most frequent and lexicographically smallest
Return the word or -1 if no such word exists
Round duration - 90 Minutes
Round difficulty - Easy
timing was 4 pm . we connected on amazon chime. Initially he asked me a few things from resume then moved on to problem solving.
You are provided with a 2-dimensional matrix having N
rows and M
columns, containing only 1s (land) and 0s (water). Your goal is to determine the number of islands in t...
Count the number of islands in a 2D matrix of 1s and 0s.
Use Depth First Search (DFS) or Breadth First Search (BFS) to traverse the matrix and identify connected groups of 1s.
Maintain a visited array to keep track of visited cells to avoid redundant traversal.
Increment the island count each time a new island is encountered.
Consider all eight possible directions for connectivity while traversing the matrix.
Handle edge ca...
You are given an array/list HEIGHTS
of length N
, where each element represents the height of a histogram bar. The width of each bar is considered to be 1.
Find the area of the largest rectangle that can be formed within the bounds of a given histogram.
Iterate through the histogram bars and maintain a stack to keep track of increasing heights.
Calculate the area of the rectangle formed by each bar as the smallest height in the stack times the width.
Update the maximum area found so far and return it as the result.
Tip 1 : be confident since interviewer is looking at how confident you are with your skills
Tip 2 : dont learn the algorithms but try to understand them
Tip 3 : focus on trees and graphs since amazon asks more of that
Tip 1 : KEEP RESUME SHORT(1 PAGE)
Tip 2 : DONT BLUFF IN RESUME SINCE MY INTERVIEWER ASKED ME LOOKING FROM IT
I appeared for an interview 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 appeared for an interview 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 interviewSelectedReverse a binary search tree while maintaining parent-child relationship.
Start by swapping the left and right child of each node recursively.
Use a depth-first search approach to traverse the tree.
Make sure to update the parent-child relationships accordingly.
To find min and max element in stack in O(1), we can use an auxiliary stack.
Create an auxiliary stack to keep track of the minimum and maximum elements.
Push the first element to both the main and auxiliary stack.
For each subsequent element, compare it with the top element of the auxiliary stack and push the smaller element to the auxiliary stack.
To get the minimum element, simply return the top element of the auxiliary...
Given an array, find the next minimum element for each element.
Iterate through the array
For each element, compare it with the elements on its right
Find the minimum element greater than the current element
If no such element exists, assign -1
Build the resultant array
Find median of input stream in minimum time complexity using online algorithm.
Use two heaps, one max heap for elements smaller than current median and one min heap for elements greater than current median.
Maintain balance between the two heaps by ensuring that the size difference is at most 1.
If the size of both heaps is equal, median is the average of the top elements of both heaps. Else, median is the top element of ...
To make a copy of a linked list with two pointers, iterate through the original list and create a new node for each element.
Iterate through the original linked list
Create a new node for each element
Set the 'next' pointer of each new node
Set the 'arbitrary' pointer of each new node
Reverse the nodes of a linked list in pairs of n
Iterate through the linked list in pairs of n
Reverse the nodes within each pair
Connect the reversed pairs together
Handle cases where the number of nodes is not a multiple of n
To check if a singly linked list is a palindrome, reverse the second half and compare it with the first half.
Traverse the linked list to find the middle node
Reverse the second half of the linked list
Compare the reversed second half with the first half to check for palindrome
Given a preorder of binary tree with leaf nodes represented by N, construct the tree.
Start by creating an empty stack.
Iterate through the preorder list.
If the current element is N, create a leaf node and push it onto the stack.
If the current element is not N, create a new node and set its left child to the top of the stack.
Pop the top of the stack and set it as the right child of the new node.
Push the new node onto the...
The question asks to find the maximum occupancy word in each line of a given multiline string and also count the occupancy of capital and small letters separately.
Split the multiline string into individual lines
For each line, split it into words
Initialize variables to store the maximum occupancy word and its count
Iterate through each word and count the occupancy of each letter
If the current word has a higher occupancy ...
Algorithm to find the best buying and selling dates for maximum profit from given stock prices array.
Iterate through the array and keep track of minimum price and maximum profit.
If current price is less than minimum price, update minimum price.
If current price minus minimum price is greater than maximum profit, update maximum profit and buying and selling dates.
Return buying and selling dates.
Example: [10, 7, 5, 8, 11,...
The code finds the number of ways to reach n steps by jumping 1 or 2 steps at a time.
Use dynamic programming to solve the problem
Create an array to store the number of ways to reach each step
Initialize the array with base cases for 0 and 1 steps
Iterate through the array and calculate the number of ways for each step
Return the value at the last step
Amazon.com is an online retail giant with a vast selection of products and services.
Advantages: Wide selection of products, competitive pricing, fast shipping, convenient shopping experience
Disadvantages: Can put smaller retailers out of business, concerns over worker treatment and environmental impact
Example: Amazon Prime offers free two-day shipping and access to streaming services like Prime Video and Music
Example: ...
Use file locking mechanisms like flock or lockfile to make a file mutually exclusive on a shared file system.
Use flock or lockfile to acquire a lock on the file before accessing it.
Release the lock once the operation is complete.
Ensure all processes accessing the file use the same locking mechanism.
Example: flock /path/to/file -c 'command to execute'
Example: lockfile /path/to/file && command to execute && rm -f /path/t
I am a software developer with 5 years of experience in developing web applications using Java and JavaScript.
5 years of experience in software development
Proficient in Java and JavaScript
Developed web applications
Strong problem-solving skills
Experience with agile development methodologies
Positive: Strong problem-solving skills, Negative: Can be overly critical of own work
Positive: Strong problem-solving skills - I excel at breaking down complex problems and finding efficient solutions
Negative: Can be overly critical of own work - I tend to be perfectionistic and struggle with accepting imperfections
I had a failure in implementing a new feature due to a lack of understanding of the requirements.
I was assigned to develop a new feature for our software application.
I misunderstood the requirements and implemented the feature incorrectly.
During the testing phase, it was discovered that the feature was not functioning as expected.
I took responsibility for the mistake and immediately communicated it to my team lead.
I wo...
Replace every element in array with its closest maximum element in right.
Iterate through the array from right to left
Keep track of the maximum element seen so far
Replace each element with the maximum element seen so far
Designing a distributed Hashtable and discussing its pros and cons.
Distributed Hashtable is a data structure that stores key-value pairs across multiple nodes.
Pros include scalability, fault tolerance, and load balancing.
Cons include increased complexity, potential for data inconsistency, and slower performance due to network communication.
Examples of distributed Hashtable implementations include Cassandra, Riak, and D
Amazon
Mahindra & Mahindra
American Express
Sodexo