Support us

A Belarusian's experience Interviewing at FAANG—and receiving 3 offers

Our reader (who wished to remain anonymous) didn’t waste any time in 2024—he actively interviewed with FAANG companies. And he received multiple offers. He told devby about his experience.

A Belarusian's experience Interviewing at FAANG—and receiving 3 offers

Our reader (who wished to remain anonymous) didn’t waste any time in 2024—he actively interviewed with FAANG companies. And he received multiple offers. He told devby about his experience.

The companies I interviewed with:

  • Amazon
  • Google
  • Meta
  • Databricks
  • Waymo
  • Several HFT (High Frequency Trading) companies.

For some time, I ignored interview invitations, but then I started accepting all of them.

Interviewing with just one company seemed unwise: you might not get an offer and end up disappointed. Or you might receive one but lose 10-15% of potential compensation because you have no competing offer.

In the end, I went through 25-30 interviews with different companies (not counting recruiter calls). I received three offers, so you’re probably better off asking someone else for advice on passing interviews successfully. I’ll just share my impressions of the process.

Technical interviews

In big tech companies, LeetCode interviews are more or less similar: some ask you to run your code, while others require you to write it in a notepad and convince the interviewer that it works. Typically, they ask for a dry-run of the code (which factors into your evaluation), meaning you need to execute it line by line. You can lose a lot of time here if you don’t practice beforehand.

I believe the algorithmic preparation of a 1st or 2nd-year college student is sufficient to pass this stage: they don’t ask about complex algorithms, the topics are known in advance, and you can practice them on LeetCode. If you get completely stuck, the interviewer will give hints, and this doesn’t mean you’ve failed. I solved just over 50 problems on LeetCode, and looking back, I realize I should have solved about the same number more to reduce variability in my performance.

The main challenge is that you’re limited by time during the interview. Meta, for example, expects you to spend only 15-20 minutes on a single problem, including the code execution. Google is more reasonable, giving 40 minutes for a problem of similar complexity. If you solve it faster, the interviewer may give you an additional question or problem for extra credit, which can help make up for any mistakes in previous interviews.

At work, I code in C++, and I used it for my interviews. This turned out to be a bad idea: it takes a lot of time to write the code, and the cognitive load is very high. It was especially painful when the code needed to be compiled and run, since convincing interviewers that C++ code is correct is often easier than actually making it execute properly.

Therefore, I would advise developers who write in C++ (and maybe Java) to switch to Python during interviews. Of course, this option isn’t always available. I had interviews with non-FAANG companies that insisted on C++ only.

System design and behavioral

I don’t have much insight into System Design: Google L3/L4 and Waymo L4 don’t include this kind of interview; I didn’t reach this stage at Meta; and at Amazon it’s quite brief—about 20 minutes. I designed something, and that was it.

For the Behavioral section, people usually recommend preparing stories in the STAR format, but my interviewers asked their own questions. When telling a story, I watched the interviewers' reactions and feedback and tried to adjust my delivery accordingly—a kind of A/B testing.

From what I understand, Behavioral interviews don’t so much test a candidate’s soft skills (just don’t be a psychopath) as they assess the scope of responsibility they’ve had at work. Basically: if you talk about changing the color of a single button, you’ll be rated as a junior; if you’re responsible for a large end-to-end project, you’re more likely to be rated as a senior. Amazon seems to place the greatest emphasis on Behavioral interviews, with 20 minutes dedicated to behavioral questions in each interview.

Here’s a non-obvious resume tip: an external headhunter advised me to add the technology/language used in each bullet point. I followed this advice and literally added «C++» to every line on the page, and it really worked—recruiters started saying «you have a lot of C++,» and I received more responses.

The companies I interviewed with, what I noticed, and the outcomes

I applied to Meta through a referral. Their list of potential questions is known (about 100), but they require perfect solutions in 15-20 minutes. They’re testing your ability to sit down and practice monotonously. But these are also the most predictable interviews—the questions are well-known, and you can prepare for them in advance.

I got stuck during the interview and wasn’t able to communicate effectively with the interviewer (he was from India, and I found his accent difficult to follow). As a result, I didn’t pass the screening. They offered to continue the process for a lower level (E5→E4), but I declined. This didn’t prevent me from trying again for E5 after six months.

I had been in Google’s database since my fourth year at university (I just sent them my resume), and they periodically invited me to interviews. The company seems to test your ability to think (that’s my impression). The problems are more random—interviewers can ask anything about algorithms and data structures from their list, and leaked questions are quickly removed.

I accepted one invitation and received an offer.

At Amazon, a hiring manager reached out to me—we had a call, he told me about the team, I generally liked it, so we scheduled an interview. Everything seems to depend on the team there. My experience was fairly easy; in terms of difficulty, their interviews seemed to be on the lower end. I received an offer. A friend of mine interviewing for C3, on the contrary, found it very difficult—so it’s random there too.

A manager from one of Databricks' offices reached out to me, but I let him down in the end. This was the most challenging interview process to evaluate, as it was supposed to have eight stages.

The problem itself wasn’t complex, but the code had to run, and I needed to come up with tests. I programmed quickly, but then spent 10-15 minutes catching various segfaults in my code until time ran out. The interviewers—there were two, and they both seemed to participate—said «looks good to me» about my solution, but then I received a rejection with feedback that the code didn’t run, which automatically meant «no hire.» Basically, they expect a perfect solution.

Waymo’s interview is similar to Google’s, but the code needs to be executable (the tasks were more about implementation than algorithms). They gave slightly more interesting problems (more open-ended). I received an offer.

I didn’t try Netflix, as I believe they don’t have positions in Europe.

I didn’t consider Microsoft.

I was rejected by Apple at the resume stage.

Has the crisis affected FAANG offers?

The crisis is manifesting in companies posting vacancies in countries with lower salaries. Hiring is being moved to Serbia, Poland, Romania, India, etc. Previously, it might have been Germany, Switzerland, the UK, Ireland, the Netherlands. Salaries are much higher there, and it would be easier to transfer to the US after a year of work.

It’s difficult to get directly into a US office, but after a year of work, you can try to transfer with an L1 visa.

What does it take to get a FAANG offer during a crisis?

Interviewing is random: both the complexity of tasks and the interviewer’s behavior vary. Some are interested in your thought process, making the interview more like a dialogue where you solve a complex problem together. Others just give you a problem and see if you can solve it. One interviewer told me directly: «Don’t talk, just solve.» I solved it—and he gave me a «hire.»

I think if I went through all these interviews again, I probably wouldn’t get some of the offers I received previously, but I’d get different ones instead. Practice solving problems (dozens of similar ones) and practice interviewing itself helps increase your chances.

I believe that after passing the resume filter and practicing on LeetCode, any average developer can realistically get an offer from Amazon, Meta, or Google—you don’t need to be a genius. Being a student/beginning developer is enough. Yes, LeetCode requires time and motivation, but juniors have an advantage here. Once you’re trained, it’s good to do an internship at any large product company in Belarus + have GitHub with real projects (this somehow helps pass the recruiter filter, though they still can’t properly evaluate the content). After that, you can apply for junior positions—L3 at Google and L4 at Amazon in Poland. After 2–3 years of relevant experience, you can apply for mid-level positions at FAANG companies.

Want to report important news? Write to the Telegram bot

Main events and useful links in our Telegram channel