Live data from Hacker News

How to Pass a Programming Interview

blog.triplebyte.com

271–280 of 570 posts

Re: How to Pass a Programming Interview

#271
post #245

Earlier quoted context omitted.

If your code is sufficiently terse that it's not very understandable (such that the complexity isn't very understandable) surely that's a realistic red flag?

My shipping boxes hold an even number of widgets, but I "have to" sell odd quantities and those need expensive mil spec styrofoam peanuts added to fill the hole. Here, have an array of possible shipment sizes. Given that array, if its shipping an odd number of widgets I wanna add an additional half widget shipping charge. newshipping = oldshipping.select{|i| i % 2 == 1 }.map{|i| i + 0.5 } My ridiculous fictional writ…

In Java it would look like this:

List newshipping = oldshipping.stream().filter(i -> i % 2 == 1).map(i -> i + 0.5d).collect(Collectors.toList());

a bit more verbose but the essential chaining idea is there...

Re: How to Pass a Programming Interview

#272
post #240

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 don't think that is really a problem. We hire people to do a good job and most of the times kick-ass programmer isn't the best person for the job. At least for a smaller company we need someone who can understand business needs, can communicate better and Add Value . This is a far complex job than implementing red-black trees. Consider this: We need to find the most shared URLs on Facebook in last 24 hours. I can p…

Would the Buzz-sumo programmer be expected to investigate their terms of service too? (Often scraping is prohibited.)

Re: How to Pass a Programming Interview

#273

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…

> there's very little left to discourage interviewers from issuing ridiculously time-consuming projects There's also no disincentive for interviewees to spend an unreasonable amount of time on the project. So the test is biased against employed people and/or people with kids. This can be easily countered though. Send out the assignment at a predetermined, convenient time and require it be returned an hour or two late…

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 take the test first. But of course, none of these places ever do that.

(Well, not "none." I'm being hyperbolic. I just mean in that in general, they probably estimate the round-trip time on these programming guizzes the way they do micro-projects on their own jobs -- as in, "Oh, I can do that in an hour" -- but in real life, it often takes 2x-3x longer).

Re: How to Pass a Programming Interview

#274

I really wish that at some point during my CS education I would have realized how typical programming interviews worked and just how impossible they are for me. None of my internships had this sort of stuff and after a long string of failures interviewing after graduating, I can openly admit that being able to solve algorithm stuff just isn't in my blood. It doesn't matter how many books I read or questions I practic…

Are you committed to working as a professional programmer? If not, a rapidly growing area where lots of help is needed is the intersection of computer science and law. Lots of bad laws exist on security and privacy, because the people who drafted them don't have a CS background. If you do want to work as a professional programmer, try just typing through solutions and understanding them. After lots of exposure, you'l…

Would working at the intersection of law and CS require going to law school, do you think?

Re: How to Pass a Programming Interview

#275
While not strictly programming I just finished interview number four/five with a company about an hour ago. SQL and data modeling. First, one non-technical phone interview, one technical phone interview, one online take home test. Today, two different sessions, second one primarily technical, and lunch.

White boarding a simple data model of a real world scenario was surprisingly difficult even though the interviewers were very cordial. The exercise was used to gauge my question asking skills (interviewer was acting as subject matter expert) as much as data modeling and SQL. It was kind of fun as I used it as an opportunity to expand my ability to problem solve in stressful environments.

Re: How to Pass a Programming Interview

#276

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…

Now they also tell you that it's OK if you don't finish the project. Yeah, they always say that -- but it's never really true. They should just be honest and say "If you don't finish the project in time -- then don't feel bad, but perhaps the test isn't right for you, at this time. Feel free to apply again in 6 months."

I've actually been through two interviews where I wasn't expected to finish the project, and I ended up getting the jobs. I think the difference there was it wasn't set up that it's "OK if you don't finish", but that "these requirements were crafted such that we don't expect you to finish".

Re: How to Pass a Programming Interview

#277

Interviewing should now be part of most CS educations, if not its own three class/semester course. Its that weird, and that important.

Alternatively we could come up with a better system for interviewing. Instead of concentrating on being able to remember algorithms and write them out in a completely non-normal way (white board) we could, instead, give them a very small project to do then have them come in and explain it, walk someone through extending it and / or work through a problem together. You'd get real experience seeing how they write their…

> we could, instead, give them a very small project to do

one objection to this I've heard is that it disproportionately disadvantages people who don't have the free time to do it

Re: How to Pass a Programming Interview

#278

Earlier quoted context omitted.

> there's very little left to discourage interviewers from issuing ridiculously time-consuming projects There's also no disincentive for interviewees to spend an unreasonable amount of time on the project. So the test is biased against employed people and/or people with kids. This can be easily countered though. Send out the assignment at a predetermined, convenient time and require it be returned an hour or two late…

> There's also no disincentive for interviewees to spend an unreasonable amount of time on the project. I don't see any problem with this, as an interviewer. The take-home is supposed to be an example of the work the candidate does, they should take however long to do it. I want to see the best-case scenario of the code they write (given the problem at hand, etc, of course). The entire idea is removing the time press…

Right, but workaday programers with two kids and a full time job won't be willing or won't be able to spend, say more than two hours on something like this.

Re: How to Pass a Programming Interview

#279
> The good news is that interviewing is a skill that can be learned.

When I hear folks complain about programming interviews, I point to that.

The month I spend gearing up for coding interviews usually guarantees me a job, that offers at minimum a $10k raise. I consider that a very good use of my time.

Re: How to Pass a Programming Interview

#280
post #241

Earlier quoted context omitted.

Honestly though my biggest issue with interviews is the lack of response with a negative result. Exactly mine too. However: If something is wrong with a candidate and they don't fit that's perfectly fine. But please give them accurate and detailed feedback where possible. Detailed feedback is hardly ever possible. Not only because of a fear of litigation (which is a big factor too) but also because the hiring decisio…

> Detailed feedback is hardly ever possible. Not only because of a fear of litigation (which is a big factor too) but also because the hiring decision is a matter of balancing so many different points. You're right but if a candidate is going to spend hours or days working with your company I think it's the least they deserve. If there is a legitimate reason for not hiring them I'd like to think litigation would be r…

There is also a power imbalance that is exploited. You need a job a lot more than the hiring company needs a new recruit.
Post reply on HN