Live data from Hacker News

How to Pass a Programming Interview

blog.triplebyte.com

311–320 of 570 posts

Re: How to Pass a Programming Interview

#311

Earlier quoted context omitted.

I personally also prefer take-home projects over being grilled on my ability to solve obscure algorithms problems under pressure. However, this second route also comes with a number of issues. The most annoying of which in my experience is the amount of time investment each interview requires from the candidate. At least in the traditional technical interview, interviewers and candidates tend to be roughly equally in…

not to mention you're asking them to code a (potentially) complex take home project, that could take over an hour, for free. I had a friend of mine who told me her company doesn't use online programming tests (like hacker rank) because she doesn't think legit programmers would bother with positions that required them. Having taken a couple of these on-line automated tests, I don't think I'd take them again. Problems…

> not to mention you're asking them to code a (potentially) complex take home project, that could take over an hour, for free.

An hour, I'm fine with. It's less than what I'd schedule for an interview, and far less than I'd schedule for an in person interview (which might include a flight out). On the other side of it, though, I'd be concerned about cheating. It wouldn't be too hard to hire someone to take the test for me, I'd imagine.

Re: How to Pass a Programming Interview

#312

Earlier quoted context omitted.

> Even if you don't actively make an effort to network, you have a network of people who know you're good enough to outright hire without the whole rigmarole. Not sure why you think this is the case. It is really easy to end up with a worthless network (I managed), and many larger companies insist on forcing every applicant through the HR hiring funnel for compliance reasons.

It's been my whole career. Yeah, I've had to go in and do the grip'n'grin interview and talk to people for a couple hours to make sure I'm not a martian or something. But every job has always come about because someone at the company either knew I was competent (from working with me in the past) or asked someone I knew who told them I was. I've never had a job that involved whiteboarding or any sort of coding test.

Yes, but why do you think your experience generalizes to anyone else?

Re: How to Pass a Programming Interview

#313
I've built alot of stuff and apart from hash tables, never really needed to understand:

  Hash tables
  Linked lists
  Breadth-first search, depth-first search
  Quicksort, merge sort
  Binary search
  2D arrays
  Dynamic arrays
  Binary search trees
  Dynamic programming
  Big-O analysis
I guess it depends if you are going for a job that REQUIRES these techniques then yes it is important, but for web application development - even sophisticated web application development - not needed.

Re: How to Pass a Programming Interview

#314

Earlier quoted context omitted.

> including (time/space) complexity analysis. I think this is one of the most inane things to be asked during an interview. personally, I've never found myself in a situation where I truly needed to choose between a vector/map/list/hashmap. Or had to find the O(x^n) and replace it with O(x^2) Obviously it depends on the application, but many jobs are simply maintenance coding: find bug, fix bug, test fix. Often times…

Most likely you think about it, though. When you're coding, and you have a triple loop, do you think, "Oh, this is O(n^3). Is n going to be too big here?" It may be something that's so intuitively obvious to you, that you don't even think about it. So you naturally use the hashmap, where someone else might try a list and then start doing a lookup in a loop. Then while that particular instance might not break things,…

I've never ever thought that to myself. Then again my code never has triple loops.

Re: How to Pass a Programming Interview

#316
post #293
post #127

Earlier quoted context omitted.

In Java this prints -4 int [] nums = { 2, -2, 0, 0 }; int dup = findDupe(nums); System.out.println("dup="+dup);

The problem was formulated as to find the only non-duplicate number.

Yes, my wife was waiting on me for lunch so I made tons of typos, yes I meant find the only non duplicate number. and I meant O(1) memory O(N) time complexity.

Re: How to Pass a Programming Interview

#317
post #179

Earlier quoted context omitted.

I've had people interview claiming to know X and then not code in X correctly. So... that's a red flag. We allow interviewees to pick their strongest language. But if you end up picking something that doesn't exist, well, you aren't earning yourself any points.

It depends on what "not code in X correctly" means. If they missed a few syntactical things, it's fine. If they're obviously still "thinking in a different language", then no. For example, if you ask them to loop over a list of items in Python, they shouldn't write: for i in range(len(items)): do_stuff_to(items[i]))

Well, even though it's not idiomatic, it still works. A good question to follow up with is if the candidate is familiar with iterators.

Re: How to Pass a Programming Interview

#318
post #155
post #127

Earlier quoted context omitted.

In Java this prints -4 int [] nums = { 2, -2, 0, 0 }; int dup = findDupe(nums); System.out.println("dup="+dup);

This only works if the numbers are in a known range (say sequential from 1 to 100), and you XOR in the index (plus 1) as well. Then each number is XOR'd two times, except the duplicate, which is XOR'd 3 times (and thus remains at the end). The fact that the code is wrong shows why this question is a very bad interview question. EDIT The given code works to find the only non-duplicate item in a list (perhaps that was…

yes,that was the intention, I can't edit by now. I had to leave fast and then got "noprocast" on and couldn't reply / correct

but it is nice that people got what I said through the lines!

it should have been called findNonDupe and the var should have been called nonDup.

Hope I'll do better in a real interview ;)

Re: How to Pass a Programming Interview

#319
post #317
post #179

Earlier quoted context omitted.

It depends on what "not code in X correctly" means. If they missed a few syntactical things, it's fine. If they're obviously still "thinking in a different language", then no. For example, if you ask them to loop over a list of items in Python, they shouldn't write: for i in range(len(items)): do_stuff_to(items[i]))

Well, even though it's not idiomatic, it still works. A good question to follow up with is if the candidate is familiar with iterators.

Right, the point is that such an answer would reveal a more superficial understanding of the language than they might have earlier implied.

Re: How to Pass a Programming Interview

#320
post #309

Earlier quoted context omitted.

Ironically enough, Triplebyte's own take-home projects were some of the worst I've ever had, and did a horrible job of respecting the candidate's time. When I went through the their take-home interview process, there were 4 projects to choose from, with only one having anything remotely to do with my area of expertise (it was a multiplayer game, and I was looking to work as a web front-end/full-stack developer). For…

I am sorry that you had a bad experience with us. Evaluation is a really complicated thing. The bar that we use for evaluating the take-home project is to treat it as real work, e.g. would a teammate feel good if you were working with them on this task, and you came back after half a day with this. Because we can't see process, all we can do on the take-home track is judge of the finished result is professional-level…

Just curious: are you making sure your interviewer are actually first trying to code the project in 3 hours before judging candidates? I mean, it seems to me that most of my colleagues (and myself) are always very optimistic with respect to "how long it will take". So if you are judging someone based on your expectation without having went through it yourself, it can lead to a perception gap.
Post reply on HN