Showing posts with label Sunrise. Show all posts
Showing posts with label Sunrise. Show all posts
Usually, I'll whiteboard the question and we'll spend a moment talking about possible approaches. But the goal is to get the candidate to start writing code quickly so we can get to a solution.
We've all been faced with the terrible, knowledge-based, "I could look that up in 1 minute but I don't have a computer" question. Worse are the gotcha questions that you wouldn't be able to solve unless you happen upon a moment of brilliant insight. The questions I ask aim to avoid that.
Good questions are fun and engaging for candidates. Good questions also always have a path forward. If the candidate is stuck, I should be able to give a hint that allows them to get unstuck but that doesn't give everything away.
I like to arrive at some running code that solves at least a subset of the problem at the end of every interview. If my question just wasn't going well with a candidate, getting something running keeps them from spiraling down a mental failure vortex, and allows them to relax and focus on the next interview.
Preparing to Ask a Question
A lot of work happens before you ever see a particular interview question. First, I myself have probably solved it in one or two possible ways. The first time I solve it, I try to give myself the same constraints a candidate would have -- limited time, no previous knowledge, no specific preparation.
Next, if I'm the one who came up with the question, I will ask it to a few of my coworkers to get a basic calibration. If someone else came up with the question, then I have probably sat in on (shadowed) a few interviews where the question was asked.
By the time I ask you, I am familiar enough to quickly know the various dead ends and blind alleys that you can fall into. I know of a few ways to steer you towards something that would work. Finally, I know how people of various experience and skill levels usually perform. I know enough to be amazed at your quick and clean approach. Alternatively, I've seen how good whiteboarding goes bad and results in spaghetti code that's impossible to debug.