How the interviewer opens it
“Design a service that recommends relevant open jobs to job seekers. Use their qualifications, preferences, and past actions. The service must also work for new users and new jobs.”
The prompt is vague on purpose. The first minutes are for you. Reduce the prompt to the core features and agree on the numbers before you draw.
What to clarify first
- Scale
- Read and write mix
- Qualifications and preferences
- Relevance and new users
- Response and latency
- Freshness
- Consistency and availability
- Durability and history
- Available data
- Deployment and exclusions
The interviewer has the answers. In a SysRound round, Alex gives these answers, as a real interviewer does.
Scope of a strong answer
Core requirements
- Recommend open jobs from qualifications, preferences, and past actions.
- Apply strict preferences and exclude known qualification conflicts.
- Support users and jobs that have no interaction history.
- Apply job and profile changes within the stated time limits.
Usually out of scope
- Parse resumes or verify qualifications.
- Recommend candidates to employers.
- Run job applications or send notifications.
- Sell job ads.
- Serve traffic from multiple regions.
What interviewers ask about
- Relevant jobs
- The service must select 20 useful jobs from five million jobs. Strict rules and unknown qualifications complicate relevance scores.
- New users and jobs
- Interaction history helps established users and jobs. New users and new jobs lack that evidence.
- Job and profile changes
- Changes can make jobs eligible or ineligible. Stale candidate filters can hide eligible jobs even when final checks use current data.
- Interaction history
- Clicks reflect exposure and position as well as relevance. Completed applications arrive later and provide a different signal.
Common mistakes
- Starts with a complex model before defining eligibility rules and the success metric.
- Uses interaction history as the only source for recommendations.
- Checks current job status but ignores stale profile preferences and mandatory qualifications.
- Uses final eligibility checks to justify stale candidate filters that exclude newly eligible jobs.
- Reports a read-heavy workload but ignores the much larger event volume.
- Optimizes clicks without accounting for exposure, position, or completed applications.
The bar by level
- Senior (L5/E5)
- Bounds candidate selection and score work to meet latency targets. Handles profile changes, job closure, newly eligible jobs, duplicate events, and score failures. Defines an application-based experiment.
- Staff (L6+/E6+)
- Proves admission and removal deadlines across index updates, caches, request work, and failover. Preserves accepted data through zone failure. Addresses delayed outcomes and exposure bias. Justifies capacity, fallback quality, and model complexity.
Sources · 1 reference
These records explain where the question appears. A company tag or candidate report does not guarantee a future interview question.
SysRound · 1 record
No company association
Design a job recommendation system
Reported date not specified
Source snapshot: Nov 12, 2026
View source