I'd like to know how you think (or know) it is that Facebook produces the "people you might like" or "suggested friends" on each user's page. This is really an algorithm question, not a Facebook question, but social networking is probably the most visible and well understood example which is why I referenced this for for my question.
For me it is a curious question of efficiency. I understand how one might accomplish this for a single user; basically finding the users that are friends with the highest number of your current friends but not you. However, this does not strike me as very fast or efficient a process, and it must be done for around about a billion users.
This leads me to believe that the process is run only on a user's login, but I still wonder what kind of algorithm is actually used to find these "suggested friends". What would be an efficient way of executing a "suggestion algorithm" like this on a large scale?