Live data from Hacker News

How to Pass a Programming Interview

blog.triplebyte.com

61–70 of 570 posts

Re: How to Pass a Programming Interview

#61
post #39

Earlier quoted context omitted.

My credential represents hundreds of hours of programming projects over several years. For that reason alone it is a much better signal than an interview will ever be. It also establishes depth and breadth of familiarity with a variety of fundamental topics demonstrated through exams and large programming projects: program design, networking, operating systems, security/cryptography, team software engineering practic…

You're not being compared to people who lack hundreds of hours of programming projects. You're being compared to people who have that same experience, either at a worse school, or on their own. Credentials correlate with being good, absolutely. But many, many more people lack credentials than have them. This means that there is a large number of great programmers who don't have them (I think a larger number than who…

>You're not being compared to people who lack hundreds of hours of programming projects.

I don't think that is quite right. Interviewers claim coding interviews are necessary to weed out the large fraction of our industry that cannot write code at all. If they cannot code, then they did not successfully complete a good undergraduate program's worth of coding projects (they cheated, rode on the coattails of group members, were graded way too easily, or something). Otherwise they can code.

>Strong filtering on credentials harms companies who miss good programmers, and harms programmers who can't get jobs.

On the other hand, strong filtering on whiteboarding unnecessarily filters out people who don't do well under that kind of pressure but may be great programmers given a computer and a more realistic deadline. They also privilege people who have optimized well for whiteboard interviews but may be destructive in the longer term.

Which is why the optimal solution seriously considers both factors. (I'm arguing with you because you called credentials influencing hiring a "bad" thing).

Re: How to Pass a Programming Interview

#62

Earlier quoted context omitted.

Is there any reason an interviewer should care about syntax, etc? When I interview, I ask for psuedocode - I don't really care what language the interviewee uses, I do care that they can get their point across.

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.

> But if you end up picking something that doesn't exist, well, you aren't earning yourself any points.

I don't know about your personal interviews, but I'd find this reasoning slightly strange if I were being asked to write computer code on a whiteboard. I'd find it much less strange if I were actually handed a laptop to write a functioning program on.

Expecting perfectly correct code on a whiteboard seems to me to be a slight abuse of the medium. Whiteboards and chalkboards specifically exist to sketch things out in an adhoc fashion, often in a collaborative and easy-to-edit way.

Re: How to Pass a Programming Interview

#63
post #3

Another tip which I give: Interviewers vary widely in how much they care about whether your syntax is accurate, whether you handle invalid inputs, and whether you write unit tests. It's really useful to ask the interviewer whether they want you to worry about those things. If you handle invalid inputs for an interviewer who doesn't care about that, they're going to be a little annoyed by you going more slowly than ne…

When I interview, I usually ask pseudocode first, then write it out in actual code. Think of it like writing a short essay. Outline first, then actually write the essay with proper grammar to the best of your ability. There will be typos and grammatical mistakes which I don't really care about but I do want to see your style and how you use the language to express what you want it to do.

Re: How to Pass a Programming Interview

#64

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

But the people who'd need that the most are the ones furthest out of school.

I shudder at the thought of ever having to do another programming interview. Well, alternately shudder and laugh. What a joke!

Re: How to Pass a Programming Interview

#65
post #26
post #13

Earlier quoted context omitted.

So, I see where you are coming from (I actually love academic CS). But the VAST majority of the programming work out there does not require any Big-O analysis. It just does not. It's used as a tool in interviews to (essentially) look for rigor. The problem is that this harms people who are rigorous as hell in low-level details of JS and V8 (something I'd posit is actually more useful to many more companies), but neve…

I have more than once in my professional career run into programmers who tested on small inputs and assumed the timing would scale at least close to linearly.

There are a lot of situations where a "worse" algorithm will be significantly faster that another algorithm that's faster in theory, due to memory locality. In practice, it is very hard to know beforehand what parts of your program will scale and what parts won't.

Re: How to Pass a Programming Interview

#66
How I did it for a Microsoft interview: cram for a weekend with a good algorithms text book. I do UI development where 99% of the work is figuring out the UI framework but the study session definitely got me into the right mindset for interviews.

Re: How to Pass a Programming Interview

#67

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…

There are a lot of people who leverage their CS degrees for non programming jobs - anything from QA, to Product Management, to Sales Engineering. Please don't discount the value of your degree so easily! It's not a waste - you will find a way to leverage it in a related field.

There is a real need for people who understand programming, even if they aren't heads-down, programming geniuses themselves.

Re: How to Pass a Programming Interview

#68

If you have an unbounded abundance of good candidates, it is a different story then when you are a new startup fighting for talent. At highly targeted companies such as Google, Facebook et al, I'm sure that if they have a dryspell of good candidates in a given month (can't think of a reason why), then they revert to things like: "We don't care if you don't get the 'trick' immediately, we'll give you hints" and "we ju…

findDupe isn't O(1), it's O(n) since it has to look at all the elements in the list.

Re: How to Pass a Programming Interview

#69
post #14

What if designers had to go through a similar interview process? Here are some colors, please arrange them in palette groups that are color coordinated for a given visual effect? Why is red font on blue background bad, please justify? That would simply be hilarious.

> Here are some colors, please arrange them in palette groups that are color coordinated for a given visual effect?

"Please arrange these colors in complementary, analogous, and triadic color schemes". This is color theory 101 -- something every visual designer should now.

> Why is red font on blue background bad, please justify?

Again, a valid question. It all depends on the brightness/saturation of the colors, and how much contrast is between them.

Edit: Obviously these are ridiculous and unnecessary interview questions because frequently a designer provides a portfolio of work that demonstrates their skill. This may not be possible in a programming interview if the candidate has been not been working on open source code or side projects.

Re: How to Pass a Programming Interview

#70
post #2

A large number of bad things influence interview decisions (credentials, targeted practice, how well you know the specific algorithms that come up again and again in interviews). I hope that more programmers getting better at interviewing skills will help move companies toward measuring actual programming skill.

My credential represents hundreds of hours of programming projects over several years. For that reason alone it is a much better signal than an interview will ever be. It also establishes depth and breadth of familiarity with a variety of fundamental topics demonstrated through exams and large programming projects: program design, networking, operating systems, security/cryptography, team software engineering practic…

Your experience doesn't directly translate to what is relevant for the company you are applying to though. You may _think_ it does based on their general description, but it may not. One of the questions we give has you design a data model to store certain information and then query it out. It's not complex at all, and they are in full control of the design. You'd be surprised how few people with 15 years of experience in senior level positions are unable to query out the information using a data model they designed themselves.
Post reply on HN