4 ms·
Oh please. The "couple of hours" line is used for any range of "take-home" coding projects, from ones that actual do take a couple of hours, to ones that take a
by jnbiche 9y ago
Oh please. The "couple of hours" line is used for any range of "take-home" coding projects, from ones that actual do take a couple of hours, to ones that take a few days.
Also, how would programming projects reveal that you're a slow coder? I know some people who can run through (memorized) coding puzzles quick as a whip but who struggle to put together a working REST API with a few endpoints in under a few weeks.
- shortoncash 9y agoHaha, so true. There was one interview with a company I did where they explicitly said not to take more than a few hours but actually gave you a few days to complete it. So I legitimately cranked something out as fast as possible in under 2 hours and actually achieved the task at hand. But, since it was just 2 hours, I didn't bother making a makefile or splitting stuff into multiple files, or I used shortcut APIs. In the end, every shortcut I used to get the job done in 2 hours became their justification for passing. So yeah, don't actually do the job in 2 hours.
- ThePadawan 9y agoHad a similar experience at an on-site coding interview. I was handed a single file of about 5000 lines of code and told "please note down what you would improve, just everything from formatting consistency to architecture". I got through around 1000 lines in the given time (can't recall how long that was) and had to tell them "I found too many things wrong with it, here is the gist". I went on to work on internal architecture and code quality in that position. So yeah, not all tests are made to be passed with flying colors, and not all tests are made to be flunked. Anything in between will still give you valuable output.
- crimsonalucard 9y agoI haven't bootstrapped a full api in years. For my job we just keep keep adding to an existing monolithic api under a big framework (django). I've literally gotten two interviews where they wanted me to bootstrap api's to solve a specific problem on the spot. To handle interviews I spent a day creating a barebones api under a simpler framework that had example routes for some possible question types like Backend http requests, sql calls, and redis. Then I abstracted the mundane data transformation functions like "text to json" or "json to text", or "json to response object" into decorators. Literally the views just fetched some data from sql and returned the raw data, while the decorators would handle the necessary transformations. By doing this leg work first, and writing the api so that in timed interviews you don't have to think about anything other then fetching and returning data (of course the decorators aren't enough to handle all data processing cases) you can outperform other candidates by spending more time working on the problem rather then thinking about configuration or type conversion. Also it would be good to use a pattern that scales and is a bit unconventional to help you stand out. I chose coroutines with httpaio (I'm a primarily python developer) which is really different from what most people use (flask). I recommend creating your own barebones template for interviews but you can view what I did here: https://github.com/crimsonalucard/aiohttp_bootstrap/blob/master/main.py https://github.com/crimsonalucard/aiohttp_bootstrap/blob/mas... AS you can see even bootstrapping an api is over a hundred lines of code. If they want you to pull that magic off from scratch in 2 hours, good luck, psh. It took me about 8 hours to write the bootstrap code (Albeit I was dealing with a completely new frameworks, libraries and patterns I've never used at work). The good thing about having a barebones api setup and running it on your computer is that often these live coding interview questions happen on your computer. Just some tips. Good luck everyone.