Hacker News new | ask | show | jobs
by louisstow 1928 days ago
My least favourite interview technique has to be "talk me through a complex problem on a whiteboard". It's not so much the stress but the fact that you can't have a train of thought longer than 5 seconds before someone finds the silence awkward or interprets it as you're lost and breaks the silence and train of thought. It's a test for solving complex problems in 5 second blocks while being constantly interrupted.
11 comments

I actually love these kinds of questions. Allows the candidate to run through the problem as a conversation instead of a binary solved/not-solved outcome.

I usually preface it by saying that I will take a minute to write down a few ideas, so the silence isn't awkward. It is such a great way to engage your interviewer, while gaining a finer ability to choose the level of abstraction when you are working through a problem.

I love it also because it helps those who aren't native English speakers. The ability to visually represent ideas is equally distributed across language skills. It doesn't even need to be suited for a visual thinker. It can be math, venn diagrams, graphs or even straight up code.

Also terrifying and mentally paralyzing for a large percentage of devs. I'm ok with these interviews (and agree they can be fun when they go well) if you are ok with a very high rate of false negatives and being basically inhumane to that same group of people.
It's funny you say that, because the alternative is Coderpad/Hackerrank style quizzes which I completely despise.

Those give me a world of anxiety. I know I can practice leetcode for 3 months full time and ace them, but that feels so wrong in spirit. Also, that's a tall ask for someone with a fulltime job. I will fully admit that I have never tried to remember syntax exactly for any language I use because coding speed was never a bottleneck for my job. Thus, I can almost never finish the darned problems in 45 minutes. My palms get sweaty and my head blanks out.

Weirdly enough. I can literally write the exact code on a whiteboard no-problem. The brain is weird.

The alternative could maybe be something actually related to the job at hand. Like “I’ve got a database here and we need a view on this page - how would you approach this problem?”

I guarantee you will find people who do the actual work. Companies don’t need massive amounts of coders that can minmax an arbitrary book algorithm. If you want someone to be “clever” in exactly that way then you can push them in that direction while solving a closer to real looking problem.

Is not the inability to think on your feet in a productive way in front of others - especially stakeholders - a gigantic red flag you want to catch?

Having reasonable social skills and the ability to not look like an idiot when you're on the spot are both super important to being a productive member of a business

Edit: someone has just downvoted every one of my comments in this thread and not left a response, why?

No. It's pretty rare outside of interviews that you have to code in front of an audience. For most jobs having performance anxiety is no red flag at all.
If we had to categorise interviewing as a science I think it would land squarely in the social sciences.

Difficult to impossible to reproduce results; practitioners with wildly different skills and biases; institutions with systemic biases; individual candidates who can vary wildly from day to day; cohorts that change over time and distance; a lay population with strong opinions.

We'd be better off selecting candidates randomly, but even this only kicks the can down the he road.

> It's pretty rare outside of interviews that you have to code in front of an audience

But it is most certainly not rare that you will be expected to reason about possible solutions to problem domains you barely understand using techniques you have varying levels of familiarity to an audience.

Maybe I'm wrong, maybe this is just my line of work, and if you're recruiting a person who pulls tickets and there's no expectations beyond that whatever. But I would be assed to hire someone who, presented with a question my team thought fair to ask in an interview, was unable to stand up and cohesively walk me thru their approach, reasonably attack some parts of that approach, and offer some insights to what pros and cons they see in their approach and others they might have passed up. How is that person ever going to help in a brainstorm if they are so socially anxious they cant speak to an audience? How are they ever going to help their teammates in a Code Review if they are unable to find their voice in front of a whiteboard-tier problem that every single other candidate is facing?

If your social anxiety is this debilitating, that you can't do your literal profession in front of a crowd who you purport to be on the same level as by virtue of interviewing with them, I think you have a problem yes.

Sounds like stress doesn't impact you, even in interview settings. Good for you! Too bad it seems like you also lack the empathy to see why other people might find interviews different from normal work-collaboration duties.

And no, it's not your job to worry about other people's issues, but if you think that 'being stressed in an interview setting' == 'unable to collaborate' (this is what I read from your ridiculous strawmen), you're going to pass on a lot of good people.

I think you're missing the real world nuance here, anxiety isn't as on/off as you make it out to be. For me, a developer with social anxiety, there is a huge difference between an interview environment and talking out a problem or code review with a team I'm familiar with. The two main factors for me are one my anxiety just skyrockets around new people but quickly calms down after being around someone for a couple days/weeks and getting used to them. The second is one aspect of my anxiety be is an abundance of worrying about people judging me/what I'm doing/wearing/whatever and in an interview the interviewer is doing just that: judging my performance & worthiness to join their team.

Anyways that was a long winded way to say it is entirely possible for someone to be anxious and generally bad at interviewing while also being capable of being a productive team member.

Hi there. I have social anxiety. There's a fucking huge difference between performing in front of someone more important in a job interview compared to talking to peers in a casual setting.
Is that expected to be a major part of their job?

If no, then no, it's not.

If yes, perhaps. Interview settings are still quite different than what they're going to face on-the-job, but you do have to infer from something, so I'm not sure there's any real alternative.

> Is that expected to be a major part of their job?

How do you collaborate with your teammates? I do it directly by approaching a problem in a shared coding or whiteboarding session, where we try to break it down to its barest bones and then implement logic to animate these bones. Once that is done, we begin to look at what types of higher-fidelity information we lost, and iterate.

This requires a good ability to communicate, write code in real-time, understand perfect is the enemy of good, and in general be able to simultaneously think deeply and support conversation / collaboration.

Of course, there are frequent async steps in such a workplace, but if you are the type of engineer who doesn't participate in these stages and instead can only pull tickets and write them to a spec, you are the type of engineer I don't want to hire. So I consider the signal:noise ratio quite high wrt watching someone melt under the same pressure as every other interviewee faced.

I agree that collaborating in real-time is important, but I disagree that interview conditions allow you to assess real-time collaboration abilities accurately.

In a real life situation, both you and your partner will be generally familiar with the problem at hand; if not there's an expectation that the person with more knowledge will be explaining not just the problem, but also the solutions that are already under consideration, so that everyone is on the same page.

In an interview situation, the solution is obviously withheld because the goal is to make the candidate derive it, so any back-and-forth is artificial - the interviewee is the one who has to do analysis while being scrutinized while the interviewer has already done the work.

And of course, normally your partner doesn't have control over whether you get hired or fired. If you were dropped into a room with the CTO and told that you had to solve a new-to-you problem they had already solved or you would be fired, you would probably find yourself performing much worse than if your team-mate asked you to weigh in on the problem that had been bouncing around on Slack for the past few days.

While you're collaborating with your teammates, if you reference anything external or get it wrong or don't come up with an answer in 45 minutes you're fired!

Still stress free?

So the 50+ percent of the population who have a problem with performance under high stress situation have a giant red flag above their head? We are doing something wrong.
Well, yes. If the job requires you to perform under stress, being unable to do so should certainly be considered for disqualification.

Job interviews aren't perfect and everybody wants something different from them. But maybe the employer actually is looking for something you don't have and wouldn't it be better to find out before joining?

I kinda agree as a I have posted elsewhere:

"The scariest part of all this is that people think this is a good way to filter candidates. It shows you that the company is populated by stress tolerant, herd mentality thinkers. I see them as a cross between army grunts and high school nerds. Simple fast logic, drawn to rules and systems, prone to being swayed by appeals to authority. Low sensitivity nervous systems meaning high stress tolerance and low ability to perceive, synthesise and abstract. Working with these guys is like wearing a straight jacket anyway - avoid like the plague. Unless you happen to fit that model, in which case go right ahead, you do you, but please be aware that there are other kinds of human out there who can add value outside of the cookie cutter."

But we have a problem where we are recruiting all kinds of personalities into a market and then after significant investment in education telling them that they aren't suited for the role.

Fundamentally what is going on here is a battle between different kinds of personalities and it's annoying that I'm in the minority. But there is an argument here to say that this isn't a very economically productive situation. You need all kinds of people in an organisation.

Can you provide a source that 50+ % of the population find live-coding/collaboration interviews to be a high stress situation while the rest of the interview is not? I think you are conflating your personal feelings with objectivity until I understand why you think a majority of the population is significantly impacted by specifically this technique of interviewing but not others.

Additionally, if you find a whiteboard question to be high stress to the point of not being able to answer, while other candidates are smoothly answering it, demonstrating their chops both as a technical knowledge worker but also as a collaborative and communicative engineer, you bet your ass that's a giant red flag. Why should it not be?

Please see my other answer, just below, for how I think about your response.

Also, omg I cant believe you just used the word 'chops'. It's like a fighter pilot from ww2 just teleported into the chat.

> Is not the inability to think on your feet in a productive way in front of others - especially stakeholders - a gigantic red flag you want to catch?

In my engineers? No. In my sales people? Yes.

I want my newly hired engineers (including of the software variety) to be focused on engineering, not doing half-assed "problem solving" presentations without any preparation or analysis. That's not how problem solving works, and I want my engineers to take their time, model problems, explore different approaches, and find solutions that are well explored, documented, and proved.

Conversely, being able to think/bullshit your way through live presentations without being given a chance to prepare anything is EXACTLY what I want in sales people; that skill is part of the skillset of being charismatic, and that is the skillset of people who do sales.

I wouldn't turn down an engineer who turns out to be good with charisma, and the ability to come up with decent answers on the spot is something I expect senior engineers to grow into after a few years of familiarity with our problem spaces. But I certainly wouldn't select for it, much as I wouldn't select a car mechanic based on how nice their haircut looks.

> not doing half-assed "problem solving" presentations without any preparation or analysis.

> I want my engineers to take their time, model problems, explore different approaches, and find solutions

So, you represent "whiteboard interviews" in bad faith as 'half-assed faux problem solving', and then you state all the things that I personally believe a whiteboard interview shows about an engineer's approach.

Listen, I am sure some roles don't require someone to ever problem solve, and that's fine. But if you think a white-board interview where you get to see someone approach a new problem, vocalize their common approaches, speak about the trade-offs of their approaches, and discuss how they'd implement it is closer to "half-assed" than "modeling problems and exploring different approaches", that's a you problem and not a me problem.

Your haircut strawman is par for the course in this thread.

> In my engineers? No. In my sales people? Yes.

Thank you for this framing, really help me clarify my thoughts around this issue.

Only if we consider technical work a performance art.

Only earlier today I told one of the new starters: can you please not stand behind me while I work. They asked "why?", my response: "because it fucking irritates me".

My work isn't a stage show. If we're actively involved in a skill sharing session together, or conveying meaningful information, that's different entirely.

But I think it's perfectly normal to not want to be the centre of anyone's attention while your doing knowledge / technical work.

> But I think it's perfectly normal to not want to be the centre of anyone's attention while your doing knowledge / technical work

You are indeed involved in a skill-sharing - well, demonstrating - session where you are meant to convey meaningful information about your abilities as a colleague to the audience. Your analogy has therefore directly fallen apart.

Also, I am not really sure what you are getting at with this language, but in general, if I was to have an interviewee who was to state the interview "fucking irritates" them, it would most certainly not be a successful interview.

Taking a good faith chomp at what you've said, representing an interview as "performance art" when it is probably trying to suss out your skills again seems like the kind of lack-of-social-skills that I would love to suss out in an interview. It's not like you are going to be asked to understand and implement a distributed algorithm for the first time in your life, they will take topics that should be at-worst adjacent to your knowledge base and ask you about them.

In an interview, I expect the interviewee, as someone claiming they have the capability to be my colleague, to then demonstrate that we can discuss, reason about, and explore in real-time solutions to problems. If you consider the mere act of collaborating with a colleague "performance art", it most certainly is a bad sign for how well your knowledge base will filter to the team thru any means except them reading your code.

> You are indeed involved in a skill-sharing - well, demonstrating - session where you are meant to convey meaningful information about your abilities as a colleague to the audience.

If you were the manager at an architectural firm, would you have a candidate come in and invite them to design a bridge on a whiteboard? Interestingly, at the age of about 8, I could do this by remembering what the structure looked like; simple memorization. At 12, I competed in a bridge building competition, using balsa wood; I could draw a bridge that used good basic design principles. At 16, I could spend hours drawing a realistic looking design, annotating lengths and angles, design features. I know NOTHING about bridge building. Never have, beyond the basic low hanging fruit that anyone who's taken a basic physics class will be able to derive.

There simply isn't time during an interview to demonstrate a full professional design pipeline in ANY meaningful way. It's simply bullshit. This is why handing out problems to people as they arrive at interviews like some fucked up high school pop quiz makes you and your company look like a fucked up high school, full of pedantic pedagogy.

> Also, I am not really sure what you are getting at with this language, but in general, if I was to have an interviewee who was to state the interview "fucking irritates" them, it would most certainly not be a successful interview.

What an odd response. I would ask them what about the interview "fucking irritated" them, because there might be something terribly stupid about our interview process, and bettering the interview process is extraordinarily important to a business.

> Taking a good faith chomp at what you've said, representing an interview as "performance art" when it is probably trying to suss out your skills again seems like the kind of lack-of-social-skills that I would love to suss out in an interview.

Social skills are a skillset highly valued for a social role at a company, like HR, Sales, Business Development, etc. Engineering skills are highly valued for engineering roles, such as Lead Engineer, Architect, R&D Lead, etc. You don't interview your sales people and hand them a paper asking them to derive the quadratic formula from first principles; that would be idiotic. Some might be able to do it, but then why are you even asking them to do BS that is unimportant for a newly hired sales person.

> to then demonstrate that we can discuss, reason about, and explore in real-time solutions to problems.

This is simply not how most fields in science and engineering work. There are times when it's appropriate and needed to discuss, plan, and share information, but that is a VERY small slice of the pie. Forcing people to discuss, realtime, how they are going about solving a problem of any complexity, speaks to an awful culture saturated with bureaucracy and groupthink. A sit-down chat or planning meeting on occasion is really important, but should gazing play-by-play? Disgusting.

Thinking on your feet on a team is wildly different than thinking on your feet up against an opponent, especially when that opponent is your economic future.
As others have mentioned, live coding an unfamiliar problem on a whiteboard in front of strangers with a job on the line is very different from the typical day to day interactions in most dev jobs. The social skills needed for a sales engineer are different than those needed for a developer.

I would say that being able to understand other people's perspective is more important than comfort in high stress situations with strangers. So if someone didn't have anxiety himself, I would expect him to be able to understand how it affects others when it is explained to him. If he refuses to listen and insists it just lack of social skills on the part of those with anxiety, I would conclude he lacks the social skills necessary to work with a diverse group of people.

So, because some people have anxiety, we should abandon all types of interviewing that look for signal wrt someone's social & communication skills?

I expect anxiety to impact some people, and I expect stupidity to impact a whole lot more. Should I drop the technical interviews, because the stupid people find them extremely stressful? Should I take the assertion of every person with social anxiety that in a job interview they can't perform, but in every other situation a job presents them with they'll be just fine?

I'm sorry, but candidates being able to stand up, think thru a problem, discuss the merits of their solution, and explore the tradespace of other solutions is not a skill just for "sales" people. It's basic collaboration skills.

PS: I used to have heavy social anxiety and impostor syndrome. Those things were terribly unfun, but I openly recognize I frequently caused awkward situations, often failed to speak up when I should've, and was less open to sharing of ideas and code for fear of emotional harm. I spent extensive time to work on my social skills & technical ability, and now I don't feel those things anymore. I am also much more socially capable, open about sharing, willing to speak up in any given situation, and obviously technically stronger from studying.

Please fuck off with speaking down to me. "live coding is very different from the typical day to day interactions". So is the whole fucking interview, which is why I'm waiting for someone to explain to me how whiteboarding is somehow so much more unfairly stressful than all the other parts.

>So, because some people have anxiety, we should abandon all types of interviewing that look for signal wrt someone's social & communication skills?

No we should recognize that some parts of the interview give us false signals. We should improve the process to get better signals.

> Should I take the assertion of every person with social anxiety that in a job interview they can't perform, but in every other situation a job presents them with they'll be just fine?

No. Give me the problem, leave the room. Come back in 45 minutes and let me tell you about how I solved it. Don't make me solve it with you staring over me.

> Please fuck off with speaking down to me.

My first instinct was to say something rude in return. Instead I will ask why you think I am speaking down to you? I didn't downvote you. I did say I don't think you are good at understanding other people's perspectives.

>PS...

I am glad for you. That is awesome. I have worked on my anxiety for a long time. I used to get panic attacks when I had to say "here" during attendance roll call. I am much better than that now. But I still have anxiety and will likely always have it.

>I'm waiting for someone to explain to me how whiteboarding is somehow so much more unfairly stressful than all the other parts.

I can't tell you why it is more stressful, only that it is. So give me the problem, let me solve it in peace, and then let's discuss. You will get a stronger signal that way.

PS: I had very good SAT scores. That is about as an objective technical skill test as you can get. I also tutored teens in Math and Comp Sci. I have worked in teams with fellow engineers, designers, managers, and non technical business people. I know how to communicate with a wide variety of different people. But make me do a whiteboard interview and I will get a panic attack about a third of the time. You will then conclude I am an idiot who can't communicate.

I absolutely hate the interviews that are just an algo challenge and the interviewer is waiting on me to finish to evaluate my solution. I flip out, start thinking that I'm taking too long and it just goes downhill from there.

On the other hand, the questions where I can talk through a problem are by far my favorite. Every problem in our field can be talked about for days. There's just so much to discuss:

- different approaches

- performance considerations

- perceived complexity

- and a hundred tangents I could go on to

In my opinion, it is the interviewer's job to get the candidate to talk. If the candidate can't speak a word out of their mouth, the interviewer failed. When I interview I just want to get you to talk...tell me stories, tell me tangents, tell me the stupid stuff, tell me the smart stuff. Tell me what kind of solutions you prefer and why?

Reading your comment made me think that maybe this isn't the best approach. Maybe some people want me to shut up and just do the hard math problem on their own.

It doesn't seem difficult to msybf ask the candidate, either by phone or email or both, what or how they'd prefer to be interviewed.

Maybe interviewers could offer maybe say five methods or key topics and ask the candidate to choose at least two or three.

Even worse is when you solve the problem in a way they didn't expect or plan on, and they spend the time derailing you off your solution and back to the one they understand.

I had a miserable interview experience once were I gave a tree processing solution in a functional, tail recursive way. They spent the interview sliding me back into a mutable, iterative approach, and it really through me off. Additionally, I don't think they even understood the functional solution. Half the time, it felt like I was needing to guess where they'd like me to go.

And we all know working and software development is nothing like that. At no point in that particular interview was I asked to describe projects I had worked on. When I left, they had no idea what I had even worked on previously because they didn't ask. They just asked a tree question, which someone could look up over an evening or weekend. So pointless.

The scariest part of all this is that people think this is a good way to filter candidates. It shows you that the company is populated by stress tolerant, herd mentality thinkers. I see them as a cross between army grunts and high school nerds. Simple fast logic, drawn to rules and systems, prone to being swayed by appeals to authority. Low sensitivity nervous systems meaning high stress tolerance and low ability to perceive, synthesise and abstract. Working with these guys is like wearing a straight jacket anyway - avoid like the plague. Unless you happen to fit that model, in which case go right ahead, you do you, but please be aware that there are other kinds of human out there who can add value outside of the cookie cutter.
That's an awful lot of insulting generalization you're labeling people with, simply for being able to handle stress better than you. You are also completely overlooking the people for whom stress-handling doesn't come into play because it's not a very stressful situation for them. (This set of people is interesting to me, because it seems plausible that "gets less stressed by being asked about algorithms and system design" might correlate to "has a higher skill level and finds the problems easier and simpler.")

How would you evaluate a candidate's problem solving skills? "Trust me, I can do it, I just can't show you" doesn't seem particularly compelling if I'm looking to hire someone.

And yet here and elsewhere, for the same comment I have more upvotes than downvotes.

Some of what you are saying is accurate, but it's dwarfed by the noise that the different kinds of brains that you interview are producing. One of the most fundamental properties of a brain is it's sensitivity to stimulation. This is how 'activated' it gets by sensory stimulation. A loud annoying sound for one person is barely noticed by another.

People who have reactive nervous systems are introverted, and more easily stressed. It's not a symptom of their upbringing (necessarily, although it can be due to early life trauma, early loss of the mother etc), it's not necessarily about how they think about the ease or difficulty of the interview process - it can merely be from the large amount of information they are perceiving about the emotional and cognitive state of the interviewer.

This sensitivity of the nervous system may not be what you are looking for and that is the nature of the world. But do not be surprised when those you exclude because of a fundamental aspect of their nature react to the exclusion negatively.

Sensitive people have a lot to give. Sensitivity correlates well with openness and openness brings in fresh ideas and new approaches. Openness also correlates with IQ.

The reasoning is that - aside from the studies that you can look up and read - that the sensitive nervous system is more alert to its environment and therefore more creative - as creativity seems to be, in part, the ability to combine environmental perceptions fluidly. In order to be creative you have to perceive a lot and let it sit. This kind of personality also tends to process events more deeply, thoughts spread further and wider. This is bad for straightforward logic, because it creates background noise, but it's great for getting the big picture.

High sensitivity is quite prevalent within the gifted population. You also find a significantly greater proportion of gifted people afflicted with anxiety, which is not surprisingly connected with reactivity - sensitivity. There is a theory of giftedness which describes the phenomena entirely in terms of excitabilities. By excluding the easily excitable from your organisation you are literally excluding the gifted. I am - if the raven matrices you can find inline are to be believed at the bottom end of gifted. And yet I can appear to be an idiot if run through the standard white board process. I deal with it using pregabalin which deadens the nervous system enough to remain functional during an interview. But I do contract work these days and dont have to jump through hoops anymore.

So by only including individuals like yourself you are excluding sources of creativity, you are limiting yourself to a particular kind of person and by extension limiting the kinds of thoughts and approaches your organisation can have.

It's similar and indeed perhaps intertwined with the exclusion that minorities of all kinds find within the workplace dominated by the kind of culture that sees whiteboard interviews as a good thing.

We want you to think out loud. It's a different skillset but an important one when solving a problem in a group. You might be formulating an idea in your head, but if you say it out loud, even an incomplete or "wrong" thought might be useful to someone else in a real world situation, as it might trigger an insight for them.
Yes, it is generally a good thing to be able to communicate while you're working on a problem within a group.

But rarely does someone get posed a difficult technical design question on the job and on the spot where they've had little or no opportunity to think about it ahead of time. Usually there is a ton of contextual knowledge leading up to those group discussions vs. being asked a question in an interview and then be expected to perform at that same level.

Or where the stakes are so high, resulting in this level of terror and paralysis in such a high percentage of candidates. I get the goal and why it is appealing, but in the end these tactics are not useful and are inhumane.
It depends on the role. I've always worked in sysadmin/devops, so a lot of programming is under duress of an outage. Even for the "regular engineers", I need to know that they can fix a production bug in real time, or at least figure out what to roll back.

And even for the non-duress situation, there are plenty of situations during normal work where a senior engineer will have to jump in and contribute to a problem they've never seen before.

Really?

I prefer myself and my coworkers to pause and think for a few minutes if needed and come up with a coherent idea.

Gibberish doesn’t really trigger any insight to me, if not distracting. Well reasoned thoughts and coherent sentences do.

Working through a problem out loud is definitely a bit of a different skill from just solving a complex problem on your own. I do find that saying something along the lines of "OK now I just need a minute to think through this next part" goes over well enough and can give you a minute to relax and think though.
I think the issue is "a minute." You still feel pressured to get moving and keep talking, even if it buys you a little time. My favorite part of the job is whiteboarding with colleagues, but in an interview there is something that feels inherently adversarial about it. This isn't necessarily the fault of the interviewer either, it's just sort of baked into the format. There's a natural power discrepancy: the interviewer makes the final call, and they selected the problem to begin with, which means you can't possibly be on equal footing. That imbalance means you spend the whole time on the back foot. I'm not sure there's a better format available, but that's definitely an unnatural environment and can lead people including me to perform much differently than they do in a normal work environment. Unfortunately it may be the best we can do.
I think the better format is to have the interviewee talk through a complex problem that they have already solved, whether it's a side project, a work project they can talk about, or whatever. It balances out the power imbalance, and it showcases how well the interviewee can explain and talk through problems, design decisions, what they learned, what worked, what didn't, etc. through a problem they are already familiar with.

These whiteboarding interviews where the interviewers pose some random question does nothing for either party.

I really like that approach. The tradeoff is that you're asking someone to spend a non-trivial amount of personal time prepping and it opens the door a bit more to BS'ing and just memorizing Stackoverflow or whatever. But presumably your interviewers are skilled enough to sniff that out. I personally feel that would be a better way to showcase my abilities.
The absolute worst is when interviewers keep interrupting the candidate. It shows a complete lack of empathy and it shows that the interviewer wants the interviewee to answer the way the interviewer thinks it should be answered.

I am very mindful of this when I interview and I think it’s my job as the interviewer to strain myself to try to understand the interviewee, not the other way around. I quietly try to understand my interviewee and don’t interrupt unless there’s a real reason since I want her to think freely and not feel stressed.

I've been on both ends of this exchange. I always gave candidates time to work through it without interruption when I was the interviewer. This didn't prevent the worst cases of nerves, of course, but hopefully I didn't make it unnecessarily worse.

Conversely, how they treat me as I go through the process is a great way to judge the engineering culture of the org. If the interviewer feels license to cut me off, jump in, correct me on syntax as I'm still writing, or just generally sprays frustration, it's a high-confidence signal that I'll get the same treatment as a new coworker, and I have ended interviews accordingly.

My least favorite is "let's implement something that's really easy to implement if you've spent time thinking about it or working with it before", except you don't get the time to think about it and you're judged poorly for providing anything other than the "obvious" optimal solution.
Yeah, I have encountered this myself in the past as well -- a subject matter expert that has worked in the domain for a decade and asks you about how to solve problems in their domain (while the actual position is a generalist one).

Luckily, I was able to remedy this a little bit by brushing up on common system architectures used by companies that I was interviewing with.

> My least favourite interview technique has to be "talk me through a complex problem on a whiteboard".

Let's say an interviewer reads your resume and is interested in a project. The interviewer comes to the interview prepared with some questions. They ask you to start with a high level summary of the project. Then, ask you - "What choices did you have to make during the project?". Then, ask you some specific questions about these choices. In each of these questions, the interviewer is not supposed to "evaluate your answer" but rather gain an understanding of your project and choices to be made. At the end of the interview, the interviewer would walk away with two things - (1) a clear picture of the project almost as good as the interviewee and (2) a clear picture of the design decisions the interviewee made (options they had and why they chose one over the other).

The above interview is a conversation and you are allowed to be silent. The process will be communicated to you upfront. In fact, silence is encouraged because the interviewer would much rather give you time to think over a spur of the moment answer.

I would love, as an interviewer, to be able to do this style of interview every time.

It's astonishing how often you get nothing useful as an answer. Things like "my boss suggested it" as the reason for choices being made, or "not really" when asked about alternatives considered, or problems they ran into...

The hypothetical project whiteboard interview gives people who haven't done sufficiently interesting past projects and opportunity to show that they can think about them, at least...

> Let's say an interviewer reads your resume and is interested in a project.

That's not what they were talking about. The complex problem is supposed to be novel to the interviewee.

> In fact, silence is encouraged because the interviewer would much rather give you time to think over a spur of the moment answer.

Yes, they certainly say that. But for a normal person trying to figure out a novel problem, ignoring everything that's going on and sitting there silent for 30 seconds or longer while the person who single-handedly can determine whether you pass or fail - often depending on their mood - stares at you is incredibly difficult. And if their mood isn't good, they absolutely see the silence as not knowing the answer and push for you to move on. I had it happen to me on a Facebook interview. I personally can't concentrate enough to think through a difficult, multi-layered problem in that situation. It is in no way reflective of what I can do while working.

Online coding tests are more than sufficient. And a discussion afterwards about said tests is sufficient to make sure there was no cheating.

This is of course a great way to interview, when you're only concerned about assessing competence. It seems to me, however, that assessing competence is one of several concerns that the interviewer is expected to balance.

In particular, HR is expected to structure the hiring process in such a way as to avoid accusations of bias. In order to achieve this, they are expected to come up with precise criteria for hiring, which is at odds with anything vaguely qualitative or holistic, let alone ecological.

The result is that we strictly rank-order candidates using hard measures. In doing so we sacrifice the ecological validity of the test.

Those are great, I'm more talking about a complex problem you're given and have to whiteboard the solution while making sure not to be silent for too long or you'll interrupted or given a hint.
I was offering an alternative to the novel problem on the spot. I’m glad you like this procedure better : )
If you work at a company where 90% of your developer interactions are, let's go to a whiteboard and hash it out, it kind of is the most job-relevant interview question you can ask outside of writing code.
Am I the only one that prefers white boarding over 8 hr "take home". I refuse to work with any company that thinks that I should invest 8 hrs in unpaid work while they invest 20 mins of their time reviewing my take home.