I am not talking about Leetcode-level questions that expect that the interviewee will spend ten to twenty minutes whiteboarding a complex algorithm, but a quick question that shows whether it's worth talking with the candidate at all.
I never ask that kind of question because the candidate's ability to solve silly FizzBuzz-style problems tells nothing about their fitness to the jobs I hire for.
Knowing that they can is useless because a) their job is never going to involve solving FizzBuzz or 99 bottles of beer, and b) it is not indicative of anything useful.
Knowing that they can't is equally useless… and for the same reasons.
It tests whether you can write a simple loop with a couple of ifs - not being able to do it is definitely an indicator that you won't be able to complete more advanced programming tasks. And pretty much any other programming task is more advanced.
Before you do a technical interview, you send them a website and ask them to write that FizzBuzz equivalent for you, or if you want to be seen to be nice, schedule a 30 minute interview with them and ask the FizzBuzz thing.
It doesn't have to be asked during the full technical interview stage.
1) By looking at the resume I chose a prominent project they claim to have worked on, or for interns / recent grads ask them for about a major project: Please describe in detail what you did on this and what unique challenges? Looking for details and passion about working late to find some obscure problem, or the joy of completion. Trying to avoid the person who just added something that they attended meetings on or similar light contribution.
2) "so you know what a binary tree is?"
answer "oh yes it is a ...".
"Good, you know about balanced trees?"
answer "oh yes ..."
"and a b tree?"
Answer "yes"
"What is the difference?"
?
The answer I was looking for is: "I do not know".
Ideally followed with "but I know where to get the answer"
Ideally followed with the explanation, in their own words in the 'Thank you letter'
Demonstrates Honesty before Ego / Fake it till you make it etc
Thinking (but I know where)
Follow through - with thank you letter.
Anything they answer I would write down, because I could never remember the correct answer.
I have not done interviewing for a while as my job is different now.
Funny enough, I would fail your interview. But not because I don't know how to solve the problem, but because I don't know how to solve the problem without Google and/or documentation. My struggle is: I can come up with some working solution by myself, but I always know that my solution is "not the best", so after "solution v1 made entirely by myself", I jump into Google and find out what's "the best way to solve my little problem". After a few iterations, I come up with "solution v4 by myself and the help of the internet" which turns out to be way better than v1.
My v1 would not pass your interview. My v4 would be a world-class solution. Fair enough, you are not looking for my v4, and rightfully so I should fail your interview (because I bet there be some people out there who can produce world-class solutions without relying on external sources)
We use similar questions with the exception of #6 - our data sets are small enough that just getting a correct query is fine. We add a small relational design exercise to see if they understand data modeling 1-to-N and M-N relationships.
Totally curious - what is your fail rate like for applicants at the first stage for the window function? We are happy with more junior engineers who usually haven't used a window function but can currently do simple queries and an easy candidate to move forward with will come up with a group by subquery . . .
I'm guessing that 2/3 to 3/4 of our in-person interview candidates look (on paper) like they could handle simple queries and grouping but struggle in the interview context.
I am currently interviewing junior engineers (recent graduates with little experience) and among them about 50% say, "oh, I know this has something to do with window functions", but I usually warn them it can be solved without them. About two thirds of this group the solve it via a subquery vs about one third of the other group. Practically no one so junior can do it via a window function.
* coding-questions are mostly meaningless crap and nobody should rely on them
and more generally
* there is no "single & quick" solution for assessing the quality / abilities of a person
you have to come up with your own solution to determine if someone fits your needs ...
with experience in talking to people, someone gets a feeling / grasp of correlations who makes a good candidate and who wouldn't.
and you develop your own lets call them "signaling questions" on selected topics based the needs and on the feedback you get from your specialist-teams/-departments and colleagues.
but you have to seriously work on that!! ;)
just my 0.02€
ps. o.T here, but the same is true for applicants in assessing the quality of companies where they are applying for positions/projects... just saying ;))