I having a hard time clearing system design interviews. I have 1 YOE in software eng., and haven’t worked much in system design before. I read through grokking and primer and revise them before each interview. What problem I can notice? I had this in amazon, twitch and another startup SD rounds. I can explain the general overview and some details. But in the interview, if interviewer goes deep on one component, I don’t have much knowledge to respond back. It is difficult to how to fix problems I haven't seen before. Why I get SD interviews? I have 2 years of additional research experience as well so people take that into consideration. I have got SD at oracle, amazon, twitch and bunch of startups. Should I read a book like Designing data intensive applications or will that be an overkill or like just do more mock interviews? All my efforts of practicing coding are in vain. Feel so dejected. Tell me what to do, I will do it. YOE(software engineering): 1 TC: 0 (Got laid off recently.)
I’m curious what companies are giving you design questions with 1yoe? Usually those are for positions a little bit more senior?
I had them for MSFT APM and Bloomberg Data Engineer
I got it at oracle, walmart, amazon and some startups.
As others said, you shouldn’t be worrying yet. For those questions you are asked, write down the question and conversation afterwards. Then redo the problem later on. Research those deep dives you don’t know.
Yeah redoing it again now. I am going to try that. Thanks!
Memorize and understand everything here https://aws.amazon.com/about-aws/whats-new/2019/12/introducing-amazon-builders-library/
You need to be more specific in what you were asked about. That way we can help you with what particular topic you are lacking knowledge in. And similar topics related to it.
I can explain the general overview and some details. But in the interview, if interviewer goes deep on one component, I don’t have much knowledge to respond back. It is difficult to how to fix problems I haven't seen before. Specifics: Interviewer: So you have a messaging queue, the main server adds requests to the messaging queue and consumer servers gets from it. What if a consumer fails? Me: We can master-slave for each consumer server, which takes up if it fails, also healthy checks to ensure the nodes are running. Interviewer: What if it didn't fail and took more time? The health check didn't respond. Now you send the job again how will you avoid duplicate in the final results? I don't know how to avoid this?
You can investigate on how this is done when working with Kafka. There are many SO answers on this topic.
Get more experience by working, ask questions of senior developers/read internal design docs. Do mock interviews with someone who has been on both sides of the system design interview process.
I don't know any senior SDs.
Get to know some, can be current company or other companies. Try attending meetups
You have 1 YOE. Don’t worry about it
Updated question with that now. "I have 2 years of additional research experience as well so people take that into consideration. I have got SD at oracle, amazon, twitch and bunch of startups."