My interview experience with a US company (part 4)

[Continue from part 3]

One week later, I still hadn’t received my interview result. I sent the recruiter an email asking about it. She said she was busy these days and would like to schedule another call with me to talk about the result.

During the call, she said that the engineering manager really liked my performance and thought I would be a potential candidate. She congratulated me on passing the technical phone screen and now proceeding to the onsite interviews.

She then introduced me to another recruiter in Menlo Park (Facebook headquarter) who would guide me through the logistic process of an onsite interview.

“If you have any questions, please feel free to ask me anytime. But from now on, you will be working with a recruiter in Menlo Park. Good luck on your next onsite interview”, she said.

We said goodbye to each other and ended the call.

“So now I will work with another recruiter from the headquarter. Sounds interesting.”, I thought.

The next day, I got a Skype call from the Menlo Park recruiter. She introduced herself and started to explain the onsite process.

“Normally, Facebook would fly the candidate all the way to the headquarter in the US for an interview. But as we can see from the past experience, some candidates did not perform really well in the US due to the jet lag problem. We want to avoid this as much as possible because we would prefer the candidate to be at his/her best state.

Fortunately, this year, we are also organizing our onsite interviews in Hong Kong and Singapore, and only for Asian candidates. You can choose either Hong Kong, Singapore or even the US (if you’re okay with the jet lag). We will arrange your flights and accommodation. And I forgot to tell, if you choose Hong Kong or Singapore, the interview will take place on February. If you choose the US, we can fly you over anytime.”, she spoke with a deliberate slow speed.

Even though I always wanted to visit the Facebook headquarter once in my life, it may not worth the risk because I hadn’t experienced a jet lag before so I was not confident that I could handle it. Moreover, I would need more time to prepare for the onsite interviews, around 2 months from that point until February.

So I chose to interview in Singapore.

“Alright, I will schedule an interview for you at the Facebook Singapore office on February. For your flights and accommodation, our vendor will reach out to you on January and arrange accordingly. Besides, I will also send you an email on how to best prepare for a Facebook onsite interview shortly”, she said.

Then I said thanks and we hang up.

She did send me an email a few hours later. There was an attached pdf file with the title “iOS Onsite Prep”. I opened and read it word-by-word. Here’s the summary of that document:

The onsite interview consists of four 45-minute one-on-one interviews with Facebook iOS engineers and managers.

  • Coding/Algorithms interviews:
    • Number of interviews: 2.
    • Length of interviews: 45 minutes.
    • Similar to the technical phone screen, but with some additional questions related to iOS platform knowledge.
    • Expect you to write code on a whiteboard.
  • Architecture design interview:
    • Number of interviews: 1.
    • Length of interviews: 45 minutes.
    • You will be given one question which will consume the entire interview which is focused on designing a complex application or library. Example: How would you build a photo sharing app with a billion users?
    • Expect you to write on a whiteboard. You can draw diagrams, some class interfaces or anything that can present your points.
    • Communication is key.
      • You will drive the conversation.
      • You can ask clarifying follow-up questions.
      • Be comfortable discussing constraints and tradeoffs of complex systems.
    • There’s no correct answer. So be creative, but remember to explain your thought process out loud.
    • Some topics:
      • iOS SDK.
      • Views, Layout, and Animation.
      • Concurrency (GCD, threads, deadlock, starvation, consistency, coherence).
      • Networking.
      • Coupling, Software Design, and Handling Complexity.
      • Abstraction (including how OS, filesystem, and database work).
      • Real-world performance (Graphics, Interaction, RAM, Disk, Network).
      • Durability and Reliability (Understanding how things can fail).
      • Data storage (Memory vs. Persisted, State management).
  • Career & Culture interview (and Code):
    • Number of interviews: 1.
    • Length of interview: 1 hour.
    • Interview with an engineering manager.
    • Has 2 parts: a conversation and coding.
    • Mostly discuss about your your technical background, career experience, what you’re looking for at Facebook, and why you may fit in better at Facebook vs other companies.
    • Ask questions. You should be getting to know the company just as much as they get to know you.
    • Some topics:
      • Explain some of the work you’ve been doing in the past few years.
      • What are you most passionate about? Talk about a project you’ve done where you were at your best.
      • Explain a recent exceptionally difficult challenge. How did you overcome it? What did you learn?
      • Why are you interested in Facebook? How do you foresee your impact here?
    • The coding part will be similar to the other coding rounds.

And a bunch of links:

“Wow, a lot more things to read and learn. Interesting.”, I thought.

I adjusted my study plan a little bit.

  • Spent time to read all the above documents.
  • Instead of coding on a computer, I bought an actual whiteboard at home and practiced writing code on it. I talked out loud as I wrote.
  • Sometimes, I tried to solve a “Hard” problem on Leetcode, which took me 1-2 days to get it right.
  • I practiced a few system design questions, but not much since I had no idea what an ideal answer looked like.
  • I looked back on my work experience and prepared answers for some behaviour questions.

Two months quickly passed, I flew to Singapore and was ready to tackle the last challenge.

[To be continued]

Subscribe to my blog

If you think my blog is helpful, don't forget to subscribe to receive an email notification whenever there is a new post.

Related Posts

My interview experience with a US company (part 5)

My interview experience with a US company (part 3)