I did on site for e5 backend swe. Feedback was Goode except 1 of the 2 design rounds interviewer feedback was soso. Recruiter shared that overall design was good but I stumbled a bit when doing numeric estimates of storage, machine cost. Seems that Facebook cares a lot of estimating the real cost of operating the system which is something I didn't prepare for. They asked me to come back for 1 more design round. Any tips for best chance of success? Is this extra interview typical for people on border of e5? Uodate: I did the extra design round and got e5 offer! I peas cticed design questions, read the chapters 3 and 4 in Designing Data Intensive Applications (about storage systems) and practiced doing by hand numbers calculations. Very relieved I can stop leetxiding and can now decide between fb L5 and Google L4 offers.
@leetworld what is career round ? Did U get LC hards ?
When is the interview? Ping me, if I have time I can run a mock interview for you.
Is this L5? I thought L6 had two design rounds
I think it is l5.
I had two design rounds and two coding rounds as an (ultimately successful) E5 candidate. My originally scheduled loop (which had to be rescheduled for various reasons) had three coding rounds, so there doesn't seem to be a rhyme or reason to it. FB traditionally had four on-site rounds (or did the first time I interviewed there), so my guess is that the fifth round is primarily used for experimentation and interviewer training, plus additional signal in the appropriate area.
I'm sitting on a FB E5 offer right now. In my case, they requested a follow-up interview for coding. My recruiter (who is excellent, by the way; has been remarkably transparent with me and I really appreciate that) was pretty clear on what that meant: I had one hire and one no-hire in my two coding rounds, but I suppose it could also mean you have two "hire but with weak confidence" rounds, as well. They're looking for "additional signal," meaning they can't really decide which way to go with you based on the feedback they already have (it's a mix of good/bad and/or low confidence). My design and career (behavioral) feedback was apparently very positive. In general, design interviews are used for leveling, though I get the impression that they're increasing in importance when it comes to the overall outcome, so I wouldn't just assume you can blow the design interview off and take a down-leveled offer (if they were going to do that, they would have done it already). You could be on the border, period, or you could just on the border of E5...or both, because it's also possible they're only really interested in hiring at E5. Anyhow, I also think the cost/revenue estimation thing was one area where I excelled, because that's a common day-to-day thing on some teams (including mine) at Amazon, especially if you're one of the team leads (as I am). I work closely with my manager on this and literally attach dollar estimates to almost everything I currently do (costs and revenues alike); that's how we prioritize our engineering plans for the year. Which is a good segue into how I approach design interviews in general: 1.) Gather requirements, make estimates, and state assumptions. The best way to do this is to create relevant categories for your requirements: intended users and primary use cases, SLA/performance/scalability, security, cost, etc. Stating assumptions is a good "cover your ass" move in case you somehow miss some key requirements that the interviewer may be thinking about (it can be as simple as "that may be subject to change" or "I'll look into that when we get to it"). 2.) Use the requirements categories/frameworks to define components and trade-offs. If your categories are well thought-out, the discussion will naturally center around them which then trivializes the tasks of deciding both which components to build and how to prioritize them. 3.) At this point it should be easy to stitch the components together into something more cohesive. Most of your discussion at this point should be around trade-offs and prioritization. 4.) Drill down into each component/category as necessary or as the interviewer wants. For cost and user/scaling estimates, just use the Fermi method (look it up). Good luck!
What was your offer in terms of TC? And did you talk about moving up to L6?
About the same as the other E5 offers you can find around here: ~330-350 or so to start, including the cash bonus target but ignoring signing bonuses and potential RSU refreshers. I had no interest in E6 and don't think I would have any chance of getting it anyhow; I have some strong lead experience, but only a few years of it and only in one org/culture. I think E6 is scoped beyond what I'm used to or comfortable with (I'm a team lead who deals with multiple tech stacks and interfaces with other teams regularly, but I don't facilitate org-level work directly--that's reserved for PEs or people trending PE over the shorter term), and I'm also a bit burned out right now and don't really need more stress. Already concerned about how E5 is going to be...
Update: I did the follow up design question. I was more prepared and felt I nailed the overall design. This time we spent most of the time going deep into data model, ballparking numbers and got into the image and Metadata data store design layer (it was design Instagram question). However it has been a few business days and no response from recruiter yet. That feels like a reject oh well.
Overall interview was for a generalist swe or with any specific speciality ? Do u suggest going with specialty ?
General swe oure backend. Not full stack.
Uodate: I did the extra design round and got e5 offer!
So sys design questions were more on general distributed system design like examples found on grokking? Did u have to talk about consensus algo like raft/ paxos etc, how does update work in nosql, problems with consistent hashing etc ? I want to know about the depth of interviews.
Facebook fcosues more on bottlenecks, scale, and data storage. No crazy paxos or anything. Ball parking numbers and knowing how databases work is helpful. . How btrees or log structures databases store data is helpful. Focus on the problem not technology for fb. How many machines, how much data to store, network badwoth required, latencies.
Great post and details. Thank you!!👏👏
@op did you not take an offer from either FB or Google?
Grokking the system design has notes on how to make estimates. Use it for your prep. How many coding interviews u had? Yoe? Level at Msft?
2 coding rounds, 2 design, 1 career. Coding was good and career interview had excellent feedback. 1 design round was good but other one was so so
7 yoe. Level 64 msft