TL;DR: There is no big-tech name on my resume and my job title is unremarkable, yet I made it through the Google, Netflix and Meta processes and ended up holding L4 offers from Google and Netflix. My visa status ultimately wrecked both. Below is how I got ready.
About me: I was a government contractor for eight years. The job was nothing exciting, but I kept teaching myself new technologies and stacks outside of it.
My contract wrapped up not long ago and I was suddenly unemployed, so I started sending applications. Callbacks were rare, because my last employer didn't give a resume any pull. I worked with Claude to rebuild my resume, going back over my past projects to find what was worth highlighting. Every resume article I read said the same thing: put in metrics. I wasn't willing to stick numbers in just to have them, since I'd have to defend each one in the room, behavioral rounds above all. So every figure and every bullet had real backing behind it. After that I messaged people I knew on a professional network and asked for referrals. Many of them turned out to be at other major tech companies, so I collected a lot of referrals, and those gave me my best callbacks. Get in touch with your contacts and keep those relationships in good shape. I sent applications for both senior and mid-level openings, and the mid-level ones answered more often.
Coding prep: I'd put in about a year of LeetCode, so coding was already my strong suit. I had interviewed a few times before the layoff and passed the coding portions, which meant the only job was keeping my skills warm. My main resources were a well-known LeetCode roadmap and one YouTube channel. I was comfortable with basically every pattern, including DP, cyclic sort, bit tricks and tries, and my recursion was sturdy as well, so I figured nothing unexpected could rattle me. One Google question was a trie plus backtracking, and I knew enough to handle it.
System design: This was where I was weakest. A few months before, I had done really badly on the system design round at Amazon. Afterward I started working through an online system design course. I began by watching its videos and soaking up whatever I could. Then I did a couple of mock interviews, and once the interviewer pushed deeper my knowledge fell apart, because I simply lacked the foundation. So I went back to basics: caching, CDNs, geohashing, scaling and the like. I read DDIA through chapter 7 and watched a YouTuber's system design videos. Then I went through the course videos a second time, and for each design choice I bounced questions off Claude, asking why that choice, what the tradeoffs were and what the alternatives would be. Some people will find that odd, but LLMs are surprisingly handy for this if you hold them to a senior-level scope, otherwise they drift into far too many obscure corners. It gave me tradeoffs I could bring up in interviews and widened the pool of ideas I could reuse in other designs. Once I'd finished all the videos, I practiced further questions the course didn't cover. Through all of this I kept doing lots of mocks and could see myself improving. I set them at senior level, so mid-level would feel easier by comparison.
Behavioral: I had never practiced this. I'd improvise, and my answers never hung together. During one mock, the interviewer suggested I tighten my stories with Claude's help and have it keep pressing me for more detail without making anything up. Around then I also ran into a book and some podcasts about interviewing, and they changed my whole approach. Using the CARL framework I wrote 10-15 stories chosen to cover whatever might come up. I rehearsed them aloud in front of my camera, which eased my camera anxiety and exposed how much I lost track of once I started talking. After a few mocks the stories were basically stuck in my head. Each day I spent around half an hour replaying them mentally while exercising or walking. Same as with the resume, I left out any detail I couldn't back up. I also prepared likely follow-ups and tweaked versions of the stories for curveball prompts.
Companies: Uber and Atlassian at senior level, Google and Netflix at L4, Meta at E5, Expedia at senior level, plus Shopify, Cloudflare and Capital One.
After eight months of studying and interviewing, I got through Google, Netflix and Meta, with Meta down-leveling me to E4.
Meta:
- The AI-assisted coding round threw me. The codebase was enormous and nothing like anything I'd practiced with. I found my footing in the end, but ran out of steam before the optimization step.
- Coding: standard LeetCode-style problems.
- System design: they threw me a curveball involving a client library. It went badly, but I was allowed a redo pitched at E4. That round I drew the Facebook post search question and it went well.
Google:
- Virtual round: the coding and behavioral portions were easy to follow.
- Onsite: two coding rounds, each with vaguely specified problems. One was a swipe keyboard, which came down to walking a trie with backtracking. I did well enough to clear it.
Netflix:
- Coding: three sliding window questions, and I solved all three.
- Problem solving: a friend recommendation system. Oddly, I barely wrote any code. It was mostly talking it through with the interviewer, a bit of code, and some pseudocode to close. I didn't expect to pass it, but I did.
- System design: the best interview I've ever had. I had prepped, and I could speak to EVERYTHING. By the end the interviewer told me he had no questions left since I'd covered it all, and told me on the spot that it would be a strong hire.
- Two behavioral rounds: Netflix splits behavioral into two separate interviews, and they surprised me more than anything else. They had me pick the project where I'd had the most impact and then kept digging into it, so almost the whole session was that single project. I'd prepared well for deep dives, and with solid prep on Netflix's culture, feedback especially, I got through.
Team matching gave me offers from both Google and Netflix, while Meta never found a team for me. Then visa complications killed the offers, and I sat on this write-up for a few months. Across the paid mock sites I used, I did more than 10 mocks with FAANG interviewers. Those gave the biggest return, since I had no sense of how big-tech interviews work and doubted my preparation would be enough. The progress was easy to see.
EDIT: I also built a job scraper, vibe coded, that polled the APIs of roughly 80 companies through Greenhouse, Lever, Ashby and similar boards, running twice a day to send me fresh postings. I could filter it by title, level and location, which left me a shorter list grouped by company. I put priority on applying to anything posted within the previous 24 hours, and that brought in a couple of callbacks too. I also kept different resume versions on hand for different roles.
Discussion
Loading comments…