End of June:
Phone Screen — Coding: KV Store + Hit Counter
Implement a KV Store that also supports tracking averageGet and averagePut. The main focus was on how to maintain a sliding window, and the follow-up extended it to stats over the past 1 hour, 1 day, and 1 week.
Early July:
Onsite 1 — Coding: File Encryption Tree Optimization
Given a file system tree made of DirectoryNode and FileNode, where each FileNode has an is_encrypted status, traverse the tree to count encrypted / unencrypted files, then choose between file-level or directory-level encryption calls to minimize total encryption cost.
Onsite 2 — System Programming: Concurrent File Logger
Implement a concurrent file logger that supports multiple threads writing logs at the same time. Needed to handle thread locking, buffering, and concurrent file writes, plus some performance optimization follow-ups.
Reference: Concurrent File Logger
Onsite 3 — Coding: Tic Tac Toe
Design a generic Tic Tac Toe where the board is N x M, and getting K identical pieces in a row in any direction wins. Need to check after every move whether a player has won.
Reference: Design Tic Tac Toe
Onsite 4 — HM / Past Experience
Talked with the hiring manager about past experience, mostly around project history, impact, and cross-functional collaboration. Felt like they cared a lot about cross-functional work.
Onsite 5 — Architecture: Design a Book Seller Platform
Design an online book seller platform supporting book browsing/search, inventory, ordering, payment, and order management — the classic e-commerce feature set.
Reference: Book Seller Platform
The day after the onsite, they asked me for a reference, and it went through smoothly after that.
Discussion
Loading comments…