I conduct interviews with candidates almost every other day.
Believe me, interviewing is a huge cost for the company and nobody wants to organize interview to "fish" for the candidates.
We have screening process to remove candidates that don't have chance passing next stage so that we can spend more time with candidates that pass screening.
It is really difficult to figure out if you want to work with somebody after 1.5-2h discussion.
For 2 hour interview I must fit following things:
* Spend 5 minutes getting everything to order, bringing water, solving connection problems etc.
* Spend couple minutes introducing myself, who we are and what we are doing
* Spend couple more minutes trying to calm the candidate, break the tension. People react very differently to stressful situation and we would really want to get the candidate little bit more calm to level the field (we don't want just the people that deal well with stress).
* Ask couple technical questions from various areas. I can understate how difficult is to gauge candidates knowledge and experience from 30m of technical questions
* Give a coding task. I can't tell how many time we had a candidate that was able to answer questions quite well but was unable to organize process to write simple piece of code. It is when the candidate is solving the task when we learn for example if the candidate can react to hints or how it feels to have a discussion on a technical problem. This typically takes 0,5h to 1h
* Have a discussion on the candidate experience, past projects, what was his/her involvement, etc.
* Let the candidate ask his/her own question about our project.
* Spend couple of minutes to close the discussion on a good tone regardless of how the candidate fared.
Our HR does not like us to extend the discussion over 2h supposedly because it "scares" candidates but you have to understand, it is very difficult to do all of this and get to know the candidate in such a short time. I can totally understand somebody wanting to spend couple more hours with a candidate that shows really good promise.
Hiring a bad employee is a huge cost and totally worth spending couple more hours trying to ensure this person does not have "dealbreaking" faults.
You would not believe what kind of things I met in my past. Candidates who passed technical questions really well just to start googling solution to our coding task? Candidates we give the same critical hint 5 times and each time he/she tells me that's not right and dismissed to go continue with his/her faulty line of reasoning?