In recent times I've been fortunate enough to be the one conducting interviews instead of the one being interviewed. It's been an eye-opening experience. The first few times I was very nervous in case I asked a wrong/stupid question. I wouldn't want to put someone off or give a bad impression of the company.
Without wanting to sound conceited or pompous, I have been absolutely astounded at the apparent lack of ability of some candidates.
Put it this way: I'm completely self taught. I have spoken to people who are claiming to have developed software for nearly 20 years in some cases and make a big song and dance about all the hardware they've programmed for, and all the fancy IDEs, static analysis tools, industry standards they've followed etc. and about their wonderful C and C++ skills.
But what really beats me is how anyone can have been coding for longer than a fortnight and not know what an array is, or to have been doing C++ for 15 years and not know about parameterised types.