6/1/2023 0 Comments System designer primer![]() Outside of the differences with the technical topics I needed to dig deep into during the interviews, I found there are two other interesting differences that stand out between the two types: In a frontend system design interview, you can treat the backend as a black box and you don’t need to worry about how things like how to scale a database, or how your choice of using web sockets might affect the load balancers because of the need for sticky sessions support.īut again, this is a summary of my experience and depending on who your interviewers are (are they frontend, backend and/or fullstack devs), the scope of the role and which team it is (are you going to be on a frontend team or are you expected to work across the stack and stretch into the backend?) your front end system design interview might be a bit of a hybrid where some aspects of backend system design interviews might come up. In a backend system design interview, the client-side/frontend is reduced to an API layer - you don’t need to consider all the intricacies of the browser or the pesky rerenders your real-time updates would cause. if they want to get framework-specific, which is totally possible, they might even ask you to define a particular React components’s props or manage complex state in a React app.Ī lot times having one type of system design interviews means you can over simplify the opposite side:.How do you leverage different layers of cache to decrease latency or support offline mode.a gallery page which pulls images and displays them in the correct order despite the asynchrony that comes with the network requests that might cause them to arrive out of order.an autocomplete UI component which fetches search result data incrementally in batches while receiving images from server pushes in parallel.a newsfeed which has an infinite scroll behaviour with all the images lazily loaded while ensuring the client side has the aspect ratio of the images upfront to prevent layout shift.What kind of data fetching mechanism to use - REST vs.frontend/client side architecture, such as the appropriate rendering pattern to choose - client side rendering, or server side rendering or static generation or something in between?.Other times you focus on your strengths and lead the conversation.ĭuring the backend-focused system design interviews, you would spend most of the time talking about things like:īackend/server side architecture, hand waving various backend services/componentsĭiscussing which type of database to use and how to aggregate data across different shardsĬhoosing the right the cross-region strategy if your service has a global user baseĪny other kinds of system characteristics like latency, availability, fault tolerance, etc.įor frontend-focused system design interviews, you would spend most of the time talking about stuff like: When you realize your interviewer is biased toward a particular part of the system, which they usually do, pivot your focus to that area. Nor are you expected to drill deep into all of those. There probably isn’t a checklist of things for you to cover one by one. Unlike scantron school exams, both types will consist of mainly open ended questions.While the topics can be either micro or macro, you probably won’t need to actually write code - it is rare to jam some portion of coding in the middle of a system design interview.You can't rely on the interviewer to have your back. The interviewer is relying on you to drive the presentation.laying out a clear plan and identifying major distinguishable components of the system.starting with gathering system requirements.Similarities #īoth frontend-focused and backend-focused system design interviews share a lot of similarities in terms of the methodology you can adopt to solve the design questions: ![]() Now that I have done a fair amount of system design interviews of both types, I want to give you a summary of what to expect, especially for the frontend ones since I have been mostly working on the frontend side. Unlike traditional backend-focused system design questions, for which you can find lots of prep resources online such as the famous grokking system design interview or system design primer, I didn’t know what to expect for a frontend-focused system design interview as there are very few resources out there talking about this type of interviews. Most of the interview processes I had with big tech companies consisted of 1-2 system design rounds depending on the level of the role. backend system design interviews and my thoughts on frontend career ceiling Context #Īs I mentioned in my last post, I have been interviewing a lot for the past year - not conducting interviews, I was the candidate being interviewed. Walk through of similarities and differences between frontend vs.
0 Comments
Leave a Reply. |