Newpredictr

I am giving up on system design interviews...

As a senior developer, I have a lot of experience creating tiny projects that can benefit thousands of consumers. developed applications using Kubernetes, Redis, RDBMS, and AWS. However, from what I've read about system design interviews in Blind and Reddit, the interviewer seems to be looking for in-depth system expertise. I can grasp when I read Alex Xu and Educataive-io, but after that, I start to forget the concepts. How do I retain the concepts? is this enough to crack faang or maang? Please provide some light on this for me. TC: 200K Years: 10 #engineering #software #swe #interviewed #career #systemdesign #faang @amazon @google @meta @netflix @adobe @apple @microsoft

Google topkek1 Dec 10, 2022

They key for systems design is to understand and explain the why, not just the what or how.

Amazon RHcj70 Dec 11, 2022

+1 and also making trade offs.

Google topkek1 Dec 11, 2022

Yup. Have to discuss tradeoffs as part of the "why _____, versus _____"

New
gspL21 Dec 10, 2022

Use the concepts to design a system yourself and work with a mock interviewer to see where you had gaps. Another way is to actually create your personal AWS account and do a full hobby project implementation. Use JMeter to create 100qps+ large request volumes and see how your system reacts end to end. Then you won’t forget the concepts

IBM <0D3r Dec 10, 2022

Example project ideas that I can churn through?

Datadog tw0sum Dec 10, 2022

Sounds expensive

Tata Consultancy Services razorleaf Dec 10, 2022

Repetition

Amazon PeterPark Dec 10, 2022

find many examples of real world systems that were and memorize them. There are tons of example online

Course Hero HVTj88 Dec 11, 2022

Bad idea to memorize. You'll be easily exposed when interviewing for staff.

Google nextmoveup Dec 11, 2022

I wouldn’t say memorize but do try to think through other ways that the system could’ve been made and note the pros and cons

LinkedIn aaavp Dec 10, 2022

Senior developer and tiny projects? You don’t want to start your interview with this.

Google Low⚽🥎🏀⚾ Dec 11, 2022

Let's be real. 99% of senior developers @ faang have only worked on tiny projects. Granted, you never want to word it like that though 😂

Google pPwe60 Dec 11, 2022

For Google it may be true

MongoDB mdbpb Dec 11, 2022

My team does system design interviews differently. We don't care about asking you to design a new system in 30 minutes. We ask you to describe a system you've designed in the past, big or small, but it should be something you understand well. We evaluate on clarity of communication, ask about reasoning for certain decisions and rejected alternatives, and probe on failure modes. This has turned out to be well recieved by applicants as relatively low stress, allowing them to relax and just have a conversation. For us, this has proven to be very effective in determining the level of applicants.

Google samurain Dec 11, 2022

wdym by probe on failure modes? can u elaborate?

Google topkek1 Dec 11, 2022

Failure modes: under what scenarios/conditions would the system break, or no longer be able to meet its requirements? Are those failure modes reasonable, or not acceptable?

Meta kaER20 Dec 11, 2022

Look up MIT distributed systems on YouTube. It's an amazing class and you can do all the programming assignments in Go where you implement consensus algorithms, key value store, etc. I find it easier to remember concepts if I actually code them

Amazon mkjmkj Dec 11, 2022

Wow just looked it up, such a amazing set of lectures. It’s explained from the basics to the code. Thank you for this :)

Google kGKB70 Dec 11, 2022

Is it the mit 6.824 video series?

Amazon wrfkdup Dec 11, 2022

My two cents is these 4 books: Java Application Architecture: Modularity Patterns With Examples Using Osgi, 1E https://a.co/d/j6ARZPu Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems https://a.co/d/fLG6YJV Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions https://a.co/d/ijl4sy5 SOA in Practice: The Art of Distributed System Design https://www.amazon.ca/dp/B0026OR2R2?ref_=cm_sw_r_apin_dp_35TNJAQMGXVPC4D2ENZ7 I don't know if these books will help you pass the interviews, but they will help you design systems in real life better than the average. (There are provably more helpful books about this, I'm sharing the 4 that I found the most inspiring for me)

Google OkAy16 Dec 12, 2022

+1 to Designing Data Intensive Applications. It gets you thinking about systems at scale and how to design for them. Very useful as you transition to the senior part of your career.

Meta KMNU27 Dec 11, 2022

Another route, if you're up for it, is to do something like the associate arch cert in AWS. Almost all of the concepts translate well to systems design interviews and cover about 80% of what you would need

Amazon didueic Dec 11, 2022

200K senior engineer at FANG? And Only tiny projects? Something doesn’t seem right here… To help you though you’ll need to start understanding trade offs, look at projects end to end How does the client interact with the server, how do we build in redundancy, how does the client deal with fail over? How does the client deal with retry’s? Does the system need consistency ?

Course Hero HVTj88 Dec 11, 2022

1. Client interacts with server using HTTPS, usually with REST or GraphQL. 2. Redundancy is built at the DB layer by deploying a SQL DB in master slave mode. 3. Client does retries by using exponential backoff. 4. Consistency is an application level construct that is widely misunderstood. Usually folks associate it with the DB but in reality the application needs to enforce it. DB can only provide semantics like transactions to allow the app to easily enforce consistency.

New
predictr OP Dec 11, 2022

By the way, I am not in Faang; I worked on microservice design from start to finish for a mid-level company, using an event-driven approach. Few people are fortunate enough to be assigned to good projects, and I believe I am not one of them. I appreciate your suggestion.