GitHub Interview experience | SDE 2 | Full Stack Developer | Reject
Anonymous User
2647

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

Comments (4)