Affirm | Senior SWE | July 2020 [Reject]
Anonymous User
6434

Status: Software Engineer, 5 YOE
Position: Senior SWE Backend
Location: San Francisco, CA(virtual onsite via Zoom)
Date: July, 2020

Round 1: (1 hour)
System Design-1: Design Whatsapp. Standard Sys design questions.

Round 2: (1 hour)
Create a dictionary with the methods add(), get() and delete() and deleteRandom(). The delete method needs to remove a random value from the dictionary every time the method is invoked. The deleteRandom() method should also adhere to constant time as opposed to O(n). i.e. it should not iterate over the entire list to get values in order to remove the random value. Each element must have the same probability of being returned.

Follow up: Modify the map such that each unique element has equal probability of being returned.
Ex: If values in map are [5,5,6,5,5] both 5 and 6 have 50% probability of being returned.

Similar LC qn: https://leetcode.com/problems/insert-delete-getrandom-o1/

Round 3: (1 hour)
Evaluate a Decision Tree. It was a modified Binary Tree and had two dimensions called Signals & Constants. Leaf nodes had boolean values. Given an expression had to evaluate to a boolean value. Had to code 3 separate methods(buildTree, evalTree, modifyLeaf).
It took me 25 - 30 mins just to understand the questions. By the time I completed implementing the methods we had run out of time and as such couldnt run/test it. The interviewer seemed happy & said the imlpementation was correct & it shld have worked if we had extra time.

Round 4: (1 hour)
System Design-2: Design a RPC based system for Client-Server communication. We have already released thousands of clients to customers and they cannot be modified. There is a queue between Server & Client, but it works as radio broadcasts. Everybody gets every msg & there is no persistence or ack capabilites in the queue. I was asked to code/pseudo-code publish, consume and subscribe methods.
I bombed this round. I couldnt figure-out what the interviewer wanted. I asked him multiple questions but all his responses sounded very vague to me. I am really interested to see how to handle these kind of sys design questions.

Round 5: (1 hour)
Chat with Hiring Mgr. Was routine behavioral questions.

Comments (5)