Tip 1 : Practice the most frequent and most common questions DSA questions asked in companies like Amazon, Microsoft.
Tip 2 : Focus on solving the questions on your own as much as you can.
Tip 3 : Don't waste your time on the number of questions while compromising quality.
Tip 4 : Do mock interviews with your friend if it's been a long since you have given the interview.
Tip 1 : Keep it short to 1 page
Tip 2 : Prepare it well.
Tip 3 : Focus more on the problem and the solution. Rather than tools used to solve the problem
Total of 8 questions:
4 MCQ(oops and expected output type questions) + other 2 were coding questions, out of which one is some class implementation question.



If there exists no subarray in the given sequence whose sum is divisible by ‘K’ then simply return ‘0’.
Suppose the given array is ‘ARR’ = { 5, 0, 2, 3, 1} and ‘K = 5’.
As we can see in below image, there are a total of 6 subarrays that have the total sum divisible by ‘K’
So we return the integer 6.

I solved it using a hashmap. It's a pretty standard problem and can also be found easily on the internet.



Operation 1 - insert(word) - To insert a string WORD in the Trie.
Operation 2- search(word) - To check if a string WORD is present in Trie or not.
Operation 3- startsWith(word) - To check if there is a string that has the prefix WORD.

The above figure is the representation of a Trie. New words that are added are inserted as the children of the root node.
Alphabets are added in the top to bottom fashion in parent to children hierarchy. Alphabets that are highlighted with blue circles are the end nodes that mark the ending of a word in the Trie.
Type = ["insert", "search"], Query = ["coding", "coding].
We return ["null", "true"] as coding is present in the trie after 1st operation.
This round was with the product development team, the panel consisted of 2 members. It took place at around 9 PM IST. The interviewer's focus was on approach.



If the given sequence ‘ARR’ has ‘N’ elements then the sorted wave array looks like -
‘ARR[0] >= ARR[1]’ and ‘ARR[1] <= ARR[2]’
‘ARR[2] >= ARR[3]’ and ‘ARR[3] <= ARR[4]’
‘ARR[4] >= ARR[5]’ and ‘ARR[5] <= ARR[6]’ And so on.
1. ‘ARR[0]’ must be greater than or equal to ‘ARR[1]’.
2. There can be multiple arrays that look like a wave array but you have to return only one.
3. We have an internal function that will check your solution and return 'True' in case your array is one of the solutions otherwise return 'False'.
The given array ‘ ARR = { 4, 3, 5, 2, 3, 1, 2 } ’
The below figure is a visual representation of the given ‘ARR’ and you can see we can express ‘ARR’ in a waveform array because
4>3 and 3<5
5>2 and 2<3
3>1 and 1<2
And it follows the condition of wave array.

Try to solve this problem in linear time complexity.
Sorted the array and then swapped the adjacent elements in groups of size 2.



I tried to use hashmap to store some values as a part of pre-processing and then build up some approach, couldn't code it completely
It was a System Design round. The position of person taking the interview was of a technical architect. As was informed by the recruiter, previously he was a technical architect at Adobe.
How does Facebook store comments?
Draw LLD for this.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?