This is the hiring assignment for the TAM Team at Algolia. It’s intended to mimic work you might do here, while giving us an understanding of your skills in:
- Coding
- Problem Solving
- Communication
If you want to know how we will judge the assignment, you can view our scoring rubric.
Spencer and Williams have provided us with raw product data and a repo of their front end code. They have asked us for help to enhance their implementation and have asked that we create an Algolia application to demonstrate this to them.
Spencer and Williams are having a sale on Cameras. They would like you create and run a demo script that reduces the price of everything in the camera category by 20% and then round to the lowest full number. They have provided the raw data as products.json . The data should be transformed and sent to algolia in a single script.
You can run my script by executing node transform-post-products.js
from the cmd.
Our customer Spencer and Williams want to use Personalisation in order to to do this they need to implement Algolia Insights . They have asked for us to create a demo of the events included in their provided codebase.
It is imperative that we send clicks and conversion on the result page hit results, any other events included will be a bonus.
Spencer and Williams want some guidance on their optimal relevance set up. In the Algolia index that you have uploaded the data and events to, configure the relevance so that when users are searching they are seeing the results that make most sense.
For this question in particular I think it would be worth having an added conversation with Spencer and Williams to hone in on the optimizations that make most sense. Are they seeking to promote specific products, brands, free shipping? Alternatively, are they looking at cost margin on products and want to promote items with higher margins? Also, it should be noted that Personalization's are only available to our Premium plan holders. After checking their account, aka my account ;), it appears that feature isn't available. So, as an alternative I've set up a few baseline relevance essentials. I added 2 searchable attributes brand and categories. While free shipping was added as option to toggle. All these options were added with the Facets feature under Algolia's Index Configuration.
Please answer example customer questions in the questions directory.
- You'll need to sign up for an Algolia account @ https://www.algolia.com/users/sign_up.
- You can find the product dataset in the data folder inside this repo. Feel free to use any language to perform the data transformation
- To run the front end of the application you will need to add your app id, api key and index name to the file .env.test and rename it .env. Once added run
npm install
&npm start
to see the UI
Everything you need to complete this assignment can be found on algolia.com/docs.
- Push your code into a code sandbox and share it with us
- Reply to our email with a link to your code sandbox, and anything else you think is applicable
Did the candidate: | Yes | No |
---|---|---|
Follow the instructions of the assignment? | ||
Write code that follows best-practices? | ||
Avoid over-engineering? | ||
Demonstrate understanding of the code they wrote? | ||
Demonstrate good code and process organization? | ||
Complete the assignment in an efficient manner? | ||
Ask for clarification when necessary? |
Did the candidate: | Yes | No |
---|---|---|
Answer the questions correctly? | ||
Answer in a succinct manner? | ||
Have minimal spelling, grammar, or formatting mistakes? | ||
Employ a friendly, helpful tone? |
Does the candidate demonstrate being in the top 10% of: | Yes | No |
---|---|---|
Technical aptitude | ||
Problem Solving | ||
Communication skills |