Status: Senior iOS 9 years of experience, BS. Computer Engineer Position: E5 at Meta (iOS) Location: London, UK Date: March
I won't give all info to fulfill my NDA
Interview process: Phone interview:
Quick and easy question about iOS: It is usually something related to core iOS concepts, if you are familiar with mobile development/ iOS it would be easy for you, it is very quick and I believe it took arround 2 minutes, as soon as the interview noticed that I had the knowledge about the topic he asked me to stop and that was enough.
Alg coding challenge: If you want the job, just listen, pay premium and go through facebook questions. Simple as that. They gave me one question, and I mentioned that I have seen the question previously (I did a round of interviews at Facebook while back). Then he moved to another question and it was a very basic tree question, didn't took me longer than 10 minutes to explain and code the question.
iOS specific coding challenge (something that you face on your day to day): I'm not sure if this is something new or not, as I didn't had it before. The question is something that you face normaly at your day to day, so be prepared to awnser some questions because I believe he doesn't care about how you solve the issue, it was like arround 5-10 lines of code to solve, but he wants to know if you going to avoid most of the normal iOS issues, example: Threading, crash, optionals... something very very basic
The interview started arround 5 minutes late due some connectivity issues but ended with almost 10 minutes + 5 minutes (conversation) spare time. If you do a little study you'll nail this interview it is very very basic.
Onsite interview: The format is known by everyone, 1 behaviour, 1 SD, 2 coding.
System design: What I love about Meta is that their system design is mobile based, I've not done other companies and I found very bad for me to go through a backend SD while I've never done a backend SD in my life, I feel artificial and I don't think it is a good evaluation of your skills. Do quick features on apps that you enjoy, how would you handle cache, storage, arch patterns, modularization, how to implement specific things, trade offs. If you have done any app from the ground you'll do good here, although I've not went through all screens from the app that they wanted me to go it was good, I had mixed idea of how I was in this meeting (this meeting is good if you do mock interviews, but I didn't had any friend trying to do the interview so I mocked myself.
Follow the cliche stuff: Questions, and gathering details. High level design just put out the modules Zoom into the modules.
In my case I had an app with 4 screens so I create module for each, some screens had similar components so told then and skipped it for the sake of time. I still don't know how to better be prepare for this one, it is basically you experience being evaludated.
All, you guys will be fine, just be ready and if you don't get the job now, it was a good experience and you'll got it later. I did the back in (Google, Amazon and Facebook) and at the time I felt like working on Facebook would be more enjoyable, I've liked the folks from Meta and the culture more than I had with the other companies. This time I focused it more on Facebook although I have some interviews for Amazon, Apple and Google coming on following weeks.
Cheers!