5 ms·
> There's a significant backlash at least in the startup space to "whiteboard coding" Good. Whiteboard coding is probably one of the least useful methods I ha
by usrbinbash 4y ago
> There's a significant backlash at least in the startup space to "whiteboard coding"
Good.
Whiteboard coding is probably one of the least useful methods I have ever seen to evaluate candidates. It tells me nothing about the persons actual qualification and can be gamed.
- iLoveOncall 4y agoWhile I agree that it won't tell you if a candidate is good, it will often show very quickly that a candidate is absolutely terrible. My warm-up questions are usually something like "reverse a singly-linked-list" or "check if a string is a palindrome", and you would be surprised at how many people have just no clue on how to do it, even with a lot of help (and I work in a FAANG so we should be getting decent candidates).
- usrbinbash 4y ago> it will often show very quickly that a candidate is absolutely terrible. It CAN show that. Problem is; even a terrible candidate can prepare, knowing the kinds of things that will likely be tested, by memorizing the solutions to these very specific problems.
- newbye3 4y agoDon't hire me, this version cons a lot )): (defun palindrome(str) (string= str (coerce (reverse (coerce str 'list)) 'string))
- iLoveOncall 4y agoI would ask you to implement reverse and coerce yourself.
- bluefirebrand 4y agoI haven't worked with a linked list since first or second year university, more than 10 years ago, nor have I had much of a reason to do character by character string analysis. I could probably work these problems out, but I might not seem too confident about it.
- EduardoBautista 4y agoIt’s a basic data structure. I have been able to pass these questions without a formal University education just on logic alone. It’s just basic usage of objects in the case of a JavaScript implementation.
- happymellon 4y ago20 years of software development, I don't remember the last time that I actually encountered a linked list in the wild. > It’s just basic usage of objects in the case of a JavaScript implementation. Just because you would make a linked list via objects doesn't mean that anyone would actually do it.
- iLoveOncall 4y ago> I don't remember the last time that I actually encountered a linked list in the wild Probably many times a day actually, whenever you use an ArrayList or the equivalent in the language of your choice.
- coldtea 4y ago>I have been able to pass these questions without a formal University education just on logic alone. So you'd be great for a job whose task is doing coding interviews then!
- iLoveOncall 4y agoI'm fine with providing a basic Node class for the linked-list if they struggle to start, but that's it. With that anybody should be able to figure it out, no matter how long ago were their classes on that (or if they had any).
- egfx 4y ago> My warm-up questions are usually something like "reverse a singly-linked-list" or "check if a string is a palindrome", and you would be surprised at how many people have just no clue on how to do it, I don’t know how to do it. I would need dictionary.com to find out what a palindrome means and stackoverflow for the rest, but I’ve used and evaluated five different JavaScript frameworks in building full scale web apps. Would you hire me?
- Doxin 4y agoAn interview is not a quiz. You're allowed to ask clarifying questions. I'm sure most interviewers won't discount you for being unfamiliar with a fairly obscure word. Needing stackoverflow to check for palindrome-ness would probably be a bigger problem though. Of course during your day-to-day you'll be allowed to google all sorts of things, but checking if something is a palindrome is so basic that all google could possibly provide you is the exact answer to the question.
- egfx 4y agoThat's exactly the point and in response to the sibling comment as well - using StackOverFlow to find solutions to simple problems is the smart thing to do. Developers on SO compete for the best solutions. You're job as a developer is to curate and pick up new modern day conventions in doing so. The reason I don't waste time on reversing a palindrome is because frankly I'd rather spend time doing more important things for my products, and because its such a fundamental knowledge then how to reverse a palindrome is an answer that is available as fast as my brain could think about it. There are more important and more interesting problems to solve.
- iLoveOncall 4y agoI would explain you and give you an example of what a palindrome is. And if you need stackoverflow to reverse a linked list, no, I would not hire you. Many people have used many technologies. I started programming when I was 12, and I had no idea of what I was doing beyond copy-pasting code from tutorials and putting them together, but if "how many technologies did this dude work with" is your criteria, you would have hired 12 years old me.
- kcartlidge 4y ago> My warm-up questions are usually something like "reverse a singly-linked-list" or "check if a string is a palindrome" I've written sites, apps, ORMs, enterprise tools, code generators, FAAS platforms from scratch, exporters for DOCX and EPUB, etc etc for decades. I've been junior, mid, senior, lead of two teams. I've transitioned companies to cloud, created data warehouses, built BI universes. All sorts of stuff over the years. Sounds like your hiring techniques would pass on me, as those whiteboard exercises would have me saying no thanks and ending the interview. Utterly pointless. (and FYI that's from experience on both sides of the table as I've also been the recruiter interviewing from junior devs to team leads)
- throwaway675309 4y agoThose are pretty basic algorithmic questions, even if somebody's never heard of a linked list or a palindrome, anyone with even a minimal understanding of algorithms should be able to describe in pseudo code how to solve them. They're not guaranteeing that an applicant is necessarily right for the job, but they do separate the chaff from the wheat proverbially speaking.
- kcartlidge 4y ago> they do separate the chaff from the wheat This is where we differ. What they separate isn’t chaff from wheat, but those who can do a specific type of interview from those who can’t. The latter aren’t chaff and the former aren’t wheat. The only time these kinds of questions/tasks are suitable is if they genuinely represent the work being hired for. Our opinions on this differ, and that’s fine, so whatever works for you.
- odshoifsdhfs 4y agoThis is the problem with this interviews and FANGs shit. They separate nothing. But because ppl in these companies did this doing interviews, and they have such a fucking high opinnion of themselves, they think the only good people are the ones that are like them. `I can do this and I'm the greatest (their own opinion reinforced by other idiots in the company) so anyone that can't aren't worthy of my time/welcomed here`. But then you work with these idiots that can reverse a linked list in other companies and they can't organize code to save their lives. They use patterns and shit they used in facebook everywhere, even when they shouldn't because they always so smart and right. (yes, after cleaning up code for shitty ex facebookers and ex netflixers, my opinion of the 'wheat' boils down to they may be wheat, but they infested with parasites and bugs and rotten at the core, but hey, what do I know, just been doing sw development for 25+ years, published author and worked on stuff that most here use daily, I'm just chaf because I don't want to work for FANGs)
- pragmatic 4y agoFAANG recruiters usually prep you for the interview so that’s kind of crazy so many fail. On the other hand, usage of linked lists in the wild can be rather limited outside c/c++. Only languages I’ve used them a lot and then only when I was teaching algorithms and data structures. I think I used a linked list for a MRU list in a menu someplace ages ago in c# winforms app.
- iLoveOncall 4y ago> On the other hand, usage of linked lists in the wild can be rather limited You use linked lists in pretty much all languages, they're just hidden behind the flavor that you prefer, List in C#, LinkedList or ArrayList in Java, etc.
- alexfromapex 4y ago“I think I’d respect your opinion more, if you could write some code to evaluate all possible tic tac toe games in c++ on that whiteboard over there in around 45 minutes. Sound ok?” - whiteboard hiring managers probably