Build an end-to-end candidate search system for recruiting.
Input
Each search request contains a job posting with:
-
Job title
-
Job description
-
Hard criteria, such as required skills, location constraints, work authorization, minimum years of experience, education, or availability
You are given access to a candidate database. Each candidate profile may contain structured fields, such as location, skills, years of experience, and availability, plus unstructured text such as resumes, work history, project descriptions, and notes.
Output
Return the 10 best-matching candidates for the job posting.
Requirements
-
Correctly enforce hard criteria whenever possible.
-
Rank candidates by overall relevance to the job.
-
Handle both structured filters and semantic matching over unstructured candidate text.
-
Produce an end-to-end working implementation that can be evaluated by an automated endpoint.
-
Use evaluation results to debug and iterate on the search quality.
-
Be prepared to explain how you used AI tools, how you designed the retrieval and ranking pipeline, and how you diagnosed and fixed quality issues.