OCI senior面经

Status: Software Engineer, 5 YOE
Position: Senior
Location: Santa Clara, CA
Date: Dec 3, 2019

Phone screen:

  1. nth Fibonacci number both iterative & recursive
  2. 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