Postmates | Senior Software Engg | SF HQ | Mar 2020 [Reject]
Anonymous User
1928

Status: Software Engineer, 5 YOE
Position: Senior
Location: San Francisco, CA
Date: March, 2020

Round 1: (1 hour)
Given an time window(start, end) withing which the courier works and an array with start and end times of delivery on x-axis. Courier is at (0,0) and can only do one delivery at a time. Find out the max number of deliveries which the courier can undertake.
Example:

timeWindow: [1, 50]
deliveries: [[1, 5], [10, 25], [17, 21], [30, 60],[11, 16]]
ans: 3 deliveries {[1,5],[11,16],[17,21]}

Round 2: (1 hour)
I could not complete this in 30 mins.
Implement (code) a Key value store with transactions. Write test cases

Following api to be supported: 
Set
Get
Delete 
/*for transactions*/
Begin
Commit
Rollback

My idea was to have a Map with key & List of values. When the modifications are done outside of transactions, I will update list index 0. Within a transaction I will update list index 1. When commit is called I will update list index 0 with list index 1 & delete list index 1. For some reason the interviewer was not convinced with this. I am looking for suggestions.

Round 3: (1.5 hour) Lunch Interview
Behavioral questions

Round 4: (1 hour) System Design
Design FB messenger style chat system with support for group chats

Comments (6)