Got an offer from Meta 🎉

26.09.2024

cover

Facebook

In 2021, while I was at home, I received a message from one of the Telegram channels. Yes, you guessed it, Azimjon aka had written about doing a "Summer Internship" at Facebook and the opportunities there. I was really impressed and showed it to my family. The next day, my mother brought me a keychain from the market. I always carry it in my bag. I still remember her saying, "Every time you look at it, let it remind you of your dreams." Today, that dream came true, and I was able to break through the Facebook interviews. Here’s a glimpse:

Keychain

Meeting and connecting with many people opens doors to countless opportunities. My story began with one of my oldest friends, Ahmad, who works as a Senior Software Engineer at Meta. I met Ahmad at the Meta office, and from the moment we met, we talked for hours and instantly connected. Over time, he invited me to his team, and the interview process began.

Technical Interviews

I applied for the Software Engineering E3 (Junior) position. The next day, I received a link to schedule my interview. Since there were three interviews in total, I scheduled two technical interviews on the same day and the system design interview for the following day. Yes, even as a junior at Meta, they still conduct a system design interview. With nothing to lose—since I had offers from IBM and Dropbox—I went into the interview without much preparation.

The first interview was with a Senior Software Engineer who had been working at the London office for 4 years. We started with a brief introduction and got to know each other. After about 7-8 minutes, we jumped into the questions and the challenge began. The first question was similar to this LeetCode problem. Initially, I didn’t fully understand the question, but after reading it a second time, it became clear. I asked some questions to clarify the problem further, proposed a solution, and they liked it, so I wrote it down.

The second question was about Trees, where I provided an optimal solution using post-order traversal. We considered edge cases and stuck with that solution, but I ran out of time before I could finish writing the code. The interviewer invited me to ask any questions I had, and we wrapped up the session by discussing some of my own questions. The second interview was a bit harder, with questions mostly about Matrix and Graphs. I managed to solve the Matrix problem, but I struggled to understand the Graph-related question. I ran out of time before proposing a solution.

System Design Interview

Next came the System Design phase. The person conducting the interview had previously worked at Google, and the conversation was very friendly. This time, we had to design Image storage. Here are the conditions:

  • 100 images are uploaded per second
  • We need to prevent duplicates
  • What to do if memory is limited?

Designing such a service in 45 minutes was tough, but we managed to work through it together. We focused especially on finding great solutions for avoiding duplicate images and dealing with limited memory environments. The interview went well, and we exchanged emails and LinkedIn connections before saying goodbye.

Preparation

Many people have already given great advice on preparation. However, I’d like to add some resources that I found extremely helpful:

To get started with basic Algorithms, Grokking Algorithms is a great book. If you prefer videos, the Express Algorithms course on 42.uz is highly useful. For strengthening your math and deep algorithmic knowledge, I recommend Introduction to Algorithms and The Algorithm Design Manual—I haven't found anything better.

System Design is not something you can memorize. There are many resources available, and the best way to learn is to read from various places and practice. Try to implement solutions yourself. For working well with databases, Design Data-Intensive Applications and Database Internals were really helpful to me. For a comprehensive guide, roadmap.sh is an excellent resource.

Result

After the System Design interview, 4 days later, the recruiter informed me that all the interviews had gone well, and they scheduled a 1:1 meeting with the manager. We set a time for the next day, and during the conversation, we discussed various topics. The manager congratulated me on performing well in the interviews, and we talked about the team, work environment, opportunities, salary, projects, and more. During the conversation, immigration came up, and I asked, "Could you transfer me to the Warsaw office? I haven't completed my Bachelor’s degree yet." I remember the manager’s face turning serious, and he paused for a moment. After thinking, he said that it was a tough situation, but they would discuss it further. After the conversation with the manager, I received this message:

Last update

Of course, this is for the best. The most important thing is that I passed the interviews. The only reason they didn’t send the offer was because I don’t have a Bachelor's degree. If you want to immigrate, you definitely need a university degree. Azimjon aka wrote an excellent article about this. Read it here!

The title of the article was originally "I Almost Received an Offer from Meta," but I shortened it. Apologies for that. I hope that even though I couldn’t cover everything in detail, I’ve still shared valuable information. Don’t stop learning!