TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Engineering whiteboard interviews: yay or nay?

196 pointsby lynnetyealmost 7 years ago

77 comments

bradenbalmost 7 years ago
<p><pre><code> VP of Engineering at Eaze, previously CTO at Getable and engineer at Yammer. No, not at all. Whiteboard interviews test one thing well: How well does a candidate code on a whiteboard. Engineers on my team never have to code on a whiteboard (whiteboards are really bad at running code), why would I make candidates do something that I don&#x27;t ask the engineers already on my team to do? </code></pre> This comes close, but I think the real issue that most of these reasons aren&#x27;t hitting on is that software development is typically done asynchronously. Whether it&#x27;s a whiteboard or a computer connected to a projector or TV or a live peer coding session it doesn&#x27;t matter: if done in the interview, it puts the candidate on the spot in a way that they rarely (if ever) will be on the job. Developers typically are able to take time by themselves or with trusted&#x2F;known colleagues to solve a problem. There are very few opportunities to get over performance anxiety related to coding in front of others that we don&#x27;t know.
评论 #17727852 未加载
评论 #17728307 未加载
评论 #17727380 未加载
评论 #17732580 未加载
评论 #17730354 未加载
评论 #17730509 未加载
评论 #17729750 未加载
评论 #17733076 未加载
评论 #17727583 未加载
评论 #17730033 未加载
评论 #17727425 未加载
privacypolleralmost 7 years ago
All of these interviewing &quot;tools&quot; (or tricks) attempt to be time&#x2F;cost efficient proxies for doing the damn job, and they all suck.<p>* Whiteboard coding is awesome for software development shops that don&#x27;t actually own computers or use punch cards to load programs.<p>* Shared coding environments with a time limit works well when you want to double screen for someone who can also diffuse suspicious packages that arrive at the office<p>* Riddles and puzzles are good when your workplace has a chicken coop, an office fox and you can&#x27;t figure out how everyone can go for lunch without leaving the fox alone.<p>* Behavioral interviews are appreciated by candidates who took Psychology 100 back in school for an easy A.<p>* Take-home tests go over well with the huge population of talented software developers who can&#x27;t find a job and have loads of time they want to spend decoding the operational cost of a bubble sort<p>The only thing I&#x27;ve seen that&#x27;s at all realistic and effective is a very short, __paid__ project. I did a two-day one for Indeed (ironically one of the worst promoters of all this bullshit) and a 4-hour one for my current employer. The payment doesn&#x27;t even have to be market, it&#x27;s more important as a signal to candidates that the company values your time.<p>I ask for 3 things from perspective employers:<p>1. value my time like you value your own (both the number and composition of your interview steps)<p>2. keep me updated as to where we&#x27;re at in the process and when the next stage&#x2F;decision will be made<p>3. Move forward in the process in a timely manner. It should not take more than 2 weeks from when you initially contact me to the process concludes.<p>I&#x27;ve never gotten more than two of the above from a single organization, but I will someday, and I&#x27;m betting that a company that treats potential employees that well will treat actual employees better as well.
评论 #17728991 未加载
评论 #17728875 未加载
评论 #17729291 未加载
评论 #17730310 未加载
评论 #17728511 未加载
nybblesioalmost 7 years ago
A regular viewer of my daily Twitch programming stream (link is in my profile) asked me to solve a problem he was asked to whiteboard. He wasn&#x27;t asked to draw diagrams or write pseudo-code so they could learn how well he communicated. He was asked to write <i>the code</i> and it was heavily implied that it must compile and run -- even though whiteboards don&#x27;t do that.<p>Here&#x27;s my attempt: <a href="https:&#x2F;&#x2F;youtu.be&#x2F;6LHqrxrC6Uo" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;6LHqrxrC6Uo</a><p>I solved the problem, with an IDE and a compiler. I communicate during the entire exercise. It takes me over 2 hours. Granted, I debug it, so that takes extra time. (Can&#x27;t debug on a whiteboard!) I had to take one break. On top of this, I&#x27;ve solved this kind of problem before and it still took me more than the 45 minutes you&#x27;re likely to get in a whiteboard interview.<p>And I try to cover all of the &quot;hot topic&quot; points I know the interviewer is thinking about: size .vs. time tradeoffs, iterative .vs. recursive, etc.<p>If I had to solve this problem on a whiteboard, in 45-60 minutes, with the bar being &quot;it must run&quot;....I would fail.<p>I guess that makes me a poor programmer. Instead, I&#x27;m a grumpy old man who is really tired of all this fraternity hazing bullshit.
评论 #17728950 未加载
评论 #17729478 未加载
评论 #17729226 未加载
评论 #17731165 未加载
评论 #17728541 未加载
评论 #17728436 未加载
jackcosgrovealmost 7 years ago
I think an under-tested aspect of software engineering is the ability to research solutions on the internet.<p>Just give people a search bar and ask them to solve a problem outside their comfort zone. See what terms they use and how quickly they can arrive at a useful link. No pseudo-code or architectural diagrams needed. Just a link with a plausible solution. Because that&#x27;s how most learning on the job actually happens.
评论 #17730085 未加载
评论 #17730227 未加载
评论 #17730079 未加载
LaserToyalmost 7 years ago
Principal Engineer from huge gaming company here.<p>White board coding interview are testing only one thing: how well candidate is prepared for it. And here what is wrong with it: The assumption that candidate should spend his&#x2F;her valuable time preparing for someone&#x27;s assessment is arrogant. I do understand why Google and Facebook do it (the do other arrogant things), they assume you want to work for them so much you will study to make the cut. So, they track bunch of metrics, which makes THEIR life easier. They have baselines, calibrations, and other things you never have in the real life. Hilarious part is that they are both risk averse (better to not hire a good candidate than hire a bad one) and using brood-force approach (they will interview you endless number of time).<p>And if you are not prepared - you will most probably fail, unless you are really good at it or lucky. So, why should I prepare for Google&#x27;s or someone&#x27;s else interview? I have a interesting and very busy job, I just don&#x27;t have time for this. I have commitments to my team to work on real products, not on fake problems from Cracking Google Coding Interview.<p>Just think how absurd it is?<p>So, starting from 6 month ago I: 1) Tell recruiters upfront I will not be spending a minute preparing for their interview process 2) I decline coding on the whiteboard. High level designs are fine, writing code - no, no exceptions 3) And the most important, I stopped asking candidates to code on the white board.<p>The most important skill of the software engineer is (IMO): ability to keep complex problems in context for long time (not 5 boxes and months), ability to manipulate them and ability to convince others that you idea is worth pursuing.
评论 #17728496 未加载
评论 #17732386 未加载
评论 #17729746 未加载
评论 #17731426 未加载
romillealmost 7 years ago
To me, it&#x27;s not about the code on a whiteboard vs a computer and correctness.<p>It&#x27;s about the thought process when breaking down a problem and the ability to organize and communicate their thoughts. It&#x27;s also about exploring a problem space. How carefully does an engineer consider edge cases? What kinds of things are important to them?<p>A whiteboard to me is a much simpler and accessible medium through which to explore a problem vs setting up an environment and having to type code and dealing with all the minutiae that comes with actual development.<p>Of course, it isn&#x27;t the ultimate method of evaluating a candidate but it&#x27;s certainly valuable.
评论 #17728184 未加载
评论 #17728498 未加载
评论 #17727983 未加载
ordinarypersonalmost 7 years ago
Having just been through this process (landed a new job after a 2-month search), the worst part about whiteboard coding is how humiliated you feel if you don&#x27;t get it right or don&#x27;t know where to start. Is it really necessary to do that to candidates?<p>I&#x27;ve been doing this for 15+ years professionally, have a master&#x27;s in CS and I struggled to answer many questions. Just stood there blinking like a goldfish.<p>If companies really wanted to simulate programming work, you&#x27;d give me 10-30 minutes to Google the problem because THAT&#x27;S HOW IT WORKS IN REAL LIFE. Which is how it should be; rarely are you solving a new problem, usually other people have faced it before, it&#x27;s probably far more efficient to start with a known working solution and iterate from there.<p>Look, of course there things you should know. Data structures, algorithm basics, some complexity theory, etc. But asking me to output numbers in a matrix in a spiral fashion does not translate into real-world ability.<p>I find the more important developer skills are people skills and project management skills. How well do you work with others? How do you resolve conflicts? What&#x27;s your methodology for grouping work-- Jira tickets, sprints, etc?<p>But almost none of the interviewers seemed to care. They wanted to know what exotic technology skills I had, not that I could work with project managers and marketers effectively.<p>Take-home projects are more time-consuming but the least unfair, whereas whiteboard coding is the shortest but most unfair.<p>I blame Google for this curse. I hope the next time I go looking for a job this process has changed.
评论 #17730010 未加载
评论 #17729439 未加载
jihoon796almost 7 years ago
If you must do whiteboard interviews, here&#x27;s a technique I&#x27;ve used with great effect:<p>Have someone else pick a coding problem (that you as the interviewer don&#x27;t know beforehand), and work on it from scratch together with the candidate.<p>Being upfront with the candidate that you don&#x27;t know the answer yourself puts the candidate at ease, and you&#x27;ll be able to better judge the candidate&#x27;s soft skills (communication, critical thinking, empathy in case I don&#x27;t understand the problem).
评论 #17729115 未加载
pkteisonalmost 7 years ago
I find it weird that the responses seem to draw a distinction between whiteboards and coderpad. The assumption seems to be that the problem making the whole thing stressful and unnatural was the communication medium and not the fact that it&#x27;s a super time compressed artificial problem with many unstated considerations and a tremendously outsized influence on the rest of your life, no pressure, just talk through everything exactly like you never do.<p>Most of the problem seems to me fundamentally unaddressable without verifiable portfolios, but those have their own problems. Even in industries where portfolios are standard, plagiarism is a thing - how do you get the verifiable part? I want to hire someone great, not just someone who was on the same team as someone great.
评论 #17730110 未加载
telltruthalmost 7 years ago
I wonder how many of these people are actually active coders which gives them authority on opinionating on how to interview developers. VPs (especially Chief XYZs) are typically good sales and marketing guys with engineering background that often can only be described as hopelessly out of date (or more politely &quot;has-beens&quot;). They need to keep their heads out of real development stuff.<p>I&#x27;m also frustrated with how people have developed disdain for anything whiteboarding. Asking leetcode puzzles in interviews is bad. Asking questions from CTCI is worse and amateurish. But... asking to whiteboard a problem that you had to solve on your own job in limited time is good! Interviewing is hard because crafting such questions in a way that it abstracts away minutia of transient technologies but retains essential problem solving is hard. This is exactly why, a right policy for a company is to establish being an interviewer as a privilege that needs to be earned because not even all brilliant programmers are good at it and interviewers must take time to craft good question and show care. When they don&#x27;t, they turn to leetcode, pick random question and give whiteboarding a bad name.<p>And no, whiteboarding is not bad. What is bad is asking to do X using MongoDB and RectJS because technologies like that are transient. Specific technical tasks that employees might perform in a given point in time are transient. Ultimately what matters is ability to learn, process and use that to solve a given problem. Ofcourse, unless you are company who does nothing but data driven web forms. In that case, yes, go ahead and ask candidate to do just that.
theptipalmost 7 years ago
The term &quot;whiteboard interview&quot; seems to mostly refer to &quot;solving algorithmic&#x2F;coding&#x2F;puzzle problems on a whiteboard&quot;, which I agree is almost always a waste of time for a software engineering position.<p>As the article mentions though, the term is a bit vague and is overly broad; for example if you&#x27;re doing a system design question, I&#x27;d argue that the whiteboard is the best choice for an interview, since that&#x27;s how you&#x27;re most likely to collaboratively sketch the design of a system in the real world.<p>I think the problem can be restated at a more general level; does the interview test the sort of skills that the job requires? Most people here are correctly pointing out that the skill&#x2F;knowledge required to write out pseudocode for quicksort is almost entirely uncorrelated to the skills involved in most software jobs.
anonytraryalmost 7 years ago
Whiteboards, in practice, are never used for writing strict code. They&#x27;re used for high-level diagramming and high-level pseudocode.<p>The only time I&#x27;ve used whiteboards in my job is either when I need to hash out a solution or approach with my coworkers, because I&#x27;m confused or don&#x27;t understand the problem, or when I need to understand high-level architecture for a system. It&#x27;s a tool for clearing one&#x27;s thoughts and for getting a team &quot;on the same page&quot;.<p>If you&#x27;re hiring someone to code-monkey a bunch of JIRA bugs, then whiteboarding might not be a relevant test for them. If you are hiring someone to build out new features efficiently or redesign architecture, then whiteboarding may be useful for having them describe at a high-level how they would solve problems. In both cases, writing syntactically flawless solutions on a whiteboard is a waste of time for both the interviewer and interviewee.
评论 #17728748 未加载
评论 #17728814 未加载
bhb603almost 7 years ago
&gt; &quot;Whiteboarding&quot; has become too large of an umbrella term, one that groups together everything that&#x27;s wrong with the interview process.<p>That general premise is right, we&#x27;ve lumped too much into the term &quot;whiteboarding&quot;, and it&#x27;s worth unpacking into the different interviewing practices we may like or dislike. Some things people don&#x27;t like have nothing to do with an actual whiteboard (e.g. testing esoteric CS knowledge or deliberately creating a stressful environments), and some things that involve a whiteboard IMO are ok (e.g. sketching out a system diagram).
评论 #17727933 未加载
ngngngngalmost 7 years ago
My most recent interview involved a coding assignment, which I topically don&#x27;t do, but this one was a very interesting challenge that would make a good blog post afterwards so I did it. What was surprising is the interview not only included going over my code from the assignment, but also whiteboard problems about recursion. I&#x27;ve still never used recursion in my day job. Can interviewers really not gauge technical ability from my GitHub as well as chatting about problems and solutions?
评论 #17727982 未加载
评论 #17728199 未加载
raz32dustalmost 7 years ago
Whiteboard is GREAT for communicating design or technical ideas (e.g, what is consistent hashing, can you show how you&#x27;d merge N sorted lists schematically?). And these skills are super important in both big companies and startups. And we should definitely test candidates in these areas using whiteboards.<p>Making engineers write code on whiteboard is just comical. If we weren&#x27;t so used to it, we&#x27;d probably have laughed at the idea. In 2018, any company still using whiteboards to write anything more than pseudocode is just playing it too safe or being really lazy in changing their process. Just give them a laptop and have them use coderpad&#x2F;skype interviews or any of the plethora of collaborative code editors out there. Or even, dare I say, an IDE. You can still have the whiteboard in the room to discuss the idea. But write the code on a laptop with internet access.
dqpbalmost 7 years ago
I think most people that are opposed to coding interviews feel that way because they don&#x27;t feel confident in their ability to do those interviews well, whereas they do feel confident in their ability to &quot;get work done&quot;.<p>Here&#x27;s the thing though. Let&#x27;s say you&#x27;re the one giving the interview to two people who claim to be able to get shit done. One is able to code up a solution quickly and the other struggles, producing less, or producing something that&#x27;s flawed. Sure, that second person might actually be productive under the right circumstances, but that doesn&#x27;t matter because the first person already proved they can code.<p>That&#x27;s the whole point of interviews, getting high signal in a short period of time. If you think coding interviews don&#x27;t provide high signal than propose something better that costs the same amount of time.
评论 #17729499 未加载
评论 #17731461 未加载
fareeshalmost 7 years ago
I generally ask candidates what they did last week at their existing job, and then ask questions about how they solved specific aspects of that particular job.<p>If the person says &quot;we built real-time tracking for our in-house vehicle fleet&quot;, I will just probe further and further about what role they played and how they went about the specific implementation details.<p>If there is any kind of secrecy surrounding their work, I will simply offer them insight into what they&#x27;ll be tasked with during their first week and ask questions in a similar manner.<p>I&#x27;m not sure what advantage any other approaches have - I am hiring to fill a particular position. It&#x27;s quite likely that the candidate will be in a similar position, so either I ask them about their current work and how they went about it, how they intend to accomplish the work assigned to them when they work with me.
devyalmost 7 years ago
Serious question, if whiteboard interview aren&#x27;t the best or helpful at all, what are the successful&#x2F;useful alternatives for engineering interviews?
评论 #17727784 未加载
评论 #17728063 未加载
评论 #17727678 未加载
评论 #17727701 未加载
评论 #17728868 未加载
评论 #17729135 未加载
评论 #17731606 未加载
评论 #17727650 未加载
评论 #17727632 未加载
liquidisealmost 7 years ago
Whiteboard coding measures penmanship while nervous.<p>I have some firmly held opinions [1] on this topic. Interviews are too much of an &quot;art&quot; for how important it is that their results be repeatable. Keep them on topic as much as possible. Making a coder perform circus acts on a whiteboard they will never be asked to do otherwise is simply measuring for skills you don&#x27;t need.<p>1. <a href="https:&#x2F;&#x2F;blog.benroux.me&#x2F;whiteboard-coding-measures-penmanship-while-nervous&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.benroux.me&#x2F;whiteboard-coding-measures-penmanshi...</a>
renegadesenseialmost 7 years ago
They&#x27;re fine but they need to be understood properly. Whiteboard interviews don&#x27;t really capture how well someone codes. They are better at capturing thought process, high level understanding, system architecting ability, and a candidate&#x27;s communication skills.<p>If you want to see how well someone codes, look at their code. Or ask them to write something for you. Don&#x27;t do a whiteboard interview and think it is the end all be all. Take it as a data point.
评论 #17729659 未加载
simpixelatedalmost 7 years ago
For anyone that wants to work for a company that DOES NOT do white-boarding during interviews, here&#x27;s a solid list: <a href="https:&#x2F;&#x2F;github.com&#x2F;poteto&#x2F;hiring-without-whiteboards" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;poteto&#x2F;hiring-without-whiteboards</a>
11thEarlOfMaralmost 7 years ago
Nay.<p>We have a round of interviews and then send the candidate home with a choice of 5 coding tasks. Intention is to spend no more than 2 hours. Then they return and hold a code review in front of the team and explain what they&#x27;ve written. That way, they code at their own pace and in a comfortable space where they can focus, much like the way they would actually work. Then they&#x27;ve got it all right in front of them for discussion.<p>The review then weeds out people who don&#x27;t really understand what they&#x27;ve written, possibly because they borrowed it from somewhere or asked a shill to write it for them.<p>We&#x27;ve had a range of submissions, from the casual-careless-broken code to extremely complete to elegance like we&#x27;ve never seen before. It works well.
usrusralmost 7 years ago
Random fun idea: pair whiteboarding, have one of the reviewers start improvising a solution (or put on a show of not having done it dozens of times before) and see how the candidate will contribute.<p>If the problem is not one of the standard ones (that will be perfectly memorized by desperate candidates, while rightfully confident ones may struggle), it will demonstrate understanding, not the irrelevant ability to sequentially write out code in an unfamiliar medium. After all, you probably don&#x27;t want to hire those who have already been rejected so often that they can code on a whiteboard as if they did it all day.
oh-kumudoalmost 7 years ago
Yes? It designs to filter people based on certain criteria. Nowadays, you just can&#x27;t get a job by merely talking, the market is too hot, too many people want to get in.<p>I don&#x27;t think design interview alone is that useful either. Someone without actual experience designing stuff could still fake it by reading other people&#x27;s past solutions and answers, there are templates on the internet.<p>Nothing is inherently bad just because it fails you. Everyone saying Google&#x27;s process is broken, blahblah, doesn&#x27;t change the fact Google employees are hot AF on the job market.
评论 #17730125 未加载
jakeinspacealmost 7 years ago
I&#x27;m an almost-graduated computer engineering student. I had a relatively pleasant interview last week with a whiteboard component which I thought was fair. The interviewer asked for a Fibonacci function, an easy problem that still allowed me to show that I understood some more advanced concepts. I gave a basic recursive solution, was asked to critique it, explained how it was inefficient in time and space, and would blow up the stack (without tail call optimization). Then I thought I&#x27;d mention dynamic programming as a possible solution to the time complexity, but one that would still cost a ton of stack space. Finally, I gave the iterative solution, and explained how it was more efficient, and how you could use it to pre-compute a lookup table.<p>The interviewer propmpted me along the way, it felt like a friendly conversation. The fact that it was an easy problem prevented me from stressing out, but I still felt like I was able to demonstrate some academic ideas.<p>I was always pretty decent at standardized tests as a kid, and this argument over whiteboarding reminds me a bit of that. I don&#x27;t think it&#x27;s useful for gauging general software engineering skills, but it might have some value for evaluating communication. It also feels like the sort of thing that software engineers with a strong academic background tend to enjoy more than those with more practical&#x2F;industry experience, but that&#x27;s just anecdotal.
expertentippalmost 7 years ago
Honestly I’m not afraid of whiteboards as earlier in the career. The interviever is whether some fresh graduate smartass trained in a narrow domain and it’s easy to route the discussion out of their comfort zone, or someone with particular problem - well, I’m not able to pull out immediately answers to the world problems and if this is the case I’ll just admit it. In the worse case I’ll not get hired - I hadn’t got hired too many times in my life to care.
pan69almost 7 years ago
As with everything, it depends.<p>To me, whiteboard interviewing makes sense when hiring for a role that leans toward a comp-sci background. People who do well in these roles typically have a brain that works in a certain way.<p>The roles that lean away from a comp-sci background are usually the type of developers who don&#x27;t do well with whiteboard interviewing techniques.<p>What too often happens is that a hiring engineer doesn&#x27;t interview within the context of the role they are hiring for.
评论 #17729652 未加载
andrei_says_almost 7 years ago
I’d be curious, are interviewers running whiteboard interviews willing to do one, conducted by a colleague, in front of their team?<p>Does this practice exist anywhere?<p>It would be interesting to do this maybe once a year? And put $100-500 toward getting a pass or non-pass(money gets donated to interviewer-selected charity), just to throw in some money in the game?<p>And I mean an interview based on non-trivial CS problems, not brainstorming &#x2F; code ideation which we do often.
anonytraryalmost 7 years ago
I&#x27;d propose a supplement for interviewing. If your company has at least one open-source repository:<p>1. Have a senior engineer chat with the candidate for an hour about a few bugs&#x2F;features in the repository, and how the candidate would solve them.<p>2. If the candidate is promising, give the candidate a week or so to fix the bugs or implement the features.<p>I think this would be a more relevant test than just giving them context-less problems to solve on a whiteboard.
评论 #17729304 未加载
评论 #17728439 未加载
curtisalmost 7 years ago
Many people believe that it is completely unreasonable to ask an interviewee to write code on a whiteboard at all. I disagree with such an absolute position. I do think it <i>can</i> be a reasonable thing to do, <i>but only if you are asking the interviewee to code something really simple.</i><p>When I say <i>simple</i>, I mean really simple, like FizzBuzz simple.<p>There are interesting questions you can ask that are really simple which are not FizzBuzz. I&#x27;ve used the Fisher-Yates shuffle algorithm and more recently Selection Sort. I should stress in both of these cases that I carefully explained the algorithm before asking the interviewee to code it up. Even though these algorithms are quite simple, I do not expect the interviewee to have memorized them.<p>I do expect someone who is a professional software engineer to <i>understand</i> the algorithms after a decent explanation and then write code which will implement them.<p>I also don&#x27;t necessarily expect the interviewee to get the code exactly right. I just expect them to demonstrate that they could write correct code given enough time and access to an actual computer to test the code on.
评论 #17727893 未加载
Will_Parkeralmost 7 years ago
Is there any engineer who you&#x27;d regret not hiring, who is unable to code FizzBuzz in real time in front of an audience? I&#x27;m skeptical.
评论 #17728576 未加载
评论 #17727952 未加载
balls187almost 7 years ago
How do engineers approach solving a problem?<p>Whiteboard coding does a good job at assessing that, regardless of the candidates ability to actually solve the problem (for all the reasons why whiteboard coding sucks).<p>Do you analyze the problem?<p>Write test cases first?<p>Write a mini spec?<p>Gather Requirements?<p>Ask Questions?<p>Jump into code?<p>Google?<p>Verbalize the problems you encounter?<p>In that respect, engineering coding interviews work well. But too often, they are essentially a binary Yes&#x2F;No: Candidate solved the problem the way I want them to solve it.
ww520almost 7 years ago
Whiteboard as a communication tool in interviews is great. Sometime it&#x27;s easier to write things down, draw diagrams, and list technical points than just talking about it. Writing it on the board provides an outline to talk about stuffs.<p>Whiteboard as writing programming pseudo code or steps are fine. Just don&#x27;t be a human compiler and demand perfect syntax.
castlegloomalmost 7 years ago
It seems like there are two things at play - whiteboarding interviews vs. using whiteboards in your day-to-day job.<p>If the test is to see how well a person works in a whiteboarding interview to solve a problem, then it should be a simulation of collaboration, while trying to avoid the Clever Hans effect.<p>Otherwise your DP whiteboarding problems are worthless.
denzil_correaalmost 7 years ago
In general, an interview is to understand what a candidate brings to the table. Therefore, one of the best ways to assess &quot;glass half full&quot; is to talk about their past work. The interviewer is a subject matter expert who can definitely ask pertinent questions about the candidate&#x27;s work. In many cases, more so for scientific positions - the candidate&#x27;s work is publicly available.<p>Currently, many interviewers go for - as I like to call it -&quot;trivia questions&quot;. Personally, it just doesn&#x27;t seem appropriate because &quot;Everything may be obvious, once you know the answer&quot;. In some such interviews, I&#x27;ve asked my own set of trivia questions to the interviewers. The interviewers weren&#x27;t pleased as they couldn&#x27;t answer some questions for which I knew the answers beforehand.
评论 #17727773 未加载
评论 #17729468 未加载
tzsalmost 7 years ago
A couple of comments have mentioned LeetCode. While reading those comments I had an odd idea on a different way to use LeetCode when interviewing. The usual way would be to get problems from them and spring those on the candidate to solve on a whiteboard or on a computer. Numerous people have raised objections to that kind of interview.<p>Instead, how about sitting down in front of a computer with the candidate, going to an interesting problem on the LeetCode site, and reading the problem statement with the candidate. Make sure you both agree on what the problem is asking for.<p>Then, instead of having the candidate solve the problem, go to the discussion page for the problem, and start reading the posts with the candidate. These will include posts from people who are asking for help understanding the question, and from people who are showing off their solutions.<p>Pick a few where the poster is asking for help understanding, and ask the candidate how they would clarify things for the confused poster.<p>Pick a few where the poster is posting their solution, and ask the candidate to do in informal oral code review along with you. Let the candidate take the lead, just providing nudges if necessary. For ones where the review finds serious bugs, talk about how to make test cases to demonstrate the bugs.<p>From what I&#x27;ve seen on LeetCode problem discussions there will be a lot of posted solutions that have edge cases that fail, or fail to meet time or space requirements that were given, or leave out major cases, or make implicit assumptions about the input that if violated invalidate their sultion. There should be no problem finding plenty of posts with plenty of things to bring up in review to discuss with the candidate.<p>This seems to me that it would not be overly stressful on the candidate (way less stressful than writing code under a short deadline), it is exercising skills that working programmers actually use, and it would let you do some work with the candidate to get some idea of how they get along with others when working.
markatkinsonalmost 7 years ago
I recently had a coding interview and it was a disaster. The annoying thing is it was actually a super simple question and I had done a lot of preparation, and had solved a similar issue in my actual job just by chance a couple weeks before. So it started out great.<p>But instead of acing it an issue cropped up in the coding pad which I had to try and debug, which threw me off guard. The interviewers had muted their mic and were chatting away and my nerves just crumbled and I ended up profusely sweating into my eyes, I literally had sweat going into my eyeballs. I just turned into a bit of a mess, which is strange for me as I&#x27;m normally quite confident.<p>I think if the interviewers were a bit more involved it may have gone better. But I ended up just not finishing in time feeling like I had wasted everyone&#x27;s time.
DrBazzaalmost 7 years ago
Yes to whiteboards if they&#x27;re used correctly.<p>If the candidate can&#x27;t explain or solve something simply on a whiteboard, they probably don&#x27;t understand the problem or domain.<p>That&#x27;s not to say that the interviewer might not be a great interviewer in the first place though.<p>Quote: &quot;Feynman was a truly great teacher. He prided himself on being able to devise ways to explain even the most profound ideas to beginning students. Once, I said to him, “Dick, explain to me, so that I can understand it, why spin one-half particles obey Fermi-Dirac statistics.” Sizing up his audience perfectly, Feynman said, “I’ll prepare a freshman lecture on it.” But he came back a few days later to say, “I couldn’t do it. I couldn’t reduce it to the freshman level. That means we don’t really understand it.”&quot;
dvdhntalmost 7 years ago
Yeah, no. At least, not to test the technical proficiency of a potential team member.<p>Instead, have a conversation about how to solve a well defined problem. Use the whiteboard to record potential solutions in high level terms, or if the candidate chooses, to note key concepts or concerns.<p>Your interview environment should be a &quot;staging&quot; environment for your day to day operation. The interview should gauge how the candidate might affect your development process.<p>Once the interview ends, snap a picture of it. When you&#x27;re debating candidates and try to remember your impression of them and how they contributed. Consider the sum of the input they verbalized and the input they wrote. That should give you a good idea of what they&#x27;ll offer - well, along with your impression of them to that point.
arcticbullalmost 7 years ago
In my experience conducting engineering interviews (about 300ish so far) I much, much prefer pair programming interviews in front of a computer with an IDE and access to the internet and standard resources. This most closely resembles how we work together and engineers and gives candidates the best chance to show off their skills. Whiteboarding code is something people almost never do in their professional careers, and as such, you focus on all the wrong things (is that the name of that library method? is that where that semicolon goes? is that best practice?). It&#x27;s neither fair nor representative.<p>Of course I have no problem testing architecture and communication ability in front of a whiteboard, as this is much closer to how these things are done in the workplace.
z3t4almost 7 years ago
I think in images, and always visualize the problem, so I would love doing it on a white-board, I actually find it easier then writing the code itself, and I find it very hard to describe the problem in words. While others think in code, and yet other people think in words. So in order to not dismiss a good candidate, explore how they think about problems. Can they describe it with words ? Can they describe it with code ? Or maybe they can only describe it in pictures !? There are also other ways of thinking. Some people think in shapes, then solves the problem like a puzzle making the shapes fit together. These guys&#x2F;girls might be on savant level and would have a very hard time passing any traditional interview.
gregrataalmost 7 years ago
So I&#x27;ve been frustrated by this type of interview for years (on both sides, but the last 10 years on the hiring side). I don&#x27;t think it&#x27;s great finding people that are good at writing software (as it&#x27;s a LOT more than a single algorithm and more than just coding).<p>I wrote a book it - along with what I&#x27;ve been using the last few years, that actually seems to work - or work at least a bit better. In the end, I don&#x27;t think you really know unless you work with someone.<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B07FJ6N8P1" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B07FJ6N8P1</a><p>It&#x27;s my first attempt at a book (small as it may be!) - I&#x27;d really appreciate some feedback (and it&#x27;s free right now)<p>-Greg
unrealchildalmost 7 years ago
We offer a whiteboard for the onsite if it will help a candidate communicate comfortably. Narrative is totally fine, gesticulations, metaphors, interpretive dance, whatever means of communication works to get the point across. We send out a small HW assignment before an on-site, after a phone screen. Not all candidates enjoy it, some expect an algorithm driven whiteboard experience. Our process delivers for us, and we tend to naturally attract a good culture fit as a byproduct.<p>In practice we do end up at a board day to day explaining ideas and so on, and everyone seems more than comfortable (with the exception of handwriting insecurity).
keithnoizualmost 7 years ago
I always do horribly on these. I also don&#x27;t have a degree in computer science so although I can setup a binary search tree, etc. well enough if work demands it I don&#x27;t have the muscle memory of working with them intensively over and over again to spin out solutions to interview questions.<p>Once in the workplace however I usually get promoted up pretty quickly. I&#x27;m pretty handy with generics and meta programming along with architecture and design patterns, meaning I can turn out more complex systems in much less time than most of my coworkers. But that crap never comes up in the google&#x2F;microsoft interviews of the world.
评论 #17735271 未加载
madroxalmost 7 years ago
I&#x27;ve always been in the camp of not doing coding interviews...whiteboard or otherwise. Overall, that&#x27;s worked well when hiring engineers with 3-4 years of experience or more.<p>Less experienced engineers are very difficult to assess without some kind of coding exercise. All the hires I&#x27;ve made that I&#x27;d characterize as mistakes are of junior engineers that I didn&#x27;t do a coding exercise with and interviewed well, but didn&#x27;t bring that interview polish to the job. Since instituting whiteboard exercises for junior positions, our success rate has been higher (no pun intended).
halisalmost 7 years ago
If you&#x27;re going to interview someone that is going to write code that a computer runs, then make them write code and run it on a computer IN THE FUCKING INTERVIEW.<p>Silicon Valley is retarded.
a-dubalmost 7 years ago
Whiteboard interviews would be fine if they weren&#x27;t taken so damn literally. Writing code on the board is dumb.<p>Spitballing solutions to a problem collaboratively and with access to reference resources (a nice little programmer&#x27;s bookshelf in the room) followed by actually coding a little bit up seems that it would be way less stressful and way more likely to give you a sense as to what someone is capable of and what they&#x27;re like to work with.
Madmallardalmost 7 years ago
If you can solve arbitrarily hard problems while on the spot you must be a stellar candidate from a problem solving perspective. If you can effectively articulate your thought process as well you probably have great communication skills and can handle technical discussion and group problem solving for harder problems. It&#x27;s gonna weed out a ton of people that can do the job but the guys that rock it will probably be valuable assets.
bedersalmost 7 years ago
I&#x27;ve been on both sides of this. Whiteboard interviews are good for a couple of things: Can the candidate explain a problem on a whiteboard? Is his hand-writing legible?<p>It&#x27;s not sufficient to decide if someone can code. You want some actual code written by that person.<p>And you don&#x27;t need everyone on your team being able to explain things well on a whiteboard. Just try to figure out how they are thinking and how they are approaching a problem.
评论 #17728206 未加载
relatealmost 7 years ago
I&#x27;ve done whiteboard only interviews, as well as shared doc&#x2F;coderpad only, and I find both limiting. When thinking about the problem, it&#x27;s great to have a whiteboard to sketch examples etc, but writing code is much easier with a text editor.<p>Recently I interviewed at Google, and they had no problem fulfilling my request to do both: sketch the solution approach on whiteboard and then write the code with a laptop.
swyxalmost 7 years ago
great article! it would have been nice to have a comparison of yays vs nays, like for example 67% of engineers say nay, whereas 50% of companies on key values do have some sort of whiteboarding in their process. with the caveat of course that the kind of companies that talk to you (keyvalues) are probably more progressive anyway so there is selection bias.<p>but it very much does seem like whiteboarding is on its way out.
lambdasquirrelalmost 7 years ago
&gt; <i>What’s great about a white boarding session is that it is a blank piece of canvas, where the interviewee can effectively think out loud, collaborate, draw diagrams and also brainstorm with the interviewer.</i><p>Is the typical engineer conducting an interview good at contextual inquiry? At holding space for people to think out loud? Lets not kid ourselves here. The only people we’re harming are each other.
ggggtezalmost 7 years ago
&gt;Software engineers hate whiteboard interviews. How do I know? We continually tell complete strangers just how much we hate them.<p>And yet, whiteboard interviews are probably 3rd on the list of flamewar topics behind vim, and whitespacing. So there is clearly some people who don&#x27;t hate them.<p>I count myself in the camp of people who don&#x27;t relish the world before fizzbuzz.
deskamessalmost 7 years ago
If someone gets hired, and on the job in the next year, they do not implement&#x2F;discuss the interview questions in any non-interview situations, then drop those interview questions. When a candidate fails to answer a question&#x2F;task, ask the co-worker who asked the question&#x2F;task to complete it (and be just as strict with them).
dvirskyalmost 7 years ago
Programming without being able to insert lines is not indicative of real programming. To me that&#x27;s the bottom line.
dm7almost 7 years ago
whiteboarding is essential when hiring for roles where development environment is not productive. there are still huge systems which take 5 minutes to link on fastest machine, or embedded, real-time and distributed systems where it takes so much time to debug that one&#x27;s daily productivity would be close to zero unless he writes code which would be mostly correct before first run.<p>developing under such constraints is radically different from environments with high iteration velocity - i.e. browser or scripting.<p>that said, in many modern environments whiteboarding is completely irrelevant, as modern application level programmer productivity is often ability to do plumbing-and wiring- work between many components and quickly assess why something is going wrong, rather then creating a highly performant or memory-efficient algorithm implementation.
PopeDotNinjaalmost 7 years ago
I&#x27;ll stop short of saying whiteboard interviews, with or without coding, are suboptimal. I will say that any interview question which attempt to see how I think is suboptimal. How I think when on the spot does not reflect how I think on the job.<p>Speaking for myself, I like pair programming interviews.
评论 #17730112 未加载
solidistalmost 7 years ago
The meta of how on whiteboard interviews.<p><a href="https:&#x2F;&#x2F;medium.freecodecamp.org&#x2F;how-to-organize-your-thoughts-on-the-whiteboard-and-crush-your-technical-interview-b668de4e6941" rel="nofollow">https:&#x2F;&#x2F;medium.freecodecamp.org&#x2F;how-to-organize-your-thought...</a><p>Just embrace it. It will be okay.
blubb-fishalmost 7 years ago
whiteboard tests are always going to produce fuzzy red and white flags. those will come handy later when it gets to assessing the applicant based on sympathy and arbitrary objective arguments are required to back whatever the interviewer wants to conclude.
jjbinksalmost 7 years ago
I&#x27;ve done close to 500 intermediate and senior level engineer interviews for one of the top 3 tech companies. For a time we offered candidates a laptop to code on during their interviews. To my surprise over 70% preferred the whiteboard. Go figure.
AgentOrange1234almost 7 years ago
I’ve interviewed a lot of folks, and bitter experience had taught me to always ask at least a couple of whiteboard problems. I’ve often been completely shocked that someone I thought seemed promising was unable to think through basic problems.
glitchcalmost 7 years ago
No in general.<p>If yes, the problem should be simple and relevant, and the session highly interactive. The assessment should be about (a) How interested the candidate is in the problem (b) How receptive they are to feedback.
rafiki6almost 7 years ago
I feel like this topic comes up on HN every six months and we all lament the broken state of technical interviewing, and the ardent supporters of all the different styles come in and push their position based on success perceived from anecdotal evidence. I have a hypothesis that hiring a good candidate is mostly luck.<p>When we view the hiring process in the context of what it actually is, a sales relationship, we realize that the customer (i.e. the employer), is ideally looking to buy services and time from the business (i.e. the employee&#x2F;contractor). Viewed in this context, we quickly realize that many different things become part of the equation. Think about hiring a contractor for your home. If you happen to understand the job they do, you might be able to assess a the potential contractors previous work, quote and reputation effectively. Most people can&#x27;t because they generally don&#x27;t understand what it might take to do a job and have no experience in executing it even if they do. So you either heavily rely on recommendations from others, or go for a lower or higher priced contractor based on your perceived value (cheaper job, w&#x2F;e the results vs more expensive job and risk mitigation) and hope for the best.<p>Considering most software development doesn&#x27;t actually happen at &quot;tech&quot; companies, the reality is most companies are like most people and likely can&#x27;t properly assess talent no matter what. They essentially get lucky if they get a good candidate or unlucky if they don&#x27;t. That would lead us to think that maybe the &quot;tech&quot; companies are able to do a better job of it. In essence they do, but not because of their methods. I&#x27;d say it&#x27;s a form of selection bias.<p>Google became successful and happened to be run by generally smart people technically capable people. As such they were able to attract generally smart technically capable people to work for Google. I&#x27;d venture a guess that 90% of people who make it to the live interview stage at Google would be qualified to work there, but since Google has it&#x27;s pick of the litter they need to create a filtering system somehow. They happened to make it the &quot;whiteboard&quot; interview and similar high achieving Peer companies all tend to do the same thing. It became a thing, and as such all non-high achieving companies followed suit so they can behave like the high-achieving companies. The filter a company like Google applies is only necessary because they have too many candidates. Most companies aren&#x27;t in a position to apply that filter if they really want talent. So really, they need to get lucky enough to get those who don&#x27;t interview well with the &quot;tech&quot; company method of interviewing and hope they get some of those prime candidates.<p>I&#x27;m pretty sure the tech talent pool, as with all things in life, follows a Gaussian distribution. If you interview enough people you&#x27;re bound to find some decent ones, even if they don&#x27;t actually interview all that well.
评论 #17730126 未加载
wolcoalmost 7 years ago
I may be an outliner but I prefer them. Mixing presenting with randomly writing things is better than talking for an hour. Makes me less nervous doing two things at once.
serp3ntinealmost 7 years ago
Yea* or nay, not &quot;yay&quot; or nay. Damn millennials...
jrs95almost 7 years ago
This is one of those things that even if it can be done correctly in theory, it’s often so bad in practice that it’s probably best to just not do it at all.
onemoresoopalmost 7 years ago
IMO whiteboard interviews are disadvantageous to shy people. However, that aside, generally in meetings whiteboard could have some benefits if not abused
nofunsiralmost 7 years ago
The Chief engineer at my current place of employment said, and I quote verbatim: &quot;I get a sort of sick pleasure from watching them squirm.&quot;
bitshepherdalmost 7 years ago
As a senior-level self-taught, I redacted this post because of my views on whiteboard coding. Downvotes are not cool.
nndalmost 7 years ago
Whiteboarding or not, what are some good resources to prepare for a coding interview that worked for you?
sebringjalmost 7 years ago
Waterboarding and whiteboarding are phonetically similar as well.
GenerocUsernamealmost 7 years ago
I actually really like whiteboarding problems and it is a common and effective real-world problem solving skill.<p>I still only do OK at whiteboarding in interviews.
dionianalmost 7 years ago
whiteboard is more useful for design than code, i give them a computer to code on
ben509almost 7 years ago
There are three goals in interviewing: for the interviewer to gather enough evidence to prove that the candidate is going to succeed in the role, evidence that they will grow in the long term, and to sell the candidate on the position.<p>A whiteboard interview isn&#x27;t a good growth indicator, but it&#x27;s great at leveling a candidate. Moreover, it signals to a candidate that their peers will be at a similar level.<p>So I&#x27;d vote yay. If you pay attention, you can determine someone&#x27;s proficiency at coding on the whiteboard in about 15 minutes. This is particularly important when you have people who are changing careers or junior or otherwise don&#x27;t fit the mold.<p>I&#x27;m honestly shocked at the arguments against whiteboarding as many of them seem entirely reactionary.<p>&quot;But I&#x27;m never going to work that way.&quot;<p>Didn&#x27;t we all do the better part of two decades of formal schooling? We test people like that for a reason: you can carefully focus on the specific markers of mastery of a subject.<p>I understand why people make this argument: it&#x27;s a reaction to some of the weird puzzles companies used to ask. But it&#x27;s never substantiated that this will help the interviewer and candidate make a better decision, so it has the same problem the puzzles did.<p>&quot;But at work I have Google and StackOverflow.&quot;<p>This is a good point, the questions you ask in a whiteboard question should be based on the fundamentals rather than trivia. But it&#x27;s a terrible point because it accepts that the interview is just a ritual you go through and this argument is that we should make it fair.<p>Whether a candidate knows &quot;the answer&quot; is not the point, it&#x27;s more that they&#x27;re able to talk about what&#x27;s going on, have good instincts, etc. If you&#x27;re an experienced engineer, you&#x27;ve seen lots of people write code, you know what looks like &quot;junior&quot; or &quot;senior&quot; and &quot;guy who thinks anyone can just pick up coding.&quot;<p>&quot;But if I work on a computer I can compile and see the edge cases.&quot;<p>Are you interviewing the candidate or the compiler? Again, this is the ritualistic view of interviewing.<p>&quot;But at work I have plenty of time to work on things.&quot;<p>Everyone has this problem, so everyone is less able to perform, and the interviewer can simply adjust expectations.<p>&quot;All of these interviewing &quot;tools&quot; (or tricks) attempt to be time&#x2F;cost efficient proxies for doing the damn job...&quot;<p>That&#x27;s very much the ritualistic view. Other industries have had notions of apprenticeships and so forth for thousands of years, and our problem is that we view recruiting, professional development, etc. as things someone else does, rather than something we take ownership of. Interviewing is a critical business function, it can produce value and thus is not a waste of time. If you treat it as a useless ritual, though, it will be.
megaman22almost 7 years ago
Nay. I do not understand the obsession with whiteboards. I&#x27;ve had coworkers that went gaga when they discovered that whiteboard paint was a thing, and they could cover their office in whiteboard surface. Doodles and doodles and doodles all over the place, but not very much working code ever makes its way into production from those offices. Lots and lots of movement and noise and grandiose planning, signifying nothing, too often.<p>Lock me in a dark closet under the stairs with just the glow from a couple LCDs and throw pizza and requirements documents through the slot, like you&#x27;re feeding the Rancor. &#x2F;s
h4b4n3r0almost 7 years ago
Nay, unless the candidate wants the whiteboard. Even Google doesn&#x27;t mandate whiteboard anymore: you can write your code on the provided Chromebook. Some people choose whiteboard, though, for reasons unknown. I think whiteboard (or a sheet of paper) is reasonable for what it gets used for IRL: for sketching out what you&#x27;re going to do, by drawing or writing very high level description, but it sucks for everything else.
评论 #17727782 未加载
debtalmost 7 years ago
I love these kinds of post. It&#x27;s like saying:<p>&quot;Highways: Yay or nay?&quot;<p>&quot;Food: Yay or nay?&quot;<p>&quot;Air: Yay or nay?&quot;<p>Hate on whiteboard interviews all you want, but that attitude is going to put you a massive disadvantage in the current rigmarole of software engineering interviews. It&#x27;s not a thing 99% have any interviewees have control over. Nor is there a way to tell the interviewer: Hey, I prefer not to do whiteboard interviews. It doesn&#x27;t work like that.