So, I reached the onsite stage of the FB interviews for L5 Software Engineer position. I presenty have 5 YOE and have designed a couple of systems in the last 2 years. For other companies System Design includes caching, load balancing, DBs, sharding, replication and more in these lines, all of which can be easily found in many youtube videos and Grokking the System Design Interview course. The other type of design interview is OOD which includes design patterns like factory etc and genral coding patterns do and donts. API design is another type of interview which usually includes REST, GraphQL, HTTP, circuit breaking, retries and API management etc. Facebook has two tracks for Software Engineers - Product/FullStack and Infra. Infra interviews fully falls under the System Design interview category described above. For Product/Fullstack Design interviews, the recruiter says its a mix of OOD and API Design. Recruiter specifically mentioned that it’s okay if you don’t know the front end side of things - thats the job of a front end engineer, you just need to know how the front end interacts with the backend. Please help me by answering the following questions: - What are some of the resources for API design? - What kind of questions do we get asked in the Product/Fullstack design interview at FB? - For API design, I understand how to go into the breadth of topics. But, can someone explain how to go into the depth? what all to talk about? just need pointers so that I know what is the expectation. I feel a little lost, so any help is greatly appreciated 🙏🏽 - Presently at L5a at Uber with TC 275k. - Got asked 1 LC hard and 1 LC medium for FB phone round. General tip: Practice all 200+ tagged LC questions of last 6 months multiple times with a timer. If you’re able to solve most of those questions within 8-10 mins then you’ll do well in the coding rounds at FB. Serious replies only #facebook #systemdesign #interviews
TC is too low, is it due to stock depreciation?
A stupid question : is SWE product same as production engineer in FB? If not (most likely), what is the difference between Production Engineer and SWE?
No, afaik Production Engineer is different than Software Engineer in product teams. I feel SWE Product works on the designing and developing products like Instagram shopping etc whereas Production Engineer is more like a Eng + Ops kinda role.
Thanks
What's FV Tagged?
Typo. Fixed it
Thanks for the tip. I’ll be doing the phone screen in a few weeks and will heed your advice. When did you know you were interviewing at L5?
Even before the phone round. Ask the recruiter about the level you’re interviewing for.
1 hard and 1 medium in a 45min phone round sounds insane, do they expect optimal solutions? " If you’re able to solve most of those questions within 8-10 mins then you’ll do well in the coding rounds at FB." you are saying that one should be able to do mediums/hards within 8 - 10 mins to be successful? how can you even do that without already having memorized the solution? 10mins is so little time
Were you able to get an offer? How was your experience overall with interview?
you are L5a @ Uber and you feel lost for API Design, OOD System design questions !! Dont worry bro, you should be already good at them. There are Uber internal RFCs which folks have written over years. Search for them in internal docs , read them and you will be set.
Thanks. I’ve been reading a lot of the RFC docs for a while now and frankly it has helped a lot. But, the general set of topics to cover in the discussion for a System Design interview is well documented online. I was just wondering if there is something like that for the API design as well
Google cloud has a good design guide [1] for networked APIs on their website, which you should read. I doubt they'll ask you about things like GraphQL or HTTP server design (that's more infra-related), they’ll probably ask you about API route design instead, like parameters and methods. Maybe something about idempotency and retries. I wouldn't worry too much about having depth of knowledge, since you have 5 YOE and have probably worked on multiple APIs by now. Just apply your knowledge from Uber to the interview and you'll be fine. [1] https://cloud.google.com/apis/design/