CS programs aren't designed to turn out programmers.
I interviewed a guy once whose list of data structures was "bit, nybble, byte, float, char, int". As I recall, he didn't have a CS degree, and had over a decade of experience in the field. He did not get the job.
The fact that he didn't rhyme off data structures to your question alone doesn't mean he is unfamiliar with them. He may just use a different naming convention and calls them whirligigs instead.
There is something to be said about using a common nomenclature, and I understand why you might be hesitant to hire someone who isn't speaking the same language as the rest of your team, but underneath he could still be an algorithms genius.
Sorry but a decade of experience is not allit is cracked up to be. Neither is college or determination or raw intelligence. People have good careers lacking one or two of those and if I had to choose college would be the one I could live without the easiest.
But Plato, Newton or Feynman show that a perfect hand can lead you to big things