Status: Software Engineer, 5 YOE
Position: Senior
Location: Santa Clara, CA
Date: Dec 3, 2019
Phone screen:
- nth Fibonacci number both iterative & recursive
- BST reconstruction from preorder traversal (https://leetcode.com/problems/construct-binary-search-tree-from-preorder-traversal/)
Onsite:
Round 1: (1 hour)
Behavioral/Leadership Principle style questions
Round 2: (1 hour)
You are given a map which contains a persons direct friends. Create an api which takes in person’s name & returns all levels of friends of this person
**Example: **
Given map:
A: [B,C]
B: [A,D,E]
C: [X]
D: [B]
E: [B]
X: [C]
Api to code: getSocialNetwork(String person);
If input is person A, then output should be:
1: [B,C]
2: [D,E,X]
Round 3: (2 hour)
Lunch and system design.
Started with Tiny URL, with focus on HTTP layer(response codes & methods) as well as hashing & encryption methods/types.
Interviewer was more interested in different ways to secure the api/REST endpoint (https, TLS etc)
Round 4: (1 hour)
Round 5: (1 hour)
Given a list of strings return all possible combination of strings which would fit a 4x4 crossword puzzle.
I only gave a Brute force solution. Not sure if there is any technique we can use here.
Input List: [DUNK, FOLK, FILM, COOK, KITE, CARB, BITE, MOCK, TOOK]
Output List: One particular combination is [COOK, KITE, BITE, CARB]
C O O K
A I
R T
B I T E