Live data from Hacker News

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

nanxiao.me

11–20 of 63 posts

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

#11
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 writing Google-scale services, but I regularly encounter algorithm design problems on the job, and they're never the exact algorithm you studied for some white board exam. I think the author is approaching algorithm study with the wrong attitude.

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

#12
post #2

You practice whiteboard tests to get a job and not to be a better programmer. If it gets you a better paid job it's a win but then you can stop.

I recently joined Blind and mostly follow the compensation discussions. 2 Takeaways: 1) Most of us are incredibly underpaid 2) A common question is when asking how candidates prepared that resulted in offers is "How many problems did you do on leetcode?" I'd never heard of leetcode but it seems if you want an offer from FANG, Uber, Lyft, etc then you put your time in practicing programming problems.

What's Blind?

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

#13
Practicing white board tests is more about learning composure, maintaining cool under pressure (and under observation), and finding a way to think and reason about problems that "shows your work."

Many times people can solve problems, but can't verbalise them enough to make a white board test be an accurate indication of how they think.

It's not about practicing to solve any specific problem - that kind of "practice" is counterproductive as the poster realised.

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

#14

>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…

He doesn't seem to be saying that he chooses not to understand but rather he's trying to optimize his time to improve in the context of his current knowledge. This is understandable and it's important to know what's in the standard library in order to be productive. As he gains experience I suspect his curiosity will lead to deeper exploration.

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

#15

>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…

These are the same people who want "intuitive" understanding of fundamentally mathematical subjects. Anytime I see a title, "X without math," I just see "X without X."

Intuition isn't understanding and ignorance isn't expedience. I think your choice of the word craft really homes in on what we are supposed to be doing. Building things well with craft. There is a place for duct tape and wire, but the craft of software matters.

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

#16
post #2

You practice whiteboard tests to get a job and not to be a better programmer. If it gets you a better paid job it's a win but then you can stop.

I recently joined Blind and mostly follow the compensation discussions. 2 Takeaways: 1) Most of us are incredibly underpaid 2) A common question is when asking how candidates prepared that resulted in offers is "How many problems did you do on leetcode?" I'd never heard of leetcode but it seems if you want an offer from FANG, Uber, Lyft, etc then you put your time in practicing programming problems.

There was a recent discussion here about developer compensation likely following a bi-modal distribution, I'm inclined to believe it, so IMO 1) Most of us are underpaid.

To go from 100k to 200k seems like it would take years unless you jump to one of the FANG companies

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

#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.

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

#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, you're merely great) that spends every waking hour of his/her life on hackerrank and topcoder.

Whatever, I spend my time on side projects, learning new things, family, and the occasional bit of fun and relaxation. And I still manage to stay employed (so far).

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

#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 implement some not so readily available ones sometimes.

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

#20

Is this really news to any of us? I figured most people here understood that algorithm/whiteboard test prep was pretty much standard, but incredibly pointless.

It might be pointless if you already understand the concepts 100% and you are just brushing up so you can do them quickly and more completely. But for a lot of people they will actually by reminding themselves of important fundamentals of computer science, which might be quite a good thing.

A whiteboard test is probably the worst way to determine somebodies grasp of computer science fundamentals, especially when what really matters is can they apply those fundamentals properly in the proper context?
Post reply on HN