7 ms·
Imagine this. You are interviewing for a job, you walk in a room with 2 people who hand you over a sheet with a few problems. They ask you to write the solution
by kelvin0 10y ago
Imagine this. You are interviewing for a job, you walk in a room with 2 people who hand you over a sheet with a few problems. They ask you to write the solutions on the whiteboard, while they wait for you to complete.
Not a word is said, they are clicking at their laptops, and staring at the whiteboard, as waiting for the genie to pop out of a bottle. All the while your mind is frozen and stuck in a bad loop.
This lasts an hour, you are barely able to complete parts of the problems and are frozen. Of course this affects your usually creative and sharp mind.
The torture lasts an hour, time's up! You shake their hands, as a kiss of death, and head out. As you are walking back, all the answers to all the problems they wanted you to whiteboard, come rushing like a torrent in your mind. Too bad, another 'botched' technical interview.
This is my experience as a battle tested developer who is shipped many products and has been programming for the love of computers since the age of 12 (professionally for more than 15 years). I am not going to be working at Google any time soon (not that a Google job really matters to me).
- tezzer 10y agoI completely froze on a phone interview once. I opened up a co-coding application and was asked to write code to balance a binary tree as a warm-up exercise and I completely froze. Couldn't back out of my head, even with some prompting from the interviewers, and I ended up ending the phone call and writing a note of apology. The painful part is, I used to teach CS-101 and CS-102. I assigned that exact problem to my students and have graded several hundred solutions to it. Now I warm up on lots and lots of coding problems before I start an interview process, but I always worry in the back of my head that I'll freeze again.
- adrianratnapala 10y agoThat was a warm up question? Had they not heard of Fizzbuzz? Or reversing a string?
- jogjayr 10y agoI once froze on a warm-up Fizzbuzz. Actually it was even simpler than a Fizzbuzz: print all the elements in a list. Freezing can happen to anyone on any problem.
- tezzer 10y agoI'm a senior engineer with a ton of experience, and it was an interview for a challenging role at a major; I've come to expect that sort of thing on warm-up. It's a bozo filter before the real questions, and I should have been able to do it in my sleep.
- a3n 10y ago> I completely froze on a phone interview once. Ah, the memories come rushing back. I once froze in an interview, and force myself to blather something inane so that the phone wouldn't be silent. It went horribly. I called back later that day or the next (it's been a long time), and basically said "that's not me. I know what I'm doing!" We had a conversation about the subject that I botched. It went well in part because I had already accepted that I'd lost that job; I just didn't want to leave an impression anywhere that I was a loon. I got that job.
- alexeiz 10y agoWhen you get stuck, start talking. You should not be silent at the whiteboard trying to flash out a complete solution all at once. Talk. Even if interviewers are not saying anything or ask you any more questions. There are multiple advantages of talking while writing code at the whiteboard. Firstly, you show the interviewers the way you think and approach the problem. It is as important as actually solving the problem. Secondly, if you get stuck or start making unreasonable assumptions about the problem, the interviewers will have a chance to quickly correct you or give you a hint. Thirdly, it shows that you can communicate. Nobody wants to hire a person who can't communicate with other people.
- meowlicious 10y agoI don't find talking and thinking at the same time natural. 'Just think out loud' seems so unnatural to me, I never do it in daily life. I am used to thinking to deep house music not to interviewers staring at me like hungry wolves. Its hard to communicate with someone who already knows the solution to question because you are thinking together and feeding off of each others thoughts like in a normal work situation. I think the idea of modern open office is built on the same idea that people would be thinking, communicating and collaborating at the same time, but I hate open offices for this precise reason.
- andersonmvd 10y agoIt's a band-aid for an unfixed root cause. Solving problems by talking doesn't work for all people. It astonishes me how broken interview processes are. They just need to see if the candidate will be able to do the daily job of a current employee in that position. It's that simple. It doesn't require whiteboards, puzzles, 10 interviews. Put the candidate to work on a project that you currently facing and see his performance. Doing something other than that is bullshit.
- Apocryphon 10y agoAn interview process is inherently asymmetrical- the evaluated is in a vulnerable position. So it feels like Mark Twain's not-quote([0]) would apply - "It’s better to keep your mouth shut and appear stupid than open it and remove all doubt." What I'm saying is that there's an underlying fear of looking bad when spouting off your mental rough drafts, during an interview. What would be helpful if interviewers were clear about their expectations, as in, "You will be graded on your overall approach, not your initial ideas." or "We don't take points off for hints." [0] http://quoteinvestigator.com/2010/05/17/remain-silent http://quoteinvestigator.com/2010/05/17/remain-silent
- george_ciobanu 10y agoDisclaimer: I work at Google but in no way do I represent my employer's views. These are all my personal opinions. I interned successfully at FB, Microsoft and Google as a SWE in 2008-2010 and interviewed with a lot of other tech companies (not always but often successfully). Like you, I tend to freeze up in a whiteboard situation, and have most of my life, going back to college and prior (I studied in Romania where at the time you had to stand up and answer questions and use a whiteboard to answer them). I find that a few things help: 1. Practice practice practice. Simulate the interview with a few friends multiple times. It gets easier no matter how shy you are. 2. Smart interviewers and companies open with easy, friendly questions that put the interviewee at ease. It's a sign they understand this is stressful for everyone, no matter how confident, knowledgeable and smart they are. While these interviews aren't perfect, with the right attitude they are helpful: it shows how the person thinks through a problem and communicates their ideas, and how they "work together" with the interviewer. These are important skills that are important for all people regardless of their title. I also believe a solid CS foundation is important even if coding is mostly putting things together. A systematic, mathematical understanding of complexity of Algorithms and Data Structures shows in one's everyday decisions. There are only a few valid alternatives in my mind: 1. Take-home project work More realistic assessment of how effective a person is. Really good simulation of that, but no signal about their collaboration style, interpersonal dynamics etc. 2. On-site trial for a week or two This is probably the best way to assess someone's ability - internships and residencies are as close to real life as one can get. It's hard for people who already have a job, and expensive for a company to do. Simpler proxies/filters are needed. Am I missing any other ways to assess candidates?
- NTDF9 10y ago>> Am I missing any other ways to assess candidates? Yes. You are completely glossing over the fact that the candidate might be bringing something special to the table. You have literally not left any room for the candidate to showcase what they've learned (again, not minutia of algorithms but something completely different..like the candidate could be a specialist in how compilers do register allocation) How about the interviewer improving their interviewing skills to be able to identify strengths rather than being a pseudo automata that docks points?
- usernametbd 10y agoSorry you had bad experience. But I'd like to note here that many technical interviews that involve white board problem solving are nothing like this. I've attended interviews from a bunch of companies that do white board interviews. In almost all of them, the whole interview process went much smoother than this. Most importantly, nothing like "Not a word is said, they are clicking at their laptops, and staring at the whiteboard, as waiting for the genie to pop out of a bottle". If that happens, they are just bad interviewers. White board interviews are supposed to be interactive. When I solve a problem, I always verbally say whatever is going on in my mind and share it with them. This does two things : 1. Helps me focus on the next steps instead of letting my mind race through different solutions, context switch often and lose track of my own thoghts. 2. Gives feedback to the interviewer so he knows I am on the right track and if not, give me clues (with or without him wanting to) that I can pick up on and proceed further. In the end, my white board interviews always went like a conversation, a deep discussion about a problem that involves coming up with a solution and attacking it to see its pros and cons. I have come to appreciate the process itself because it tests several things like communicating to the team, problem solving, being open to other ideas etc. Edit : I'd also like to note here that I didn't get these skills in my first interview. My first several interviews went horribly wrong like you mentioned. It is a skill that you need to invest time in. And you have to believe that the time you invest in this will pay off eventually. It did for me in several ways.
- udev 10y agoIt is also a cultural thing. I observe that anglo-saxon peoples teach their kids to voice their concerns, needs, wants, and opinions, and to expect (!) results from this. (Compare how american kids behave at airports, train station, and public places with kids from other countries, e.g. french speaking countries). This helps them approach situations in life with a healthy dose of self-worth and the baseline state of mind that if something is wrong it's not their fault. In contrast, many other cultures teach their kids that it is impolite/crude/disrespectful to bother adults with your half-baked thought, or (God forbid) unexpected wants, or complaints. I come from a culture where you are expected to moderate your verbal output when addressing your superiors (e.g. teachers, boss, etc.). You speak out only when you have something worthy to say. Example: I had trouble going to "office-hours" when at university in North-America. I always got the feeling that I am bothering the prof, and it is my duty to study more to understand the material, and I should not take his time when I merely did not understand something. My anglo colleagues seem to not have such qualms. Their thinking is more along the lines of "I don't understand (not my fault), it is his job to teach me (most likely his problem), he has to explain this better, I pay for tuition after all...". I am happy to have unlearned some of the above things. But generally, I find the speak-your-mind-at-the-white-board-while-we-watch interview tailored for cultures where kids are taught to be vocal, and are difficult for equally intelligent people from other backgrounds.
- ergothus 10y agoI recently started teaching a class to grad students, most of whom are foreign-born (China and India mainly). I have a lot more sympathy for my college instructors now that I see it from the other side: If students don't speak, I have very little information on whether they are learning the info (which in turn, reflects how well I'm teaching it). Homework is my main clue, and that involves a delay (plus I have a healthy bias against busy-work homework, so while I give assignments it does not count for/against your final grade). I believe this is exacerbated by the sorts of cultural differences you highlight - I'm (relatively) loud and brash, many of them are reserved. I have no doubt there are lots of signals of confusion/understanding that I'm missing, but I don't know how to find them either. I recently got my mid-term evaluations from the students (anonymous) - I was shocked to see many of them spent (or at least claimed, which I have to trust in absence of other data) 11+ hours/week on the work outside of class - triple what I expected. (and the answers formed a believable curve of results, so again, I have to trust it absent other data). I had only one student up until that point say how much time they were spending. Everyone else was silent.
- alain94040 10y agoWhiteboard interviews should be re-framed. Instead of "what is the best method to sort through a list?", set a situation where two co-workers are having a casual chat. "I'm having this problem, I can't sort through this list, any ideas what I should do?" That kind of discussion between co-workers happens all the time. You suggest ideas. Have you tried this? Yes, but it has that problem. Oh, so what about that other approach? And so on. It's a lot less stressful than an interview where you are expected to find the right answer, and it's also much closer to your real job.
- dmitrygr 10y agoDevil's advocate: How else will you prove that YOU shipped those things over that period? * Github account? Ha, my code is on github in many places, mostly without attribution, none of them uploaded by me. * Recommendations? Ha. Unless the person recommending you already works at the company, their trustworthiness is zero - they could be a paid accomplice. * Resume? Unless you were the sole employee, there is no way to tell how much actual work YOU did. * "Tell me about that one time you solved an interesting problem?" Ha. Can easily be a well-practiced lie. (yes i have seen all of the above) Turns out that the only sure way to tell if you can do X, is to make you do X and watch you yourself actually do it, in person. Now, I am not accusing YOU of fraudulently trying to get a job, but people do. An in person interview is a good way to see. (as always, i speak for myself only, not my employer, my cat, or our Great Lord FSM)
- strictnein 10y ago> "Turns out that the only sure way to tell if you can do X, is to make you do X and watch you yourself actually do it, in person" I don't write code on whiteboards for a living, nor am I applying for a job that will have me coding on whiteboards, so watching me do that will tell you almost nothing about the job you're actually hiring me for.
- dmitrygr 10y agoI agree it is not ideal, but the counterexamples I provided do explain why other suggested methods are too simple to fool.
- KamBha 10y ago"Tell me about that one time you solved an interesting problem?" I agree if that was the only thing you asked, you wouldn't get a good answer. However, if you then dug into their answer you can probably tell if it is BS or not. I remember having this exact experience with a junior dev who claimed to worked on some interesting projects at Uni, but when you dug deeper, you realised he knew very little about the technology he supposedly used. That said, my company isn't really interested in hiring people who can code an algorithm to balance b-trees. My company just need people who know how to ask questions, write maintainable code, and use a profiler.
- a3n 10y ago> Not a word is said, they are clicking at their laptops, and staring at the whiteboard, as waiting for the genie to pop out of a bottle. All the while your mind is frozen and stuck in a bad loop. I interviewed once with a couple of owners in a restaurant. They asked me something relevant, and I all but froze. I knew the subject, but it just would not reveal itself to me. I candidly admitted "brainlock." They were very gracious about it, I soon got through that subject and we moved on. I was eventually hired. The lesson being, for myself at least, not being able to produce "on the fly" is sometimes compounded by being afraid to show or admit a problem. Good people, however, will be forgiving and encouraging. They've been there themselves, we all have. There have been a number of times, over the decades, that I have basically admitted ignorance or temporary brainlock, and it has always gone well, whether I was hired or not. I think, if nothing else, that it's refreshing and novel for the interviewer. It really reduces stress if you allow yourself to be human. In turn, that's much easier if you don't put yourself in a position that "I must have this job."
- user5994461 10y ago> Imagine this. You are interviewing for a job, you walk in a room with 2 people who hand you over a sheet with a few problems. They ask you to write the solutions on the whiteboard, while they wait for you to complete. Please replace these guys with HackerRank. It so much better than this.
- grecy 10y agoI find people are quite reasonable in real life. Unlike the internet, they're not going to bite your head off. Next time it happens, tell the truth. "Oh, hey guys, I get really, really nervous about whiteboard coding. It's really scary for me and right now I feel like my brain has stopped and I'm going to fail miserably. Would it be OK if we do this another way? - maybe on a computer, or maybe I can just talk about it?" If you need it, you can also say "Can I please have a 5 minute break to get my head straight? Maybe a quick walk to the bathroom and a glass of water?" I would be utterly and completely shocked if a rational, intelligent human being denied you that. And if they did, would you want to be working for/with them anyway?
- muninn_ 10y agoOnly issue with this is that those interviewing you might not be who are hiring you or you would be working for. So maybe their lame, but your actual day to day or your actual boss are awesome. Though it's on the company for not providing a good interview experience.