Phone Screen
Questions:
Implement prefix search returning top k results.
Ie: ["Panda", "Panda Express", "Pan", "Panera" ] k = 2
Query = "Pand" returns ["Panda", "Panda Express"].
Was asked to do without a trie. So I sorted and used binary search to find starting index.
Candidate's Approach
The candidate sorted the list of strings and used binary search to find the starting index for the prefix search, returning the top k results.
Interviewer's Feedback
No feedback provided.
Onsite
Questions:
Day 1: HM chat. Be sure to brush up on personal projects and talk about cross team impact, leading other engineers, and design tradeoffs.
Day 2: Code Craft Challenge - They provide some sample JSON and you need to determine the rate of different drivers based on some predetermined formula. You will need to implement a function that mimics an API endpoint that calls a downstream service which essentially retrieves this JSON. They also expect you to write test cases to validate end-to-end implementation.
Debugging: You are given an existing class that has some obvious errors like missing initialized variables in the constructor, logic errors with reassigning values to a dictionary. You can run the code as many times, use logging to help debug.
Day 3: System Design - Asked to design a Review Service that allows users to review an ordered item, vote on the review, and get monthly rewards based on the number of votes. Interview was looking for specifics about DB schema, improving writes particularly voting, and guaranteeing users can only review if they ordered.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.