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.
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.
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).
I could probably work these problems out, but I might not seem too confident about it.
> 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.
Probably many times a day actually, whenever you use an ArrayList or the equivalent in the language of your choice.
So you'd be great for a job whose task is doing coding interviews then!
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?
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.
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.
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)
They're not guaranteeing that an applicant is necessarily right for the job, but they do separate the chaff from the wheat proverbially speaking.
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.
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)
Then I saved 45 minutes of my life, great. The point is, if you want to join the company I work for (and many people want to), you have to jump through the hoops of this company.
You should re-read the start of my comment, because I don't think those whiteboard questions are a great way to hire people. I just don't think there's a way that's more respectful of the candidate while being time efficient and providing good data points.
The truth is that the achievements that you claim can have been done by others. I'm in a top 1% company, and yet I see many people that are just utterly shit at being software engineers. There are parasites like this everywhere and they can just coast and claim the achievements of others for themselves (especially when applying to another company that has no way to verify their claims), so whiteboarding exercises and others crap is 100% necessary, no matter your level.
But fair enough, if it works for you it works for you.
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.
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.
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.