system-design-primer VS grok_sdi_educative

Compare system-design-primer vs grok_sdi_educative and see what are their differences.

system-design-primer

Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards. (by donnemartin)

grok_sdi_educative

Grokking the System Design Interview Course (by sharanyaa)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
system-design-primer grok_sdi_educative
380 7
253,398 1,238
- -
0.0 0.0
3 days ago over 2 years ago
Python
GNU General Public License v3.0 or later -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

system-design-primer

Posts with mentions or reviews of system-design-primer. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-21.

grok_sdi_educative

Posts with mentions or reviews of grok_sdi_educative. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-31.
  • I'm 19 and Just Started my CS Major; What's The First Thing I Can do to Start Working?
    1 project | /r/cscareerquestions | 17 Mar 2023
    Grokking Systems: github.com/sharanyaa/grok_sdi_educative
  • Got hired at one of my dream companies. Microsoft. Great culture, people and benefits. Here are my preparation material. Would be helpful to others.
    1 project | /r/compsci | 8 Nov 2022
    grokking the system design
  • Raised my TC 200% with 1.5 yoe!
    1 project | /r/developersIndia | 2 Apr 2022
    Originally I took a udemy course which explained all the building blocks, like Network, caching, indexing, db etc. Once you know those you can start reading how these combine to make a system (https://github.com/sharanyaa/grok_sdi_educative gives all standard examples). I would also recommend to read blogs on large companies like Netflix, Linkedin etc to get an idea of real world examples alse.
  • Ask HN: Applying for EM Roles at FAANG?
    2 projects | news.ycombinator.com | 31 Dec 2021
    I went through Facebook and Google interviews (as well as others) back in early 2019 and eventually accepted an offer from FB for an M1 role (was previously a senior manager at a smaller company). At FB I had a coding slot, a couple of system design slots, and I think three behavioral. At Google I didn't get any coding, but it was because of a higher level role (L7) that I was interviewing for (and did not get).

    For context, I hadn't coded professionally for ~8 years at that point, so part of the prep was getting back into that. Also, I never took any algo classes in college 15-20 years earlier, so that was another challenge. I actively avoided big tech companies for years due to difficult interviews and low confidence that I would pass, not to mention a general attitude of why the hell should I spend all this time preparing for something that does not reflect the day-to-day reality (and I still hold this view strongly). But as I learned more about compensation opportunities, I decided to bite the bullet and go for it. I quit my job and spent 3-4 months preparing mostly full-time, while also lining up interviews. Pro-tip here: if you get Google interviews, start them way in advance of all others. Their process is insanely long and after 3 months of interviewing, re-interviewing, getting downleveled, changing hiring managers, etc. I dropped out of the process because I was already sitting on two offers. For comparison, Facebook took 2 weeks from starting to schedule interviews to offer.

    For coding, I picked up Python - unless you know something else really well, it's IMO the best language for interviews (never used it professionally, but had not great experience from a few years back interviewing in my language of choice of C#). I got a few books to learn and refresh on the data structures and algorithms: Algorithm Design Manual (good reference, but I didn't end up having time to really go through the material there), Cracking the Coding Interview (skimmed, basic to intermediate stuff here) and Elements of Programming Interviews in Python (skimmed, intermediate to advanced stuff here). I got lucky and recalled the general approach to my FB coding problem from the EPI book. Now for the most important part - create an account on leetcode.com and start practicing. I would recommend focusing on easy and medium levels. I imagine managers would generally get medium-level questions, engineers are expected to solve medium and advanced. My approach was to identify a list of topics, then for every topic read ADM, then CtCI, then EPI, then solve a few easy and medium LC problems, rinse and repeat. I've seen folks recommend that solving ~200 LCs is enough to get comfortable. I didn't have as much time as I would've liked and did about 60. The general idea is to be able to pattern match (e.g. this type of problem needs a hash table, this is a graph problem, etc), some people focus on memorization - I think that's a terrible approach, but most companies do end up asking questions from LC (except Google apparently). With limited time I was flying through topics towards the end, would not recommend. I did pay for Leetcode Premium for a few months - lets you focus on the types of problems that specific companies are asking, was worth it for me.

    Coding aside, I actually spent most of my time preparing for system design interviews. Found that my knowledge of building large systems was not nearly sufficient for interviews. My approach here was to first purchase this course: https://www.educative.io/collection/5668639101419520/5649050... and read through the basics section. It really is basic, so I was supplementing by diving deep into each topic on my own. It's still a pretty useful resource for getting an idea of what breadth I should be targeting, along with https://github.com/donnemartin/system-design-primer. Then I read Designing Data-Intensive Applications (amazing book, but incredibly dense), and finally went through all the concrete design problems on the Grokking course as well as watched a bunch of relevant Youtube videos. Felt a lot more comfortable towards the end and I think did alright on those slots. I think the concept of consistent hashing rings came up in literally every single system design interview, so be super familiar with it and various implementations. My interview experience with these was that the really senior folks were more into depth, and the less senior ones focused on breadth. I'd suggest going for both, e.g. the Grokking course and System Design Primer have decent coverage of breadth of topics, but are absolutely not enough for depth. Maybe you could skate by on breadth alone (I'd say it's more valuable than depth), but why take the chance. Some examples of going deep I encountered were talking about different kinds of load balancers and balancing mechanisms, different ways of traversing a consistent hash ring, different failure modes and workarounds in distributed systems. I originally wasn't going to memorize common latency numbers, but it came up during Google's prep session (they offered one with an interviewer, to give feedback) when I embarrassingly struggled to convert 1 Gbps to 125 MB/s.

    Of course most rounds were non-technical, so I prepared for those with as many questions I could come up with in advance and recalling various scenarios in detail - super important not to assume that these will just come to you during an interview. I also put together a 65-page summary doc of all the stuff I was reviewing, most of it system-design related, that I went over frequently to refresh myself. Finally, the Blind app and levels.fyi were instrumental in opening my eyes on the crazy compensation at those companies and I was able to do a better job negotiating with this info.

    I was fortunate that I had the ability to take the time off to focus on interview prep, and I would 100% not have passed the interviews without it. My cynicism about the whole process only grew, as exactly nothing from my prep was relevant to the day-to-day job at Facebook. ¯\_(ツ)_/¯

  • System Design books/website/videos recommendation?
    2 projects | /r/cscareerquestions | 21 Oct 2021
    https://github.com/sharanyaa/grok_sdi_educative (pirated though)
  • Best way to prepare for system design questions?
    2 projects | /r/cscareerquestions | 5 May 2021
    https://github.com/donnemartin/system-design-primer https://github.com/sharanyaa/grok_sdi_educative/blob/master/grok_system_design_interview.pdf
  • Unpopular Opinion: Leetcode isn't that hard and is much better than comparable professions
    4 projects | /r/cscareerquestions | 6 Apr 2021
    I started here: https://github.com/sharanyaa/grok_sdi_educative. It’s just a print from the course with that name on Educative (but from 2 years ago).

What are some alternatives?

When comparing system-design-primer and grok_sdi_educative you can also consider the following projects:

Grokking-the-Coding-Interview-Patterns - This course categorizes coding interview problems into a set of 16 patterns. Each pattern will be a complete tool - consisting of data structures, algorithms, and analysis techniques - to solve a specific category of problems. The goal is to develop an understanding of the underlying pattern, so that, we can apply that pattern to solve other problems. [UnavailableForLegalReasons - Repository access blocked]

leetcode-patterns - A pattern-based approach for learning technical interview questions

developer-roadmap - Interactive roadmaps, guides and other educational content to help developers grow in their careers.

system-design-interview - System design interview for IT companies

machine-learning-interview - Machine Learning Interviews from FAANG, Snapchat, LinkedIn. I have offers from Snapchat, Coupang, Stitchfix etc. Blog: mlengineer.io.

interview - Everything you need to prepare for your technical interview

awesome-interview-questions - :octocat: A curated awesome list of lists of interview questions. Feel free to contribute! :mortar_board:

manim - Animation engine for explanatory math videos

RELATE - RELATE is an Environment for Learning And TEaching

awesome-system-design - A curated list of awesome System Design (A.K.A. Distributed Systems) resources.

devtron - Tool integration platform for Kubernetes

build-your-own-x - 🤓 Build your own (insert technology here) [Moved to: https://github.com/codecrafters-io/build-your-own-x]