Level: Mid-Level
Round: Phone Screen · Type: System Design · Difficulty: 7/10 · Duration: 60 min · Interviewer: Unfriendly
Topics: API Design, Idempotency, Correctness, Database Selection, Cache Design, Sharding
Location: San Francisco Bay Area
Interview date: 2026-02-15
I discussed the design of a like/dislike system, including API design, idempotency, correctness, database selection, cache key-value design, and sharding.
I interviewed for a software engineer position and the technical phone screen focused on designing a like/dislike system. The system allows users to like or dislike items, view their status for each item, see past liked items, and view the exact like count for each item. The discussion covered the following aspects:
The interviewer expected me to actively drive the interview and perform a deep dive into each area.