Live data from Hacker News

How to Pass a Programming Interview

blog.triplebyte.com

511–520 of 570 posts

Re: How to Pass a Programming Interview

#511
post #452
post #338

Earlier quoted context omitted.

>>Feel free to apply again in 6 months. I don't understand this. No company is so special that I would be throwing away hundreds of hours in pointless meaningless work every few months just to join them! Unless I'm in need of a job again. And whats the big deal even if I join them after six months, I'd be working to maintain some code, fix bugs and may be occasionally do a big important project. Its not like they are…

Me neither, it is like some companies like to feel special. After being invited twice for Google interviews, I mean really invited by their HR, not me applying for them. On both occasions I failed the process with their stupid questions. I started replying to their HR, if I am so good to be invited but on their eyes unable to devise a inode search algorithm for unlimited hard disk sizes with a specific set of hardwar…

Devise a inode search algorithm for unlimited hard disk sizes with a specific set of hardware and search time constraints?

Curious -- was this problem reasonably related to the kind of work you'd be doing in the role you were applying for?

Or did they just want to find out if, you know.... you had that "spark"?

Re: How to Pass a Programming Interview

#512
post #496

Being a good programmer has a surprisingly small role in passing programming interviews. And that just says it all, doesn't it? I agree that interviews should test candidates on certain basic skills, including (time/space) complexity analysis. But do you really learn anything by asking the candidate if they can recite the time complexity of a moving window average algorithm (as I was asked to do by an interviewer yes…

I have a theory: I think the coding skills of a programmer are function of the number of programs he's written - from scratch .

Maybe, but at the moment I have inherited a bit of a mess of an application in my new job. I think it takes more skill to work out what it is doing and replace the crap code with something simpler and more efficient, more maintainable and easier to read.

Re: How to Pass a Programming Interview

#513
Ummm, this should be titled 'how to pass an interview', period. Most of this advice applies well outside of programming and reads like any of 1000 self-help books of the past many decades. Sure there are a few specifics to coding but all the themes are as old as the hills.

Re: How to Pass a Programming Interview

#514
At my startup, I've had some success hiring mobile devs through "audition programming" on Google Hangout.

I create a "real-world-lite" task like "connect to this simple JSON API I built and implement a recursive product category browser on top of it". I've done this task myself already with a timer and am confident that it will take about an hour to implement. Then I ask the candidate to share their screen and implement it in Xcode while I watch. As they develop, I can get a sense for how they attack problems (quick and dirty, slow and methodical, stack overflow copying, etc), and afterwards I can ask questions about their thought process.

If they did well in the first one, we block out a second one for another hour, and a third for another hour after that, each one testing different skills.

This avoids the time imbalance inherent in take-home projects, because I'm spending just as much time as they are. And it avoids the painful "implement a red-black tree" whiteboard questions by focusing on real-world work in their own dev environment. It also means I have a decent sense of their skills before I ever invite them to an on-site interview.

Re: How to Pass a Programming Interview

#515
post #490

Earlier quoted context omitted.

I have never used the Instagram API and had to look up what a tagcloud is just now. I can immediately say this will take more than 'a couple of hours', whenever I work with a new API it takes time to setup the environment, digest how it works and research the appropriate APIs I need to use. I am not surprised by your experience. Actually makes me angry that someone thinks a reasonable person could do that in two hour…

This seems to happen on around 50% of the take home tests that I have been given. Funnily enough I only take the time to do 50% of them. Hackerrank is even worse. They have strange ways of wording the questions. I have to Google around to work out how to use their input and output (I work with databases all day long, not reading and writing to STDIN/ STDOUT). No step through debugger (which makes a lot of sense for t…

This seems to happen on around 50% of the take home tests that I have been given.

That was my rough estimate for the prevalence of this craziness, to.

Re: How to Pass a Programming Interview

#516
post #497

Earlier quoted context omitted.

I've gotten a take home test that took all Saturday. I finally finished it happy with myself and with my work and emailed it in. The response was "thanks, are you ready for the next exercise?" i was like.. um.. I really need to get on with my weekend. This was deferred to the big boss who said "It's ok just do it whenever you have time next" .. ook so that was my next Saturday. Worst part is that after turning that i…

Add them to your portfolio and showcase them. Not a waste.

You can also recycle components of coding exercises. For instance in a project with a front end visual component, it is no longer just the bare bones functionality, as you've implemented fonts, networking layers and data models, and co-opted some design patterns from one company's UX person (but changed the assets) during that interview.

Re: How to Pass a Programming Interview

#517
post #462

Earlier quoted context omitted.

Send out the assignment at a predetermined, convenient time and require it be returned an hour or two later. Except that these places very frequently tend to either (1) misstate the problem in some major or minor way, or (2) wildly underestimate the time required to produce a professional quality, bug-free, bulletproof-tested solution. Which can be easily countered by having one of their own team members sit down and…

Yes, I got one recently: Pull down this data from Instagram API and create a tagcloud. Should only take a couple of hours. Except working out how to register and authenticate Instagram's API took me over two hours, than after faffing about with it I realized I only had some sandboxed version that returned metadata and not the actual data I was looking for. The task would probably only take a couple of hours if the wh…

My personal favorite, was when, after I had apparently survived a 4-hour interviewing + whiteboarding stint, and thought I'd be able to head out onto the street (as it was already quite late in the day)....

...a math PhD told me "hey, I got one more ya..." and proceeded to give me a mis-articulated mathematical search problem which -- going by his own statement of the problem, ended up having as its "solution" -- an empty class.

Re: How to Pass a Programming Interview

#518

Being a good programmer has a surprisingly small role in passing programming interviews. And that just says it all, doesn't it? I agree that interviews should test candidates on certain basic skills, including (time/space) complexity analysis. But do you really learn anything by asking the candidate if they can recite the time complexity of a moving window average algorithm (as I was asked to do by an interviewer yes…

Wouldn't the question about the moving average be a good one though? It should be quite obvious that you can calculate a moving average without remembering more than the current average and the window size. Given that, time and space complexity should be obvious. I think it would be a fine question to see if the interviewee has any idea what complexity means. Or was it a more complicated moving average case (exponent…

How many jobs will it be relevant to?

Re: How to Pass a Programming Interview

#519

Earlier quoted context omitted.

Send out the assignment at a predetermined, convenient time and require it be returned an hour or two later. Except that these places very frequently tend to either (1) misstate the problem in some major or minor way, or (2) wildly underestimate the time required to produce a professional quality, bug-free, bulletproof-tested solution. Which can be easily countered by having one of their own team members sit down and…

> Which can be easily countered by having one of their own team members sit down and take the test first. But of course, none of these places ever do that. At my employer we send out homework exercises, and I personally did the backend developer exercise before we sent it to anyone. I did this specifically to test how long it took. (For the frontend exercise, we didn't have anyone skilled enough on staff to do it, wh…

Well you're one of the brave and true, then.

And I had someone on my previous team make a point of bringing up this fine point at a meeting, also ;)

Re: How to Pass a Programming Interview

#520
post #452

Earlier quoted context omitted.

Me neither, it is like some companies like to feel special. After being invited twice for Google interviews, I mean really invited by their HR, not me applying for them. On both occasions I failed the process with their stupid questions. I started replying to their HR, if I am so good to be invited but on their eyes unable to devise a inode search algorithm for unlimited hard disk sizes with a specific set of hardwar…

Devise a inode search algorithm for unlimited hard disk sizes with a specific set of hardware and search time constraints? Curious -- was this problem reasonably related to the kind of work you'd be doing in the role you were applying for? Or did they just want to find out if, you know.... you had that "spark"?

It was a position related to compiler development.
Post reply on HN