Interviews shouldn’t be hard
A lot of people will say that company
Interviews should first and foremost provide you good signals on whether the candidate would do well in your company. From there how hard the question is likely not important – most of us software engineers don’t do rocket science in the first place, so whether the candidate does well doesn’t provide a useful signal. For example a candidate who knows the mathematical trick to your problem (e.g. finding the repeated digit in an unsorted list of incremental numbers in linear time and constant memory) may not do better in a real job than someone who never ran into these kinds of trick questions.
I would actually go a bit further and say that hard questions result in a negative impact. Not only you don’t get a good signal about the candidate, you provide a negative signal about yourself, your team and the company. You will sound arrogant, abusive and toxic. Remember that an interview is as much an interview of the candidate as it is of the interviewee – I personally stopped some job applications because the interviewers were jerks.
Interviews can be stressful experiences and I personally always try to put the candidate at ease – that’s why I always start my interviews with a quick intro, I always tell them to not fret on typos/missing colons/etc. and not worry about how pretty their diagram is. Similarly, I ask simple problems and this actually allows me to get the best possible signals about the candidate on a variety of topics. I genuinely hope that every candidate I have interviewed found the experience pleasant regardless of the outcome.
What terrible interview questions did you get?