Our company is building a LinkedIn-like application for real-estate agents. As a backend engineer, you are building & maintaining a few endpoints that enable our users to (1) send, (2) accept, and (3) decline friend requests, as well as (4) view their friends' profiles.
This take-home assignment aims to assess the followings:
- Your competence in Javascript/TypeScript & their ecosystem
- Your competence in SQL
- Your ability to follow instructions
- Your ability to adapt to a new codebase
- Your ability to read documents
- Your ability to "Google" & "Stackoverflow" your way to the answers
- Clone the repo to your computer
- Run
yarn install
- Run
yarn db:push
- Run
yarn test
NOTE: Though not compulsory, it's highly recommend that you use VSCode, with the following Extensions:
- ESLint (enabled)
- Prettier (disabled)
There are only 2 tables in our applications: users
and friendships
. You can
view their structures in src/server/db/schema.prisma
.
You will be strictly working on & making changes to the following files below. Do not create new files or make any changes to any other files in the repo.
src/server/api/routers/friendship-request-router.ts
src/server/api/routers/my-friend-router.ts
src/server/tests/friendship-request.test.ts
There are 4 questions in total. Though not enforced, we highly recommend that you do them in order. There are further instructions embeded in the questions.
NOTE: if the links to the questions do not work, you can find them in the following files
src/server/api/routers/friendship-request-router.ts
src/server/api/routers/my-friend-router.ts
After you finish the test, do a self-assessment by completing the checklist in the Checklist section below.
Finally, publish the finished repo to your Github, then send the url
to the repo via email to binhdv@thenowproject.com.vn
and
baotran@thenowproject.com.vn
- Attempt Question 1
- Attempt Question 2
- Attempt Question 3
- Attempt Question 4
- Finish Question 1
- Finish Question 2
- Finish Question 3
- Finish Question 4
- Run
yarn lint
with no errors - Run
yarn type-check
with no errors - Pass test Question 1 / Scenario 1
- Pass test Question 1 / Scenario 2
- Pass test Question 2 / Scenario 1
- Pass test Question 3 / Scenario 1
- Pass test Question 3 / Scenario 2
- Pass test Question 4 / Scenario 1
- Pass test Question 4 / Scenario 2