Status : 5 years Experience in StartUps and Product Based, Tier-1 Graduate (IIT/NIT)
Position: SDE 2
Location: Hiring Event
Date: April
Round-1: OA
I got two questions in AMCAT platform. Platform is very bad.
Problem 1: Variation of Number of Islands - passed all test cases
Problem 2: Variation of Articulation Points - some test cases aren't passed
After Round-1 I have informed the HR and he has quickly checked and informed me that i have cleared OA and asked my time to schedule Telephonic round.
Round-2 : Telephonic
This was a basic LP and behavioural round. Informed me that there will be 4 technical rounds next , all are virtual online rounds due to COVID.
Round 3:
First 20 mins are LP's
Interviewer asked me a Leetcode Question Word Ladder
I have aced this round and coded the question and given the time and space complexity
Round 4:
First 20 Mins were LP questions , i have answered them well as i have prepared well on these from my past experiences,
OOP Design and Programming:
Design a Command line Utility "find"
I have used python and designed all the mappings and classes and even coded the way how to apply filters and how can code easily accomodate when new filters are gonna come. Made sure to catch Exceptions, logs and even documentation in the code along with TODO's as well. Defined proper constants.
Interviewer was satisfied
Round 5:
Millions of users are accessing URL paths of a website , given a URL path and session id, find top k URL paths.
Initially I have given HashTable as the solution as the URL paths of website will be limited in size, then Interviewer said imagine that the website is Amazon. I have a taken a minute of time and said that I will solve this problem in two ways.
Real Time Result:
For this i will use Count-Min Sketch Datastructure(A Probabilistic DataStructure) and Heap.
Interviewer said he was not aware of Count-Min Sketch so I have explained him what is Count-Min sketch and how i will use it and heap to store top k paths, when ever i encounter a URL hit then i will update the values in Count- Min Sketch and also i will find the probalistic frequency and i will check the min frequency in Heap and i will replace the URL if needed.
He has asked me any other way you can solve it.
I said HashTable and LFU cache can be other ways.
Asked me the time and space complexity. I have answered them.
Delayed Result:
we can use a Database to store the results and output the results
Round 6:
First 20 mins are LP's
Interviewer asked me to Design a Web Crawler.
I have started giving the class diagrams and parameters to evaluate, excluding certain URLs while crawling like robots.txt on a whiteboard.
He said to focus on Architecture, I have started explaining him what all the services, registers I will use and how to group elements, database layer, Which kind of data goes into SQL and what kind of data goes in NOSQL.
Then He has asked me on scalability and concurrency and also limiting the URL's for a specific website.
I have said him we can use producer-consumer concept and also use sampling on top of the Queue, then to my bad network issue happenned and I had connected back after 10 mins. we are left with 10 mins, he said thats fine , we are running out of time, Do you have any questions.
I have asked him few questions regarding Amazon and then finally we have wrapped up.
After 3 days:
HR pinged me saying I was declined. I was actually hoping for an Offer, Don't know where I have gone wrong. Didnt get any feedback. Have to try again after 6 months mark.
Preparation:
I have prepared all the problems in the Interview Kit in HackerRank
I have done 94 Questions in LeetCode 15 Easy, 46 Medium, 33 - Hard
Practiced around 20 sets of Amazon Archives from Geeks For Geeks.