Recruiter contacted me on linkedIn.
There are four rounds of interview.
Round 1: DS ALGO + Low Level Design
Round 2: High Level Design
Round 3: Hiring Manager
Round 4: HR
Round 1:
DS + Algo:
Assume a standard dial pad on a phone, where the alphabet is mapped to numbers. Also assume the presence of a dictionary of ‘valid’ words. Given a string of numerals, return the list of corresponding valid words.
For example: (assuming 1 and 0 correspond to nothing, 2 to ABC, 3 to DEF, ...), 323 corresponds to DAD, as well as FAD
Question is mostly focused on kinds of data structures i would need based on the input dictionary
I gave two solutions:
Solution 1: Recursive: O( 4^n ) n -> length of the input string
Solution 2: Segregating input dict : O( m * n )
Solution 3: Using Trie Data structure and Recursive
m -> length of dict , n -> max size of the word
Similar Questions:
https://leetcode.com/problems/letter-combinations-of-a-phone-number/
LLD :
Test cases Problem: They can be run (say multiple times), and will have status, like pass/fail/in-progress.
We want to show a report where we summarise results by - say status, like in a pie-chart.
Eg: { Pass: 14; Fail: 2; InProgress: 3}.
How to go about this?
What are the dataModel, query etc. needed?
Verdit: Strong Hire
Round 2:
High level design
Design web crawler with envelope calculations
There were few tough questions in this round. I hope leetcode community will help me.
Will Load balance be the single point of failure ?
Which database would you prefer for Crawled data and why ?
Verdict: Reject