Interviews at FAANG v. Unicorns v. Big N

Hackerman Carl
6 min readMar 1, 2020

The following represents my personal experience this hiring season for internships with FAANG, Unicorn, and other Big N companies. All the provided descriptions and data reflect the offers and experiences I have had and others may have varying experiences. Also for context, the term Leetcode mentioned in this blog refers to the algorithm learning platform (https://leetcode.com).

Interviews at FAANG

FAANG (Facebook, Amazon, Apple, Netflix (though they only hire senior devs), and Google) + Microsoft (including Microsoft in here since their salary and interview process are the same)

Coding Challenge

Coding challenges are generally pretty straight forward leetcode questions at around medium difficulty. A wide range of topics were covered including string/array manipulation, Trees, recursion and algorithms like BFS/DFS.

Amazon was the only one that included a debugging section, where I had to debug incorrect code to pass the given test cases.

Technical Interview

The technical interviews are usually the most stressful part of the process. I was stressed at the fact that I didn’t know what could come up, so I had grinded around 80 leetcode questions before I felt comfortable answering most interview questions. Fortunately, there were no leetcode hards given to me, and the most was a medium-ish-hard DFS question.

I was given an online text editor (Google Docs or an in-house coding platform) to solve the questions.

Here is what a technical interview looks like for most tech companies:

(2 mins) Interviews start with me introducing myself and giving my elevator pitch, explaining my career path whilst highlighting what stack I have used and what I have accomplished.

(3 mins) Explaining challenge and asking questions

(30 mins) Solving the coding challenge

(10 mins) Asking questions for the interviewer

There was a strong focus on implementing algorithms cleverly and not a lot of data structures. The only data structures I needed, for all the interviews, were Arrays and HashMaps.

Behavioral Interview

Each company generally has its company values, Google’s Googleyness, Amazon’s Leadership Principles, etc. I was expected to be able to integrate these values into responses for questions like “Explain how you resolved a conflict with a teammate/colleague”, “Describe a time when you failed”, “Tell me about a time when you persisted through a difficult challenge”, etc.

Before the interview, I would spend lots of time reading through each core value, and try to understand the reasoning behind each value. I would question myself why should decisions be data-driven? It makes sense, but how should I convey my understanding to the interviewer?

The day before the interview, I would try to go through my previous experiences and think of what qualities a particular incident showed. If I led a team of interns, how would I tie that back into the companies’ core values?

Onsite (Microsoft)

Microsoft flew me out to Seattle for 3 days 2 nights, for an in-person interview. It was an amazing experience where food, travel, hotels were all paid for and made me appreciate how well they were treating me.

The onsite is only around 3 hours long. When I first arrived, I got to talk and socialize with the other interviewees in the Microsoft HQ. Then we were brought to lunch at their campus food court with a diverse range of choices for food. (Maybe I’ll make a blog post about it in the future…) With about 2 hours remaining, we headed back to the lobby and waited for an interviewer to come to call my name.

There were 2 interviews back to back, 45 mins each, with a 15-minute break at the end. In my experience, both interviews tested technical questions and were mainly leetcode easy-medium-ish in difficulty. I was required to speak my thoughts while solving the questions and write the code out on a whiteboard. The key was to ask appropriate questions at the beginning (i.e restrict the inputs for the function) and communicate all my thoughts while writing out the code clearly.

Compensation

The compensation is definitely top-tier and is amongst the highest paying internships.

  • US: 9000 ~ 10000/Month USD (including housing stipend)
  • CAD: ~9000 /Month CAD (including housing stipend)

Interviews at Unicorns

Unicorns (billion-dollar startups)

Coding Challenge

The coding challenges I’ve been getting at Unicorns have been very difficult, even more so compared to FAANG coding challenges. They were much more lengthy, similar to HackerRank rather than Leetcode, where understanding the problem takes up most of the time. There was even a HackerRank I received where I was absolutely destroyed, and I couldn’t even do half the questions as I couldn’t even understand what they were asking for.

Technical Interview

The technical interviews included leetcode medium questions but there was a heavier focus on understanding and implementing CS fundamentals. For example, I required knowledge on implementing a custom MergeSort. I also needed to know the differences between data structures, and the pros and cons of each.

Some questions were even based on my resume. I mentioned I got familiar with Git in my previous job, then the follow-up question was how it works and what’s the difference between merge and rebase.

Overall, the questions I got required a deeper understanding of computer science and frameworks that I mentioned on my resume.

Behavioral Interview

Behavioral questions were very straight forward and just seemed to be like a casual chat. It seemed more like a check on whether my interviewers would get along with me, rather than a test on my understanding of the companies’ values.

Compensation

The compensation is similar to FAANG but sometimes slightly lower.

  • US: 8000~ /Month USD
  • CAD: ~ 7500/Month CAD

Interviews at Big N

Big N in this blog refers to any Big Name company, not including FAANG and Unicorns for comparison purposes. This ranges from big names in the financial sector like American Express and Captial One to large tech companies like IBM and Intel.

Coding Challenge

They’re generally pretty easy, I have only received leetcode easy/easy-mediums so far. I’ve only really seen basic string/array manipulation where the hardest algorithm is Sliding Window.

Technical Interview

There seemed to be two types of questions asked: Leetcode questions and CS theory.

Leetcode

The leetcode questions I got were pretty easy, not too different from the coding challenges. They assume slightly more knowledge sometimes like Tree traversal and BFS, but it normally isn’t anything too hard.

CS Theory

The theory questions were a bit difficult sometimes as the questions are really specific. An example would be questions typically seen in a data structure course like: How does a HashMap work and prevent collisions? How would you create one from scratch? How do you traverse through a LinkedList recursively?

The difficult part for me personally wasn’t recalling what I learned in my lectures, but quickly recalling it and then explaining it clearly and concisely.

Behavioral Interview

The behavioral questions were also quite simple and was based on my resume. Imagine vague questions like what is my experience with a tech stack and why I am interested in joining the company.

Compensation

The compensation is unfortunately much lower than the other two, however still competitive with the market rate.

  • US: 5500~ /Month USD (including housing stipend)
  • CAD: 4000 ~ 5000/Month CAD (including housing stipend)

Conclusion

The highest compensation appears to be FAANGM, whilst the most difficult interviews technically were for Unicorns, although Unicorns had the easiest behavior interviews. Other Big N companies had lower but still competitive salaries; however, the interviews were generally easier in terms of Leetcode but more CS theory questions are tested.

Disclaimer: Don’t try to “game” the system and only focus on topics mentioned here. Interview topics are up to the discretion of the interviewer so it can easily change. There is no shortcut in doing well in these interviews. All we know is that there will be algorithmic and data structure questions. If you grind Leetcode enough and understand data structures plus time complexity from your university lectures, you will do fine in interviews.

--

--