Live data from Hacker News

Coding Interview Cheatsheet

github.com

31–40 of 88 posts

Re: Coding Interview Cheatsheet

#31
post #8

One thing that's missing here is video camera feed. As an interviewer, I don't turn on my webcam and I don't expect the candidate to do it (although they can if they want to). However, I've heard different people have different opinions on this. It's definitely something that could go on this list for phone interviews. Of course, intra-US interviews are usually done over the phone but when the interviews are across c…

This seems quite odd to me. I work with people remotely and on site, and it's amazing how much better communication is when both parties turn their webcam on. Body language conveys things that tone, and words don't

> communication is when both parties turn their webcam on

Not least because the individuals concerned can't goof off doing something else at the same time.

Re: Coding Interview Cheatsheet

#32
post #22
post #15

I can’t think of any other field where highly paid adult professionals willingly submit to interviews that treat them like autistic 15-year-olds. Makes sense for the companies, of course.

The primary task of a developer in a modern "agile" team is to take a small bite-sized piece of functionality and alter or add code to implement it. A very large number of job candidates aren't very good at this. So something like it needs to be tested for. Personally, I love code. For me, an exercise like this is like whittling or molding clay, tactile and creative. I wouldn't want to work for a company that isn't i…

your argument begs the question of whether or not we can successfully test for this trait to begin with.

i don't think we can. the outsized productivity impact a good person can have far outweighs the statistical probability of getting one if you simply accept all competent interviewers, i.e. the expected value is so high that you can blindly hire until you find one, given sufficient financial resources. without the financial resources, you only hire people you already know are good, which is the general pattern i've seen over 20 years working in this industry.

Re: Coding Interview Cheatsheet

#33
post #22
post #15

I can’t think of any other field where highly paid adult professionals willingly submit to interviews that treat them like autistic 15-year-olds. Makes sense for the companies, of course.

The primary task of a developer in a modern "agile" team is to take a small bite-sized piece of functionality and alter or add code to implement it. A very large number of job candidates aren't very good at this. So something like it needs to be tested for. Personally, I love code. For me, an exercise like this is like whittling or molding clay, tactile and creative. I wouldn't want to work for a company that isn't i…

You make the job sound rather dire. Whittling on an assembly line; the meticulous craftsman who polishes corners of industrial furniture. I’m not convinced there is much future for the kind of programming that pretends to be a guild of humble craftsmen inside industrially directed corporations.

Regardless, the coding interview process doesn’t seem to measure creativity or craftmanship. Consider industrial designers, people who actually sometimes do mold clay as part of their job. If a company is serious about hiring an industrial designer, would they administer a test like this: “You now have 45 minutes to whittle a miniature bust of Mozart out of this piece of driftwood. Make sure to talk while you’re working so I can understand your thinking.”

Re: Coding Interview Cheatsheet

#34
post #15

I can’t think of any other field where highly paid adult professionals willingly submit to interviews that treat them like autistic 15-year-olds. Makes sense for the companies, of course.

I've interviewed a fair number of programmers over the years. There's a surprising number of people who interview well and who have good resumes, but who can't actually code. (By "can't code", I mean, "Can't sum an array of numbers in their favorite programming language.") And checking references is hit-or-miss in the US, where many employers will only confirm title and dates of employment.

I know of three possible ways to evaluate coding ability:

1. Ask coding questions in interviews. This is biased against people with performance anxiety.

2. Give people take-home "work samples". This uses up more of a candidate's time, and it may filter out high performers with multiple offers. Plus, if you give anything that takes more than a few hours, it really ought to be paid.

3. Ask for a GitHub profile with open source contributions. This is biased against people who leave work at work, or whose previous employers don't contribute to open source projects.

It's been a few years since I last interviewed candidates, but if I were designing the interview process, I'd probably want at least one of the above before hiring a candidate. Maybe the candidate could choose? "If you have public open source contributions, please submit a link and a description. If you don't, no worries! We'll can do a coding test instead."

Re: Coding Interview Cheatsheet

#35
post #30

Earlier quoted context omitted.

I generally don't know where in the code to "defend" until I've actually written the algorithm -- I don't start writing during whiteboard coding or coding sessions with a solution in mind, I start with the first (okayish) thing to come to mind and iterate from there as I run into problems or edge cases. (Example: do I need to guard empty lists or not? Well, it depends on if I for-all over the list or try to index exp…

> Example: do I need to guard empty lists or not? Well, it depends on if I for-all over the list or try to index explicitly Does it? Why?

An actual example of this concept coming up:

I had a question about something with a distance formula, and the choice to either explicitly check the length of the points coming in, which were a list of coordinates, (either to ensure a particular dimension or a matching dimension) or another option to iterate over the components, which has a sane "dimension extension" behavior.

It wasn't until I looked up the available floating point math functions that I knew their limits and could decide on how to implement the dimensionality handling.

So in that case, my thought process went:

Figure out the math -> Figure out how to apply it, eg map to a list of pairs of points (which also constrains math implementation) -> implement guarding on input to match contract

Re: Coding Interview Cheatsheet

#36
post #15

I can’t think of any other field where highly paid adult professionals willingly submit to interviews that treat them like autistic 15-year-olds. Makes sense for the companies, of course.

I suspect part of the cause is the prevalence of asperger-like personalities in the IT-field. No emotionally mature adult would conduct an interview like that, unless forced to. It would be completely unacceptable in any other professional field.

I have to conduct these interviews and it kills me inside every time.

I hated it as a candidate, but a year or two ago when I interviewed the questions were a bit easier and expectations were slightly lower.

Now with the rise of Top Coder, Leetcode, etc. many candidates have practiced problems to death and can recite almost entirely from memory complex problems.

The bar is raising all the time as a result. It's not enough to convey the idea on a whiteboard with reasonable code, maybe a semicolon missing.

Now we're more or less expecting 100% compilable code, passing suites of test cases, and sometimes even multiple problems solved in 45 minutes.

It's tailor made for coding competition contestants and crammers. And then they get on interview loops and hiring committees

I'm dreading my next job search.

Re: Coding Interview Cheatsheet

#37

>Stay calm and composed. Ironically, reading this makes me hyperaware. >Sound enthusiastic! Speak with a smile and you will naturally sound more engaging. In my experience, some people force this and it comes off a bit creepy. I've had better luck not thinking about this. IMHO don't treat the social side the same way you treat the technical side (i.e. preparation similar to homework). The social side should not be ov…

You're right, I feel like a lot of stuff on this list will just cause overthinking. Just be yourself, don't be weird.

Re: Coding Interview Cheatsheet

#38
post #8

One thing that's missing here is video camera feed. As an interviewer, I don't turn on my webcam and I don't expect the candidate to do it (although they can if they want to). However, I've heard different people have different opinions on this. It's definitely something that could go on this list for phone interviews. Of course, intra-US interviews are usually done over the phone but when the interviews are across c…

I'd like to know beforehand when people call me if video is expected or not. A friend of mine ended up answering with video, but the interviewer only used voice. Then felt it was too late to turn the webcam of, and ended up in a weird one-way session making the experience even more stressful.

Re: Coding Interview Cheatsheet

#39
post #34
post #15

I can’t think of any other field where highly paid adult professionals willingly submit to interviews that treat them like autistic 15-year-olds. Makes sense for the companies, of course.

I've interviewed a fair number of programmers over the years. There's a surprising number of people who interview well and who have good resumes, but who can't actually code. (By "can't code", I mean, "Can't sum an array of numbers in their favorite programming language.") And checking references is hit-or-miss in the US, where many employers will only confirm title and dates of employment. I know of three possible w…

As someone with performance anxiety take-home programming "challenges" have been my bread and butter.

I have no problem working 2-3 hours on an assignment to demonstrate my knowledge. Those at least seem more realistic than some of the interview questions about the most nuanced aspects of programming.

Re: Coding Interview Cheatsheet

#40
post #34
post #15

I can’t think of any other field where highly paid adult professionals willingly submit to interviews that treat them like autistic 15-year-olds. Makes sense for the companies, of course.

I've interviewed a fair number of programmers over the years. There's a surprising number of people who interview well and who have good resumes, but who can't actually code. (By "can't code", I mean, "Can't sum an array of numbers in their favorite programming language.") And checking references is hit-or-miss in the US, where many employers will only confirm title and dates of employment. I know of three possible w…

Why not let candidates choose between 1,2 and 3?
Post reply on HN