I got reject from Facebook, Uber, & LinkedIn. Got same feedback from all - overall very positive, coding very strong but system design/architecture skills should be improved. I am a full stack engineer but most of the work I have done is in front end. The system design knowledge I have is obtained by reading through tech blogs, interview prep sites, etc. No proper practical experience. Is my front end work experience hurting me? What should I do to improve my system design/architectural skills?
maybe you can share the system design question and how you answered
Very common questions. It’s really hard to type how I answered.
Can you share your study stats as well? You have given interviews in top companies, all blinders will get insight how much more we should prepare
System design: grokking the system design interview, highscalability.com, engineering blogs, YouTube videos Algorithm, DS: 800+ LC questions, countless geeksforgeeks.org & hackerrank questions
This is awesome. You are great. Can’t imagine how much time you spent to finish 800+ LC. 6 months?
Did you feel you get stuck in such interviews or did the feedback come as a surprise to you?
I was never stuck but I felt that the interviewers were not too happy with my solutions
I feel exactly the same for myself. If you’re studying something like “Grokking the System Design” for interview prep, it won’t get you very far. Because that lacks analysis in depth, or no tradeoff analysis, this will never get you L5 offer, L4 at most if lucky. I’m currently planning to find some senior guys to mentor me, or do mock interviews, or analyze tradeoffs with examples for me. Mastering system design is a long way to go, and it’s hard, don’t be too pessimistic, lots of people are on same boat. Daily work won’t make you better at design interview, have to put in extra effort to study.
Were you able to find a mentor? I would love to have one.
You can’t be that bad you’re already at fb lol
What level are you? Your best bet is to try Google then, since they don’t require design round for L3/L4.
Senior engineer with more than 5 YOE. I can try google. But, I really want to improve my system design skills. I can’t rely only on my algorithm skills.
Read engineering blogs from different companies. For eg, check out schemaless on Uber blog. Or check out how cockroach DB works. Check out the Mesa paper from Google. I think systems design is all about creating this mental flowchart of various options for different components along with pros and cons
System design interviews are less about the depth of your knowledge, and more about the delivery. Start by stating assumptions and discuss them with interviewer. Refine them. While you do that think of the high level problems. Go through these one by one. It’s ok to not treat them all. It’s ok to not know everything about one facet of the problem and abstract it away. But as you do that make sure your leave a good trace of your thought process on the white board. Write legibly, take your time to draw schemas, use the space then erase as needed. Ideally you’ll have a super high level view of a solution to the problem, and a more in depth approach to one aspect of it. Make sure you listen to your interviewer and answer their questions.
The problem with a lot of the blogs is that they are often fairytales that don’t talk about downsides or trade offs.