The two times I applied at Google after being recommended by friends already in charge went quite badly. The recrutor asked for my CV thrice the first time (rejecting my application between each request, until I stopped answering), and the second time I had to wait three weeks between the first coding interview and the actual results. Apparently, my hiring manager took some vacations, and her replacement had no idea about my file.
I applied only once at Facebook, and the whole process was a bliss. Constant flow of communication with my recruiter, very interesting interviews, and a relatively short time between the start of the process and the final result. It was really weird to see such a big difference between two big tech companies.