4 ms·
To be honest, that's the first time ever in my life to read the description of FizzBuzz, which is ridiculous. But I was just answering the parent and providing
by afr0ck 4y ago
To be honest, that's the first time ever in my life to read the description of FizzBuzz, which is ridiculous. But I was just answering the parent and providing a data point that proves the correctness of his statement.
But in general, I find LeetCode style interviewing very boring and dry. Like all of those "Given a string, find a substring that satisfies bla bla condition", or "given a matrix as csv input, read it then calculate some BS and find the best estimation for some other BS, etc".
When I was very young and naive, that might be fine, but at this point in my life, I just get super super bored and annoyed by such questions.
Instead, I prefer contextual questions. Like if you're hiring for a low-level network programmer, let me do some socket stuff in C or Go, implement a backoff mechanism in a given code template, discuss some TCP/IP congestion stuff, discuss some code, add a small feature, put a bunch of system calls and watch how I care about performance (blocking vs non-blocking, epoll vs select, shared-memory vs message-passing, context switching, etc) and how I handle errors, and also observe my workflow, how I check the documentation, the man pages, debugging, etc.
I think this is a much more reliable and less frustrating way of interviewing and I believe it attracts very highly skilled and motivated people.
- kevin_thibedeau 4y agoFizzBuzz isn't leetcode. It's a filter for bare minimum programming and reasoning skills. It's purposely simple to avoid tripping people up with a seemingly hard problem that depends on insight you might miss while under the pressure of an interview. If you're so innumerate you can't check for integer divisibility you might not be a good fit for some programming tasks. I've seen candidates fumble when given the problem of adding a node to the end of a linked list. Everybody is pampered now with swiss army knife languages that do everything for you that they don't know how anything basic works. Many of the HN crowd will sneer at the idea of this sort of low level coding but it is still important in many domains.
- falcolas 4y ago> Everybody is pampered now with swiss army knife languages Wow. Who's sneering again? > Many of the HN crowd will sneer at the idea of this sort of low level coding but it is still important in many domains Yeah, we do. Because developer-cum-interviewers for companies writing marketing-optimized CRUD apps use these as filters (or to make them feel superior, take your pick), and sneer at people who can't bark out the proper magic incantation for reversing a linked list on demand. And let's be honest. Unless you're in an exceptionally specific field with exceptionally restricted resources, using the "swiss army libraries" will create more performant code than a human can. Because those "pampered languages" have been optimized to ridiculous degrees.
- kevin_thibedeau 4y agoIf the job description is for an embedded programmer you should be prepared to work in that field.
- hnfong 4y ago> Because those "pampered languages" have been optimized to ridiculous degrees. Haha, and then there are stories about python finally getting rid of the GIL - soon, probably, hopefully! And that's only my favorite language.
- nnoitra 4y agoThere's no way in hell you would fail a FizzBuzz test if you have done the things you say you have done.
- kevinventullo 4y agoAt the FAANG companies I’m familiar with, the coding portion is sort of a standard bar that everyone must pass, from new grads to 30-year veterans. The more senior you get, the less they matter. If you were being hired into a specialist role such as for low-level networking, there would absolutely be a more detailed “Systems” interview where you would discuss in depth the topics you mentioned, usually in the context of a more open-ended “architectural” problem. Interviewee performance on these “Systems” interviews hold a lot more weight at senior levels, not just for hire/no hire decisions, but in fact the level of your offer.