The application, phone screen stuff is the usual. They are available on other channels (Glassdoor, blogs ...). In this blog post, I will only tell about the things that specific to my onsite interviews, the things that I could have done better.


  • I interviewed with Google Sydney in Nov 2017 and Facebook Singapore in Dec 2017.
  • both for android engineer positions
  • I failed both.

My preparation

  • 6.006 course from MIT on YouTube, about twice for each lecture.
  • CodeJam 2017, could not get to round 2
  • KickStart 2017, best rank is 239 on round C
  • Hackerrank and LeetCode, about 200 problems, only a few hard problems.
  • CTCI, did most of the problems, only a couple problems on the hard section.

The onsite

My onsite with google consists of 5 coding interviews on a single day. They are heavy on algorithms and DS. They asked questions that are about the hard difficulty on LeetCode. Usually, it will start with kind of a warmup question (medium difficulty) then it got more difficult as I solved them.

Facebook asks not only coding but also system design, behavior questions. The questions are relatively easier. I did give correct solutions, but that is not enough. I should have shown how did I arrive at the solution. My recruiter suggests me to work on Algo and DS. So I guess that was the reason for rejection.

####### Why I could have done better:

I'll try again in 2018.