Problem
Customers send us employee data as spreadsheets, and the ops team currently copies the rows into the product one at a time. Replace that with a bulk upload: the customer hands over a file and the system creates every employee in it. There is an existing employee service with a POST /employees endpoint that creates one employee per call. It is a separate service reached over the network — you do not write into its database, and you are expected to mock it. There is no product spec: agree one with the interviewer first, then build a working slice.
Requirements
POST /bulk-uploads — accept a spreadsheet (CSV/XLSX), return a job_id immediately. Processing is asynchronous.GET /bulk-uploads/{job_id} — poll job status: counts per state plus the per-row errors, so the customer can fix and re-submit.POST /employees call against the external service, which may fail transiently (timeout, 5xx, 429) or permanently (validation, duplicate).Areas to design
pending → in_progress → succeeded | failed | dead_lettered — and where that state is persisted so a worker crash does not lose it.What's evaluated
How you cut an ambiguous problem down to a thin, working slice — what you build first versus explicitly defer — and how fluently you direct an AI coding agent to get there while still owning the design decisions.