Round 1 - Screening round
Questions: Variation of Walls and Gates: A number of computers on a nxm grid are infected with a virus that is spreading in every direction (up, down, left, right) every hour. Return how long until all are infected.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2 - Onsite
Questions:
-
Collaboration & Leadership, Design & Architecture:
- First 20 minutes was to give detail about a project I led focusing on design and architecture.
- The second half consisted of "Tell me a time when..." style questions.
-
Algorithms & Data Structures (Coding 1): Given a list of meeting room IDs, implement an efficient way to schedule a meeting given a start and finish time. Return the room ID if there is an available room, or INVALID if there are no rooms available. Example:
- init([RoomA, RoomB, RoomC]) - book([2,4]) // returns a room (e.g. RoomA) - book([2,4]) // returns a room different than previous room (e.g. RoomB) - book([5,6]) // returns any room - book([1,5]) // returns a room different than 2 previously booked (e.g. RoomC) - book([2,4]) // returns INVALID because all are booked in the given slot
Follow-up questions:
- How would you change the solution to support booking cancellation?
- How would I change the solution in a multithreaded environment?
-
Depth in Specialization (Coding 2): Trapping Rain Water
-
Design & Architecture: Design Uber Eats.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.