A Primer
There’s a lot of solid material out there to teach folks how to interview folks for data structures and algorithms – CTCI, Leetcode, Neetcode. But there’s a dearth of material for how to evaluate candidates in higher-level interviews, such as system design.
I wanted to share what I think feedback would resemble. I’ve added detailed explanations justifying why the feedback written out “is what it is”.
I ported the question over from Alex Xu’s System Design Interview, Volume 2, Chapter 1 : Proximity Service. Here, the candidate needs to design a system that emulates how users can search for nearby businesses, restaurants, and other akin offerings in a short blast radius of 5 kilometers to 25 kilometers. It’s similar to conducted searches for businesses on yelp.com, booking.com, or TripAdvisor.com.
The Candidate’s Strengths/What They Did Well
- TC recognized need to develop for multiple personas – end customers, internal business administrators.
- TC understands tradeoffs across geo-spatial approaches – two-dimensional longitude-latitude searches, quad trees, and geo hashing.
- TC typed out more details in additional to verbal explanations – this built a stronger case.
- TC understands primary-secondary write-read splits and database replication.
- TC understands CAP theorem and justified high availability over eventual consistency for a large user base product.
- TC asked thoughtful clarifying questions and downscoped the product to a first-iteration MVP.
- TC justified how pre-computed geohashed tiles can fit in a single server and recognized that 5*10TB of tile data can easily fit across five servers.
- TC understands object hydration and storing or passing only business IDs across caches and networks.
- TC understands lazy loading and leveraging freshness to solution the problem.
- TC recognized how they would change design from a microservice mesh to a nightly cron job if the requirements changed from 5-10 minute updates of business to a once-a-day nightly update.
- TC justified why they would use two distinct API Gateways – to accomodate for each persona with regards to security, scaleability, and abiding by good pre-emptive design choices .
Areas of Refinement
- TC can spend less time on capacity planning.
- TC can instruct the interviewer to do capacity planning in the end and to focus less on it.
- TC can avoid “deep diving” to much :
- Deep diving demonstrates knowledge, but if the interviewer stops you to ask a question, they want you to move forward in the direction of that question.
Leveling Determination
- Google L4 : Strong Hire
- Google L5 : Hire
- Google L6 ( staff+ ) : Leaning Hire

Leave a comment