For example, every time I submit a question to stackoverflow.com, the user interface prompts me a lot of similar questions. How is this implemented? Are there any well-written algorithms about this?
They use the full-text search function in MSSQLServer
http://highscalability.com/stack-overflow-architecture
SQL Server full-text search is widely used to search for a site and discover if a question has already been asked. Lucene.net is considered an attractive alternative.
I think they talk about him in one of the podcasts too?
I actually have all the source code for StackOverflow right here. This is pretty easy to understand:
class StackOverflow { static void Main(string[] args) { JonSkeet(); } }