Live data from Hacker News

The time spent on practising white board test may not be worthy

nanxiao.me

31–40 of 63 posts

Re: The time spent on practising white board test may not be worthy

#31
post #17

Seems like the more employers complain about the lack of available labor, the more they ratchet up the pointless interview hazing. It's hard to take their claims of 'no one is available' when they're so capricious in tossing away potential employees.

One thing I've noticed, it's often not the employer at fault but the employees. Engineers reject candidates for extremely pedantic reasons (for example, he used a dict instead of a defaultdict, which some will take as a signal that the developer doesn't know python). I suspect that if you were to interview current employees 50% of them would fail the interview.

That's my feeling too.

Re: The time spent on practising white board test may not be worthy

#32
I'm definitely not trying to be snarky or mean here--just offering my take on this after reading the article. English is obviously the author's second language, and I would offer that practicing English and learning better fluency/grammar/spelling would help an order of magnitude more than practicing computer science quizzes and coding challenges. Many of the candidates and developers I encounter may or may not be good software engineers--I don't know because their language skills are lacking, and they are unable to convey it through spoken or written word.

I'm learning a second language myself and I feel your pain. I would never want to interview in a second language. However, in the US workforce, English proficiency is critical and such soft skills can often mean promotion into management, increased responsibility, and technical leadership positions.

Re: The time spent on practising white board test may not be worthy

#33
post #18

Of course it isn't. An interview process that requires/rewards cramming for months ahead of time is fundamentally broken. I just gave up on getting hired at any tech company that uses whiteboard interviewing. It seems like, just as in college where there's always that one kid who aces every test and wrecks the curve for everyone else, in any candidate pool there is always one demigod of algorithms (and it isn't you,…

I think this is the only way to fight the white-boarding standard interview. Stop applying to these jobs. I know the allure of a big paycheck is too much for most people, but why are ok with going through these ridiculous circus acts just for the "privileged" of working for Big N?

> I know the allure of a big paycheck is too much for most people, but why are ok with going through these ridiculous circus acts just for the "privileged" of working for Big N?

Cause having a lot of money changes your life and it's not worth giving that up for a bit of pride.

Also working for "Big N" could give you access to very interesting projects, either while you work there or after you leave, since brands do matter and your CV will be more attractive to other companies.

Re: The time spent on practising white board test may not be worthy

#34
> After stopping these practice, I leverage the spare time for following tasks: read C++ classical books and learn more about standard libraries

I might suggest this is the best way to study for whiteboard tests in the first place. Practicing for them might only help if you have other people pick the questions and watch you.

The last interview I had, I completely bombed the whiteboard test, but not for technical reasons. I probably wouldn't have been able to practice my way out of it. Luckily, the company also had a live coding test which I aced, and they hired me, so it didn't matter.

As a manager and hiring interviewer, I have to say that I find whiteboard tests moderately useful, even though I agree with pretty much all the criticisms here so far.

The point of it is to try to see how the candidate thinks on their feet, watch them talk their way through a problem without StackOverflow at their fingertips. It almost never matters if the whiteboard code has bugs, the question is more about the process, not the result.

Re: The time spent on practising white board test may not be worthy

#35
I regularly conduct interviews at one of the more infamous "whiteboard interview" companies. At the end of my interviews I like to take five to ten minutes to answer whatever questions the candidate might have about myself, the company, the process, etc. One time I had a candidate who absolutely bombed the interview asked me a question that expressed a similar sentiment: why do you guys place such a heavy emphasis on basic data structures and algorithms when standard libraries and software packages offer easy to use, efficient implementations?

To be honest, this is a fair question. For someone whose entire career has been spent coding on a single machine, with data that fits in memory, reusing pre-written O(NlogN) or faster algorithms, often with a single thread, I can see why they would ask this question.

The answer is: for what we do, there is no off the shelf solution. Our datasets almost never fit on a single machine, to the point where we make jokes about five terabytes of data being so small we forgot how to count that low. Our algorithms are almost all novel: one of my favorite interview questions starts off as a trivial string manipulation problem but then branches out into easy-to-express, easy-to-understand variations that actually require some very sophisticated algorithms to solve. When it comes to pre-built software, even our internal turnkey database solutions are so sophisticated they require a solid understanding of distributed systems and operating systems to avoid common pitfalls.

Honestly, not every person is up to the task of working in this environment. Our workforce skews towards people with degrees in CS from high-ranking universities not because we're snobby but because there are few places that teach this particular combination of skillsets. You can probably go your entire career without working for us or on the sorts of problems we try to solve, and you can just as well prepare for interviews by focusing on practical matters and not deeper algorithms and data structures knowledge. And that's fine, I'm sure there are plenty of positions out there for you.

But if you do, don't come complaining to me that our interview process is too hard or the prep process is too impractical or that we're being unfair because none of the stuff we test for is practical in the real world. You can have an easy time prepping for my interview or a job at my company, but not both.

EDIT: There is something to be said for companies that cargo cult this interview process. True, if someone can pass this interview process they’re probably pretty decent, but you have to be honest with yourself what sort of problems you’ll be solving. OP, meanwhile, expressed an feeling of blanket pointlessness without saying what kind of job he’s looking for. I hope I’ve made clear this is counterproductive for companies like Facebook, Google, Microsoft, etc.

Re: The time spent on practising white board test may not be worthy

#36
post #28

I don't think you understand the purpose of a whiteboard test. When I interview candidates, I'm looking for a lot of things that can't be practiced: - How well can you converse about a technical topic - How adaptable are you to design constraints - Do you understand the fundamentals of threading, databases, data structures, ect? - Can you "think in code?" - How well do you really understand the language that you spen…

You seem to have a reasonable approach to interviews. However, as a contractor I was in interviews where I had to code the optimal solution for a certain problem on the whiteboard without syntax errors. That's just silly.

There was no discussion to show any thought process. It was about knowing the expected solution to 100%.

Re: The time spent on practising white board test may not be worthy

#37

This is like saying running for exercise is a waste of time because you could be driving instead. It's not about knowing a particular sort algorithm. It's about the discipline of solving performance problems in the small. Knowing how quicksort works isn't that helpful. Being accustomed to the thought processes that led to the development of quicksort is important in any non-trivial programming activity. I'm not writi…

I took it to mean that most developers in this current market do not need to know implementation perfect algorithms and data structures like RB trees, depth first search, A*, quicksort, etc. Rather your time is better spent on learning the advantages and disadvantages on the structures and algorithms, and you get more benefit from understanding the implementation. For example, merge sort is dividing a list up into sublists until you hit single element lists and recombine them into a single sorted list. That, in my opinion, is more important than a picture perfect implementation on a white board.

Re: The time spent on practising white board test may not be worthy

#38
post #18

Of course it isn't. An interview process that requires/rewards cramming for months ahead of time is fundamentally broken. I just gave up on getting hired at any tech company that uses whiteboard interviewing. It seems like, just as in college where there's always that one kid who aces every test and wrecks the curve for everyone else, in any candidate pool there is always one demigod of algorithms (and it isn't you,…

Next time I find myself in a whiteboard interview, I'm thinking of tying a blindfold around my head, throwing out some profound-sounding Knuth quote, and then drawing some illegible scrawl all over the board. The challenge will be in keeping a straight face.

Re: The time spent on practising white board test may not be worthy

#39
post #33

Earlier quoted context omitted.

I think this is the only way to fight the white-boarding standard interview. Stop applying to these jobs. I know the allure of a big paycheck is too much for most people, but why are ok with going through these ridiculous circus acts just for the "privileged" of working for Big N?

> I know the allure of a big paycheck is too much for most people, but why are ok with going through these ridiculous circus acts just for the "privileged" of working for Big N? Cause having a lot of money changes your life and it's not worth giving that up for a bit of pride. Also working for "Big N" could give you access to very interesting projects, either while you work there or after you leave, since brands do m…

That's fine, but you can't have it both ways which is what a lot of the complaints around whiteboarding are.

Either you accept that it's the industry standard and the gateway to a big paycheck and a prestigious CV, or you don't participate.

Re: The time spent on practising white board test may not be worthy

#40
post #19

>You just need to call std::sort, and don’t care it is “bubble sort” or “quick sort” under the hood This is often the case, but not always. When you know things about the input data you may be able to get better performance than the generic sorts built into a language. Or, when you know more about sorting algorithms you may be better able to choose among the available sorts/sort options provided by a language or libr…

In case of sorting algorithm, it is important to know the trade-off. However, precisely knowing the details e.g. knowing the details of deleting a node from a balanced tree, is not really useful and that is exactly what is needed to pass whiteboard tests. In most cases(in my experience), i can always lookup details of some algorithm when i need it. Admittedly, my job doesn't require me to design algorithms, but imple…

For sure, I'm not arguing that some whiteboard interview questions aren't crazy, i realize there are.

But also I'm not sure how common it is to have interview questions such as "delete a node from a balanced tree" where they actually expect you to get that right vs just see if you get the basic idea. I've never run into it. Perhaps many people on hackernews work in silicon valley and that is more common there.

Post reply on HN