This is a technical assignment for the scope of senior backend engineer

Overview

The task is to write a simple django / fast-api microservice for an HR company . You would be responsible for building the API that populates the employee search directory .

Screenshot 2023-10-27 at 8.12.57 PM.png

Feel free to create entities and their attributes as you like in the relational DB .

<aside> πŸ’‘ Only the search API has to be implemented . Please ignore the Add employee Import Export CTA

</aside>

<aside> πŸ’‘ You are only required to implement the search API . You do not have to implement crud API for any of the entities

</aside>

The following are the filter options of the API .

Screenshot 2023-10-27 at 8.44.39 PM.png

The following are the responsibilities of the search API

Dynamic columns :

Different organisations will love to have different columns in the output , while the above example displays contact info department location position . Some organizations would love to display the department location position columns only . So you can assume the order , the columns are configurable at an organization level .

<aside> πŸ’‘ you do not have to create crud api to store the configuration of columns for the organizations . Assume it’s stored in configuration of your choice ( DB / file / etc )

</aside>

Performance :

Please assume that there are millions of users in the database , so do design the API considering the heavy load that could be placed on the API ( after sharding etc )

Rate-limitting