Recently, I've seen a massive increase in interview questions that seem to mirror leetcode.com and similar websites.
A lot of my colleagues, mostly senior, feel these types of interview questions are wasteful because anyone who spends a week reading over leetcode.com can memorize most of the questions/answers.
What's your perspective? Are you a big DSA (Data Structures and Algorithms) Interviewer or are you more of "Ask various questions to see how naturally intelligent are they?"
Our Java phone screen is really short:
1. Explain the difference between `public`, `private`, and `protected`
2. What does `static` mean?
3. What's the difference between a `List`, `Set`, and `Map`?
This takes about ten minutes. Anyone that can answer these three questions and doesn't present as a raging asshole gets an in-person (or skype) interview.
The in-person is a live coding session. The candidate can use their own laptop, or we will provide them one. The test is contained in a github repo, and consists of a couple dozen unit-tested challenges. We pick and chose which challenges to give them based on their experience.
The challenges range from "Write `Hello, World!` to the console" all the way to "Implement the QuickSort algorithm". The candidate is encouraged to use Google, and we link them to the Wikipedia page for any algorithm we're asking them to implement. This part of the interview takes one to two hours.
This process has essentially eliminated bad hires; nobody that we've hired using this process has turned out to be a dud or a jerk. I still wonder if we're passing on candidates that would be good if tested in another manner, but right now I have no idea how to correct for that, or even what I would be correcting for.