Steven Zhang
Zhang ranks the 10 most difficult software engineering interviews.
  • Steven Zhang is a former software engineer at Airtable.
  • Before landing the job, he began his job search in 2019 and received 18 offers after 22 interviews.
  • Here is his ranking of the 10 most difficult interviews he'd gone through, including Google, Uber.

I started working as a software engineer in 2014 and currently manage ClimateTechList.com, a job board and resource for climate technology.

After five years at Tableau, I became curious about the job market and the types of roles available at various companies.

So, in the first half of 2019, I did an extensive job search. Ultimately, I received 18 job offers after 22 on-site interviews from companies like Apple, Meta, Airbnb, and Uber.

Of the 22 companies I interviewed with, here is my ranking of the 10 most difficult interviews I went through. I ranked the difficulty of the interviews based on three factors: the number of questions asked within a time limit, the complexity of the problems, and the novelty of the problems.

10. Palantir

The interview was pretty standard and involved live coding and system design questions.

The interesting part was candidates were asked to eat lunch with current employees and other candidates. It was a bit confusing, and although the recruiter said the lunch wasn't an evaluation, I somehow felt like it was. Eating lunch with candidates was also a bit weird since I wondered whether I was competing against this person.

9. Airtable

I had a take-home assignment that took over four hours to complete, but they paid me for it. The challenging part was writing the code and making it very readable. During the interview, I also had to present my work in an hourlong session to a panel of two or three interviewers.

I really liked my interview experience at Airtable and ended up joining the company. It was a small company then, and I remember I got a chance to talk to leadership like the CTO, which was very nice.

8. Google

Google's algorithm questions were more complex than Airtable's and Palantir's.

Personally, I thought Google's interview process was the most outdated one compared to others on this list. I only wrote code on the whiteboard and didn't write any code live on a computer. There also seemed to be a lack of coordination in question selection. For example, I encountered similar questions in the same data structure niche.

Surprisingly, I wasn't asked any behavioral questions, either.

7. Meta

The Meta interview was surprisingly light, with only four rounds compared to the usual five or six at other companies. The questions were product-focused, such as designing a live commenting section on Facebook, rather than purely coding-based.

I remember asking the recruiter why the interviews were lighter than other companies, and they explained that reducing the number of rounds didn't impact the quality of hires but made the process less tiring for candidates; they could also spend fewer company resources on interviews.

6. Uber

The tricky part of the interview was that so many tasks were squeezed in at once, so I didn't have time to receive potential feedback — I wasn't able to know whether I did well or not. After completing the first part, we quickly moved to part two. During part three, when I was halfway done, they announced that the time was up.

There was a psychological dynamic going into it — if I picked up on any signal on how I was doing, no matter how small, I gained some momentum to tackle the rest of the interview. Overall, it was a pretty intense interview experience.

One interesting thing was that Uber had a session with "Bar Raiser" interviewers. The session brought a different team from the company into the hiring process. They are trained rigorously to remove any biases from the hiring process and ensure new hires surpass the standard set by other peers in similar roles.

5. Cruise

The interview process was standard, including algorithm and system design questions and a behavioral one.

However, what made it difficult wasn't the actual interview — I had a migraine during the interview and the medicine didn't work. This was a lesson for me: while I couldn't be in a perfect environment, I should have control over what I can.

In hindsight, I wish I had rescheduled, and I believe the recruiting team would have been happy to do that.

4. Checkr

The coding interview was intense — I had to sit in the room and code for two hours while being observed and questioned by interviewers.

What made it even harder was I had to write a fully functioning piece of code, not just an algorithm, meaning the code had to work.

3. Zoox

Zoox asks intense math questions in addition to standard code interviews. For example, they asked how to measure the distance from the Earth to the Moon using tools like a protractor and ruler.

It requires intensive math skills, such as trigonometry. I would say in most software engineering interviews, candidates don't get asked about these kinds of math questions at all.

2. Stripe

The diversity of problems made the interview challenging. Questions ranged from solving bugs and writing code using an existing API to talking through a technical design without coding.

Besides that, interviews at Stripe are much more of a real-world scenario, which makes it harder, too. I remember there was a question about using a simplified version of Stripe's API to create a model for detecting fraud in orders and payments.

I give a 10/10 rating for the overall interview process, though, because I felt the interviewers at Stripe asked all the right questions, and the interview itself was most similar to what a real-life coding experience would be like as a software engineer.

1. Airbnb

I had two rounds of technical phone screens and an on-site interview, where they asked notoriously hard algorithm questions. The questions were niche, and I had to write and run code within 50 minutes.

For instance, one question involved a rooftop with a unique shape, and I needed to estimate how long it would take to fill it with water, considering its various dips, like hills and valleys. For a question like this, I had to convert it into a data structure in code, and then write a function to calculate the fill-up time.

Airbnb also went two levels deeper in behavioral rounds than other tech companies. They asked me about projects I had worked on and my decision-making process. The pressure almost made me feel like it was a true interrogation.

The Airbnb office is very nice, with meeting rooms that resemble famous Airbnb listings.

The recruiting team was cooperative and easy to work with, too.

Adjust your expectations in today's job market

In addition to the most difficult interviews mentioned above, the easiest ones I experienced were WeWork, Zillow, and Zume. However, I don't think an easy interview necessarily indicates a low talent bar at the company — it could be because I had prepared specifically for the questions they asked that day.

From my experience with job searching, I think everyone can get good at interviewing with enough practice. In today's job market, though, I suggest job seekers adjust their expectations. I don't think I'd land 18 offers today because the hiring environment is so competitive; I'd probably only get half as many.

It's crucial for job seekers to consistently tackle problems every day and operationalize their job search process. I always recommend maintaining a calendar that allows recruiters to schedule interviews directly from it, instead of emailing back and forth.

I also think it's important to be clear about the recruitment timeline with each company. For instance, if you're consistently unable to get past the résumé stage with certain companies, compile a list of those companies and try to get introductions to them.

If you work in Big Tech and want to share your experience, email Jennifer Eum at jeum@businessinsider.com.

Read the original article on Business Insider