All interviewers are very kind. It doesn't matter to make small mistakes during interview, interviewers are willing to give some hints to help you correct it. It is always good not to stuck at some point.
I got my first interview from TopCoder, that was a in person interview, one algorithm question in 3 different difficulty levels.
I waited for 2 months to get my second interview, it was a 45-min phone interview, 2 algorithm questions. It took about 30 mins to finish the coding phase, then I asked some questions about FB culture and backend engineering team.
Then the Christmas came, I got feedback of 2nd interview in early January, which is positive, so they decided to flew me to Menlo Park for onsite interview. The process was quick, they pay for the flight and hotel.
There were 5 rounds of onsite interviews:
- 2 coding interviews, both were testing how quick and accurate interviewee can solve the problem. Problem is not very difficult, some can be found at glassdoor here.
- 1 backend system design, interview asked me to explain one of the backend systems I designed. During the interview, he raised a lot of questions about the system, mostly about scalability, reliability and performance.
- 1 client side system design, asked to design a client side component.
- 1 half-behavior and half-coding interview
It was pleasant experience to interview with Facebook:-)