I made it to the very last stage of the TopTal interview, and I failed it for a simple mistake, that I think is not uncommon. In this article I explain why I failed, and how not to. Btw, don’t worry I’ll soon be getting another chance!
About the TopTal interview
You know the drill, you’ve probably read other articles about the TopTal interview. It’s a five-step process, it’s very selective, it’s easy to fail at many points.
I forgot to add authentication middleware to an admin route. This means that there was one administration route that could delete stuff from the database that was left open for everyone to call.
I had to develop a full-stack application, so I developed the backend first, with unit and integration tests. Once I was done developing the backend, I developed the frontend.
While developing the fronted, I realised I had forgotten to implement a route on the backend. So I momentarily switched and implemented it on the fly. And here, I made two mistakes at once.
- I forgot to add the authentication middleware
- I skipped writing the integration tests
My code had >95% test coverage, yet in the little untested code there was enough for me to fail the interview!
From what I understood, access problems are a no-go, if you make one, no matter how good your code is, you fail, which kind of makes sense.
- Have 100% test coverage
- don’t switch between backend and frontend often. When you do, be especially careful and don’t skip steps. Write tests.
- Be very careful with access issues, test every route with postman to make sure that only the users who should be able to access it can in fact access it. Don’t skip any route, do this for every one.
Here’s another thing that will come in handy on my next attempt:
- Having precise input validation is good. Not having it is not a breaker, but having it is a good thing.
Regarding the previous rounds, here are the things that helped me pass them:
- the first step is a quick call, do these things and you’ll pass: be in the call on time, be able to understand and speak English, know your resume and be able to talk about your experiences. It will last 15 minutes at most. Mine lasted less than 5.
- The algorithm step is not easy, you can’t just hope to do it without training. Take 4 hours a day every day for one week before the test day and do codility exercises. You should do all codility excersices before doing the test. The actual test is easier than the harder problems on codility, but doing them will come in handy too.
- for the first technical interview you just need to focus and do exactly what you did in the algorithm test but easier, and with a person watching you.
The hardest step is the algorithm step, if you’re past that there are good chances that you’ll pass. Failing from there on is about not making stupid mistakes! So check everything twice, write tests, or at the very least make sure you do one last big manual test before taking the last technical interview. Test the actual API directly without your frontend in front of it.
I hope you’ll benefit from my mistake and don’t fail the toptal interview yourself! I saw a couple articles about how people succeeded but none about how people failed it.
Thanks for reading, check out my other articles too!