Live data from Hacker News

People suck at technical interviews (2014)

seldo.com

191–200 of 315 posts

Re: People suck at technical interviews (2014)

#191
post #145

Earlier quoted context omitted.

I hear you. I'm terrified by the kinds of interviews that want programming trivia. In the last three years I've never had to code a binary search tree. But I should be able to show you I'm very comfortable with Python.

Devil's advocate: Asking highly academic questions allows employers to be ageist without explicitly stating it, since college grads are likely to be the most familiar with them. This lets them select for younger candidates with less experience and thus drive down developer salary. (Standard disclaimer: Some development positions actually require the academic knowledge mentioned. Most of the time, though, a good devel…

Why would they want or need to be ageist about it? If it's just about paying low salaries, surely all they need to do to accomplish that is offer low salaries?

(If anything my experience is that older developers have a stronger tendency towards implementing academically known datastructures themselves, whereas younger developers are more likely to make more use of libraries)

Re: People suck at technical interviews (2014)

#192

Earlier quoted context omitted.

It's genuinely surprising what people don't know. "If I roll this d6, what will the average be over time?" I've asked this to loads of supposed graduates, and apart from the odd one who made the "WTF are these monkeys hiring me for" face, a lot of people can't figure it out from first principles. But a lot of people choke on it. Also I've had people choke on very basic general knowledge like "think of a large emergin…

"If I roll this d6, what will the average be over time?" I'll be honest, that's a really dumb question for testing programming skill.

We were looking for statisticians.

Still not a great question, maybe. But you grab whatever is in your bag.

Re: People suck at technical interviews (2014)

#193
post #33

There needs to be a bit of a shift in understanding what 'category' of worker a programmer 'is', both by companies and more importantly by (some) individuals themselves. Programming is both technical and artistic. It's a creative endeavour that relies on technical skill to complete. The best analogy to another profession would be to those in the 'technical arts', those like photography, joinery, painting, sculpture,…

I agree completely, and this resonates with me particularly because I'm one of the many programmers also serious about other creative endeavors (in my case, the visual arts). But it's worth considering that in larger companies, management is often terrified of the creative aspect of programming, because it messes with their primary goal of predictability. Thus they seek, many of them openly and explicitly, to make al…

> it's not an irrational position for them to take.

It's about as rational as decreeing that it must not rain on Fridays, and then proceeding to fire the nearest person every time it does.

They do have some very good and rational reasons why they wish programming was not a creative job. When they assume they can change reality by wishing it, they completely destroy their people's (outsourced or not) productivity, throwing the cost of everything into the stratosphere, and the quality way under the floor.

Re: People suck at technical interviews (2014)

#194
post #170

Hiring Manager Perspective: Everyone lies, sorry. As a candidate, I hate technical interviews. For the reasons above. As the poor schmuck asked to make the hiring decision, however, I've learned that I can't live without them. My technical isn't complicated. A very basic SQL assignment (delivered to an audience which claims to know SQL) that is followed by a few broader database design / data process QA questions. En…

Doing what you're doing will probably work, in that you'll get decent candidates. But this approach only works for one kind of good developer -- the kind who can survive this kind of interview. Silicon Valley's diversity problem is made worse by interview styles that give false negatives for excellent candidates who lack confidence or just don't think the same way. My thesis is that this test, by giving frequent fals…

What would you suggest instead that would decrease the false negatives without allowing the false positives to explode? The parent poster named a couple of different things s/he tried that didn't work.

Sometimes the best available option is mediocre. ("It has been said that democracy is the worst form of Government except for all those other forms that have been tried from time to time.")

Re: People suck at technical interviews (2014)

#195

Earlier quoted context omitted.

I've recently got into the interviewing for devs game. Now we're a perl fairly specialised shop, and we only hire experienced people so that makes things relatively easy (candidates need to demonstrate a depth of knowledge, and . The pool of people around is relatively shallow too. We don't actually need to ask people technically detailed questions about specific algorithms. We have a conversation. From that conversa…

One of my favorite questions is asking people their least favorite and favorite languages then asking people to give one of their favorite features in the least favorite language, and least favorite features in their favorite language. Shows that they've actually spent time thinking about their tools. You get a surprising amount of insight from it, depending on the answer.

I hate that one because I think Scala basically gets it right, and so I can't really give a good answer to least favourite feature in it. It's my favourite language precisely because I don't think there's anything massively wrong with it!

Re: People suck at technical interviews (2014)

#196

Hiring Manager Perspective: Everyone lies, sorry. As a candidate, I hate technical interviews. For the reasons above. As the poor schmuck asked to make the hiring decision, however, I've learned that I can't live without them. My technical isn't complicated. A very basic SQL assignment (delivered to an audience which claims to know SQL) that is followed by a few broader database design / data process QA questions. En…

I've recently got into the interviewing for devs game. Now we're a perl fairly specialised shop, and we only hire experienced people so that makes things relatively easy (candidates need to demonstrate a depth of knowledge, and . The pool of people around is relatively shallow too. We don't actually need to ask people technically detailed questions about specific algorithms. We have a conversation. From that conversa…

Doesn't that risk hiring someone who says the right high-level things (maybe they've read some books) but can't actually do anything at the concrete implementation level?

Re: People suck at technical interviews (2014)

#197
post #2

In all honesty, I'm not sure the author did a lot of interviewing. For example, > The famous fizzbuzz test simply asks "are you aware of the modulo operator?" Wait, what? No, it asks "can you write a for loop without breaking a sweat?". There's a rightfully vivid debate going on about the virtue of asking algorithmic questions in interviews, but fizzbuzz is hardly algorithmic. I'd wager that virtually all programmers…

I think what he is pointing out is that if you don't know the modulus operator, you will fail FizzBuzz. The modulus operator is rarely used and somewhat obscure. The only time I use the modulus operator is when I'm writing something to track what record / rule I'm processing and I only want to show every 10,000th record or so. I can't think of a time I've used it otherwise.

You can implement it yourself if you forget it. Or use a counter (urgh). Or ask whether there's a library function that does that.

Re: People suck at technical interviews (2014)

#198

Hiring Manager Perspective: Everyone lies, sorry. As a candidate, I hate technical interviews. For the reasons above. As the poor schmuck asked to make the hiring decision, however, I've learned that I can't live without them. My technical isn't complicated. A very basic SQL assignment (delivered to an audience which claims to know SQL) that is followed by a few broader database design / data process QA questions. En…

Don't feel too bad, once HR sent a guy to one of my tech interviews who was a male nude model with no programming experience or knowledge - or anything core to the company for that matter.

Re: People suck at technical interviews (2014)

#199

Earlier quoted context omitted.

>> The famous fizzbuzz test simply asks "are you aware of the modulo operator?" > Wait, what? No, it asks "can you write a for loop without breaking a sweat?". There are notorious cases where senior engineers with years of actual honest coding experience "fail" fizzbuzz. IMO, That happens in two ways: 1) Not knowing (forgotten?) what a modulus operator is, and trying to code one up from scratch with a for loop. This…

If you don't know about modulus, you don't have to re-implement it. For Fizzbuzz you're looping anyway, so you can just maintain two counters, one that counts to 3 and resets, and one that counts to 5 and resets. When one of the counters resets, you know the main loop counter is a multiple of 3 or 5. Like so: def fizzbuzz_no_modulo(): counter_three = 1 counter_five = 1 for i in range(1, 101): output = [] if counter_t…

There's a lot of ways you can do it. I think it's fun to see how people solve it when they're not allowed to use the obvious answers (note: I don't interview people and probably would not choose no-modulo-fizzbuzz as an interview question).

Similar to your solution, instead of two counters, you can have two iterators that cycle every 3 / 5 elements, and add them. Then fill in any blank elements with their index+1.

    from itertools import cycle, zip_longest, islice
    
    fizz_list = ['', '', 'fizz']
    buzz_list = ['', '', '', '', 'buzz']
    output = [
        fizz + buzz for fizz, buzz
        in islice(zip_longest(cycle(fizz_list), cycle(buzz_list)), 0, 100)
    ]
    for i in range(len(output)):
        print(output[i] or i+1)

Re: People suck at technical interviews (2014)

#200
Over the years and across 100's of technical interviews, I've found that I get the best results from asking smaller numbers of easier problem-solving-with-code questions that require the candidate to demonstrate basic skills. I'm the guy who makes sure that the candidate can clearly get over a low bar.

I do this because the candidate pool is swimming with people with great-looking degrees and long resumes and fine references who can talk all day long about computer programming but who simply cannot program a digital computer.

So I ask a 5-minute easy warm-up question and then a 40-minute harder problem. I pace things slowly and give them all the time that they need. I happily answer any questions they may have about the problems, which can all be stated clearly in short sentences. I do not care what programming language they use or whether their syntax would compile or how descriptive their variable names are.

Essentially, I'm trying to not generate a "false negative" result. If you can't do my easy stuff, I really don't want to work with you. If you're a great candidate, you'll have fun with this and take it away in interesting directions.

(Sample easy question: Given two closed intervals [a,b] and [c,d], determine whether they overlap.)

Post reply on HN