This project was generated with Microsoft Visual Studio 2017. It is a web API created with ASP.NET Core 2.1
The API has two end points:
api/jobs: Get the list of jobs from JobAdder API
api/candidates: Get the most qualified candidate(s) for a job
To test the endpoints swagger, an open-source framework has been added to the project. It provides a UI for describing, producing, consuming, and visualizing the RESTful endpoints.
Run the project (F5 key)
Then the Swagger UI can be found at https://localhost:44327/swagger
Use one of the following methods to run your program.
Choose the F5 key.
On the toolbar, choose the IIS Express Debugging button
Open Test Explorer by choosing Test > Windows > Test Explorer from the top menu bar.
Run your unit tests by clicking Run All.
After the tests have completed, a green check mark indicates that a test passed. A red "x" icon indicates that a test failed.
In order to match a candidate to a job an algorithm was created, the algorithm:
-
Assigns a weight to each of the job’s skills sorted by relevance
-
Iterates through the list of skills required by the job and get a distinct list of candidates that have at least one of the skills required.
-
Select candidates matching at least one of the job skills
-
Recruiter is given two choices of algorithms:
-
Quality: A higher score for candidate skills matching the most relevant job skills
-
Quantity: A higher score for candidate skills matching the bigger amount of relevant job skills, scored by candidate’s skill strengths.
- In Quality algorithm, the top skill of the candidate is scored to 1 and the following skills will get 50% less of the weight of the previous skill.
In Quantity algorithm, the 50% value changes to 20%.
In Quality algorithm we boost the top skills of the candidate while promoting the number of matching skills in the quantity algorithm.
-
The candidate final score for a job is the sum of each candidate skills weight multiplied by the job skill weight that match.
-
Return the final list of candidate(s) sorted by descending weight.