Ask HN: How to prepare for take-home assignments?

3 points by a-saleh ↗ HN
I recently had an interview and completely flubbed the take-home assignment. I wonder if anybody else has good repository of take home-assignments for practice, or some good guide for training.

This is not a complaint about interview process, there were no trick-questions, just a call with HR, a call with developer, and then a take-home assignment for a small project I should complete in 4 hours.

The projects I have seen so far: - write a cli web-scraper that downloads images - write a simple HTTP server that accepts files within a certain size limit - write a REST-compliant backend for a simple contacts application - write a url shortener

Sometimes in a language/with tools of your choice, sometimes with language, certain libraries or i.e. backend database specified.

Way I see my programming skill currently, is that most of these for me would be weekend projects, taking me around 12 hours, and what I submit after 4 hours is usually bug-ridden barely working mess, where I often spent almost half of the time debugging weird issues.

What irks me, that 5 years ago, I did much better with these. Maybe I spent too much time as QA/ops/support person? Anybody in similar situation? How did you get to a better level?

2 comments

[ 2.9 ms ] story [ 15.4 ms ] thread
I think there's different standards.

There's 'good enough' which is 4 hours and you're going to have bugs (maybe), it won't be as polished or as perfect as you like but it'll pass their test. And then there's 'production ready' which is your weekend project, you'll get it done in a couple of hours then spend the rest of the time polishing it and throwing it up as a side project.

It sounds maybe like for your take-home assignment you were trying to make your production ready app instead of just 'good enough'?

But getting better is just a matter of doing this stuff all day, every day!

I am affraid that even the good-enough level takes me too long.

So far I am contemplating practicing once a week on projects like those listed here: https://github.com/jorgegonzalez/beginner-projects

Unfortunately, when I read through them, they look slightly below the difficulty level I am targeting, but I guess first I learn to run, then I learn to run uphill :)

But if you had good samples to recommend, I'd like to hear them.