Back in 2021, I was scrolling through Telegram when I spotted a message from a guy named Azimjon. He wrote about his summer internship at Facebook and all the cool opportunities there. I was so impressed that I showed it to my entire family!
The next day, my mom brought me a special keychain from the market. "Every time you look at this," she said, "let it remind you of your dreams." 🌟 I've carried it in my bag ever since. And guess what? That dream finally came true when I crushed the Facebook interviews! Here's my little lucky charm:
The Power of Connections
You know that saying "It's not what you know, it's who you know"? There's some truth to it! My journey began with one of my oldest friends, Ahmad, a Senior Software Engineer at Meta.
When I visited Ahmad at the Meta office, we instantly clicked and talked for hours like long-lost brothers. Over time, he invited me to apply to his team, and that's how my interview adventure began!
The Technical Gauntlet
I applied for the Software Engineering E3 (Junior) position. The very next day (Meta moves FAST!), I got a link to schedule my interviews. There were three interviews total:
- Two technical coding interviews
- One system design interview (yes, even for juniors!)
Since I already had offers from IBM and Dropbox in my pocket, I went in with a "nothing to lose" attitude. No stress, no excessive preparation - just me and my brain! ðŸ§
Technical Interview #1
My first interviewer was a Senior Software Engineer who'd been at the London office for 4 years. After a quick 7-8 minute chat to break the ice, we jumped into the coding challenge.
The first problem was like this alien dictionary problem on LeetCode. I didn't understand it immediately (those alien languages, am I right?), but after reading it again, the lightbulb went on! 💡 I asked some questions to make sure I understood correctly, proposed my solution, and the interviewer liked it enough for me to code it up.
The second question was about Trees - my specialty! I came up with an optimal solution using post-order traversal, we discussed edge cases, but sadly time ran out before I could finish typing. Still, the interviewer seemed impressed with my approach and reasoning.
Technical Interview #2
This one was tougher, with problems about Matrices and Graphs (the computer science kind, not the pretty chart kind!). I conquered the Matrix problem (took the red pill, obviously 😉), but struggled with the Graph question. Time flew by, and I couldn't propose a complete solution before the clock ran out.
System Design Challenge
Next came the System Design interview with an ex-Googler. The conversation was super friendly, like chatting with a tech-savvy friend at a coffee shop. My task? Design an Image storage system with these requirements:
- Handle 100 image uploads per second
- Prevent duplicate images (no storage wasted on 50 copies of the same cat meme!)
- Work efficiently with limited memory
Designing such a complex system in just 45 minutes was like trying to build a LEGO castle while someone keeps stealing pieces! But we worked through it together, focusing especially on clever ways to detect duplicate images and manage memory constraints. The interview went smoothly, and we even exchanged contact info afterward (always a good sign!).
How to Prepare for Tech Interviews
Many people have shared great advice about interview prep, but here are resources I personally found super helpful:
For beginners diving into algorithms, grab Grokking Algorithms - it explains complex ideas with cute drawings instead of scary math! If you prefer videos, check out the Express Algorithms course on 42.uz.
For the math wizards who want deeper knowledge, I recommend the classics: Introduction to Algorithms and The Algorithm Design Manual. Nothing better exists (trust me, I've looked!).
As for System Design - you can't just memorize this stuff! The best approach is to read from different sources and practice implementing solutions yourself. For database expertise, Design Data-Intensive Applications and Database Internals were game-changers for me. And for the big picture, check out roadmap.sh - it's like a treasure map for tech knowledge!
The Almost-Offer
Four days after my interviews, the recruiter told me all my interviews went well! 🎉 They scheduled a 1:1 meeting with the manager for the next day. During our chat, the manager congratulated me on my strong performance, and we discussed the team, work environment, projects, and (of course) salary.
Then came the immigration question. "Could you transfer me to the Warsaw office?" I asked. "I haven't finished my Bachelor's degree yet." I'll never forget how the manager's face suddenly got serious, like I'd just told him I delete code without comments. 😬
After thinking for a moment, he said it was a tough situation, but they'd discuss it further. Later, I received this message:
Conclusion
This was actually for the best! The most important thing is that I PASSED THE INTERVIEWS. The only reason I didn't get the offer was my lack of a Bachelor's degree. So if you want to work abroad, definitely finish your university degree! My friend Azimjon wrote an excellent article about this - check it out here!
I originally titled this article "I Almost Received an Offer from Meta," but shortened it for clarity. Even though I couldn't cover everything in detail, I hope I've shared valuable information that helps you on your own journey. Remember - don't stop learning! 📚