I find that most programmers who are only self taught are missing breadth. They're great with what they encountered and had to try, but usually suck at even knowing of the existence of what lies just beyond the edge.
Or at least the ones I've had the pleasure of talking to :)
That is one area where the internet could use improvement.
Google can teach you anything... if you know what you're looking for; but there doesn't seem to be a good system for exploration beyond that. If you follow the right discussion/link services and keep a general watchful eye out, the stuff out beyond the edge will eventually flow to you, but there is certainly room for improvement.
I believe it is a solvable problem and the company that gets it right will have amazing growth potential.
http://en.wikipedia.org/wiki/List_of_algorithms
You can also look up what textbooks are used at major universities, then look up their tables of contents on Amazon or Google Books.
In general, one nice thing about hiring CS students as opposed to purely self-taught programmers is that, in my experience, they're more likely to have a good understanding algorithms and data structures. Self-taught coders often only learn as much as they think they need to know about the topic to complete the task in front of them. (Obviously, for those interested, it's as straightforward to teach yourself analysis of algorithms as any other topic.) For some types of programming positions, having a rigorous background in this area is crucial, though in others not so much.