Big Tech Coach
Big Tech Coach
  • 16
  • 92 359
Databases in System Design | Interview Prep Crash Course #2
In this second video of my crash course series, this video is designed to be a quick and easy primer on databases, to help you understand how to use them in a system architecture, in any of your next interview.
🧪 Get your custom System Design Interview prep roadmap: (FREE QUIZ)
bigtechcoach.outgrow.us/system-design-interview-strategy
✏️ Start drawing system diagrams today: (FREE Excalidraw Lib)
bit.ly/3nmfGCj
📺 Speed-up your System Design Interview Preparation: (DISCOUNTED)
bit.ly/3Nn8Qr1
🚀 Ace your system design interview!
#systemdesigninterview #systemdesign #technicalinterview
Переглядів: 1 901

Відео

Services in System Design | Interview Prep Crash Course #1
Переглядів 1,3 тис.Рік тому
In this first video of my crash course series, we're going to discuss the basics of system design. This video is designed to be a quick and easy primer on the subject, designed to help you understand the basics of system design so that you can prepare for your next interview. We explore the hands-on example of how to use services within the architecture of Amazon and Netflix! If you're looking ...
System Design Interview Step-by-Step Guide 🚀 by a Microsoft Engineer
Переглядів 4,7 тис.Рік тому
In this video, I'll guide you through a proven step-by-step process for acing your system design interview and landing your dream job at a big tech companies like google, amazon, apple, meta, microsoft, netflix etc. We'll cover the 6 individual tasks that make up the overall structure of every system design interview, including requirements engineering, capacity estimation, data modeling, API d...
Unlocking System Scalability with Message Brokers
Переглядів 113Рік тому
In this video, we dive into the world of message brokers and explore their role in designing software systems. From understanding what message brokers are and how they work, to discovering the benefits of using them in your system design, this video has got you covered! 👨‍🏫 System Design Interview Bootcamp Video Course bit.ly/sys-des 📺 Github's solution to replication lags ua-cam.com/video/x7QN...
Database Replication Explained | System Design Interview Basics
Переглядів 9 тис.2 роки тому
Relational databases have been around for more than 30 years. Effective Database replication patterns are one of the reasons why they did withstand the test of time so well. Today, we look into the iconic main-replica pattern and ask how does it work and even more importantly how does it scale? This video is part of my system design interview preparation series. 00:00 - Intro 00:36 - Why Replic...
No more Replication Lags @Github? | System Design Interview
Переглядів 2,1 тис.2 роки тому
GitHub, relies on relational MySQL databases as the main database technology with a classic main-replica architecture. this setup is know to suffer from replication lags. How did engineers at Github overcome those issues and successfully scaled their mySQL databases alongside their ever growing user base? 🐦 Follow me on Twitter: hinsencamp 🙌 Our Big Tech Community on discord! discor...
What Are API Keys, And Why Are They So Important? | System Design Interview Basics
Переглядів 49 тис.2 роки тому
API key authentication was invented to overcome the weaknesses of shared credentials which was a big problem in HTTP basic authentication. It can be used for two think. First client app identification, to identify the application that's making a call to your backends API. Second, client app authorization, which checks whether the calling application has been granted access to call the API. 🐦 Fo...
Why is FAANG so obsessed with whiteboard coding interviews?
Переглядів 2812 роки тому
In this video, I shed some light on the reasons why big companies are relying so heavily on whiteboard interviews and probably will continue to do so. 🐦 Follow me on Twitter: hinsencamp 🙌 Our Big Tech Community on discord! discord.gg/6vkw86mHRT ✏️ Download FREE system component library for Excalidraw: bigtechcoach.gumroad.com/l/excalidraw-system-design-symbols ⭐️ Enrol to my 5.0-rat...
Technical Skills FAANG craves to find in you!
Переглядів 6072 роки тому
In this video I share, which technical skills FAANG believe are crucial for this environment and how to make sure you show that you can match their expectations! 🐦 Follow me on Twitter: hinsencamp 🙌 Our Big Tech Community on discord! discord.gg/6vkw86mHRT ✏️ Download FREE system component library for Excalidraw: bigtechcoach.gumroad.com/l/excalidraw-system-design-symbols ⭐️ Enrol to...
Stuck in Your Whiteboard Coding Interview? Here Is What You Should Do...
Переглядів 4682 роки тому
Most coding interview candidates don't know that getting stuck is completely normal. But only the once who overcome this critical moment, pass the interview. In this video I am sharing, the most common reasons why candidates get stuck and how you can prepare yourself to overcome this critical moment. 🔴 Subscribe for more Interview Prep Content: bit.ly/3yohYks 👨‍🏫 System Design Interview Bootcam...
How to Avoid the Biggest Coding Interview Mistakes (FAANG)
Переглядів 3752 роки тому
It's a common misconception that knowing efficient algorithms is enough to ace the whiteboard coding interview at FAANG companies. The truth is, you also need to adopt a systematic approach to avoid mistakes and correct them if needed. 🔴 Subscribe for more Interview Prep Content: bit.ly/3yohYks ⭐️ Content ⭐️ (00:00) Intro (00:39) What to Expect on this Channel? (01:01) Not Asking Clarifying Que...
4 Habits to succeed as a Software Engineer in FAANG
Переглядів 7782 роки тому
Once many software engineers have received their offer from a FAANG company and see the related salary, many start to worry if they can life-up to the expectations. That’s why I share 4 habits which help you to be successful in any FAANG company. 👨‍🏫 System Design Interview Bootcamp Video Course bit.ly/3viltbY 🤓 Read more about system design interview preparation bigtech.coach/ #FAANG #SWE #Car...
Welcome to my channel about Tech, Career & Success!
Переглядів 6512 роки тому
I'm Fabian, on this channel I share everything you need to grow as an engineer, land a dream job in big tech (FAANG) and how to be successful within the tech industry. Therefore You find content on technical topics, like algorithms, data structure, system design, big O notation but also about FAANG companies culture and interviewing process. #FAANG #career #success
LinkedIn SEO Hacks to get FAANG Interviews lined-up?!
Переглядів 2,5 тис.2 роки тому
90% of all FAANG applicants never make it pass the initial CV screening. That's why I share how you can optimize your LinkedIn Profile so big tech recruiters start inviting you personally! 🔴 Subscribe to get more videos all about tech, career and success: bit.ly/3yohYks In this video I share how recruiters see LinkedIn, how you can optimize your profile for better discoverability and conversion...
Availability | System Design Interview Basics 2022
Переглядів 8 тис.3 роки тому
Learn about Availability to ace your system design interview and get an offer of big tech companies like Facebook, Amazon, Apple, Netflix, Google. This video covers the availability patterns of Fallover and Repetition and what you really need to know about them to succeed at your system design interview. 🔴 Subscribe for more on System Design Interview Preparation: bit.ly/3yohYks Learning System...
Scalability | System Design Interview Basics 2022
Переглядів 10 тис.3 роки тому
Scalability | System Design Interview Basics 2022

КОМЕНТАРІ

  • @hafizmfadli
    @hafizmfadli 8 днів тому

    wow this is an amazing explanation, you can wrap several concepts in just a single video. Thanks for creating this video, this video helps me to prepare my incoming interview

    • @big_tech_coach
      @big_tech_coach 5 днів тому

      Awesome to hear that it was that helpful to you!

  • @lonen3rd
    @lonen3rd 12 днів тому

    I find capacity estimation a little hard to prepare for, considering you know what will be asked. A little practice goes a long way though.

    • @big_tech_coach
      @big_tech_coach 5 днів тому

      It is hard to prepare for! Practice should give you enough confidence to come up with a n feasible approach even for systems you haven't seen before. My best advice though, is to verify with your interviewer if they are even interested in capacity estimation, it's likely they allow you to skip this step!

  • @lexicongem
    @lexicongem 17 днів тому

    Redis, DynamoDB, Cassandra & InfluxDB are great examples. I would choose Redis because there are multiple options: in-memory, cloud-hosted Redis, Redis provided by many cloud providers & performance from its replication strategy. DynamoDB has grown past the purel NoSQL zone and it also offers strong consistency reads on primary partitions at a higher cost. So, if the application is planning to go NoSQL and beyond (like strong consistency, GSIs, etc), DynamoDB would be a great choice. What do you think?

  • @YoniFraimorice
    @YoniFraimorice 26 днів тому

    Awesome video Fabian!

  • @mansish72700
    @mansish72700 Місяць тому

    Well explained mate

  • @ronaldchua2210
    @ronaldchua2210 4 місяці тому

    it is abusive

  • @ahmedroma8697
    @ahmedroma8697 4 місяці тому

    Thank you man

  • @nehasinghal9772
    @nehasinghal9772 4 місяці тому

    You are doing great job... keep creating the content related to database. Well explained replication to shards.

  • @brianligat9493
    @brianligat9493 4 місяці тому

    Very well and clearly explained

  • @BarathNatarajan
    @BarathNatarajan 5 місяців тому

    Hey u are doing an amazing job, u deserve more views. please make more content !

    • @big_tech_coach
      @big_tech_coach 5 днів тому

      Thank you so much! I'll plan to come back soon, creating more videos!

  • @BarathNatarajan
    @BarathNatarajan 5 місяців тому

    This deserves more views !!

  • @BarathNatarajan
    @BarathNatarajan 5 місяців тому

    Wonderful explanation !

  • @anubhav_shrivastava
    @anubhav_shrivastava 6 місяців тому

    Great content. I also started UA-cam on being better dev an year ago and it feels awesome to find content like yours.

  • @vijayas8007
    @vijayas8007 7 місяців тому

    wow thank you..nice explanation

  • @shir_st
    @shir_st 8 місяців тому

    This video was amazing and helped me a lot!

  • @trinatruewell9944
    @trinatruewell9944 9 місяців тому

    Hi, are you able to withdrawl from coinstats, and do you need some sort of key to do so. Im not sure if its an API key or if I was about to be scammed. With the company that I invested with advised me to download coinstats because I requested a withdrawl and want to charge me for some kind of key in order to get access of the request.

  • @phatanibrahim746
    @phatanibrahim746 9 місяців тому

    openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.

  • @staspanyukov4822
    @staspanyukov4822 10 місяців тому

    Eventually, they didn't erase replica lags just made them less

  • @mohamedmoideen2061
    @mohamedmoideen2061 10 місяців тому

    Once Report Manager Started, then replication is initialised.

  • @GdeVseSvobodnyeNiki
    @GdeVseSvobodnyeNiki 11 місяців тому

    How to draw the owl: draw two circles and add the details

  • @zaid_ahmad25
    @zaid_ahmad25 11 місяців тому

    Awesome!! Thank you very much 🙏

  • @gabrielsochacki4544
    @gabrielsochacki4544 11 місяців тому

    Great video :) One thing 6:15 SQL stands for structured query language, not standard query language. I don't know why but in the past I thought the same as you 😅

    • @big_tech_coach
      @big_tech_coach 11 місяців тому

      Thanks for sharing Gabriel! It's clearly structured query language (SQL). This one slipped through the quality control 🙃

  • @inderjitsingh2341
    @inderjitsingh2341 11 місяців тому

    This video is really good! Concise explanation with great visuals. You deserve a lot more viewers! I have a few questions: 1. Why do we worry so much about replication and sharding when most of this is taken care by the database system itself. It is not usually implemented at an application level I believe (correct me if I am wrong). 2. How does data replication in SQL databases compare to that in NoSQL databases. 3. What happens in case a user tries to write to the main/master node from 2 multiple instances simultaneously?

    • @big_tech_coach
      @big_tech_coach 11 місяців тому

      Thank you very much! Let me answer your questions : Replication & Sharding: It's crucial for devs to understand these, even if databases handle them. Design impacts efficiency. Some apps might need custom sharding for unique control. SQL vs. NoSQL Replication: SQL often uses master-slave; writes go to master, then replicate to slaves. NoSQL varies: some are peer-to-peer, some use primary-secondary. NoSQL often focuses on availability. Multiple Writes to Master: Databases use locking for consistency. In multi-master setups, conflicts can arise, leading to strategies like "last write wins" or requiring resolution.

    • @inderjitsingh2341
      @inderjitsingh2341 11 місяців тому

      ​@@big_tech_coachUnderstood! Thank you so much for replying!

  • @Yazdun
    @Yazdun 11 місяців тому

    Great content! Thanks for sharing this 👏

  • @Yazdun
    @Yazdun 11 місяців тому

    Great video, I loved it! Keep up the great work 🚀

    • @big_tech_coach
      @big_tech_coach 11 місяців тому

      Thank you @Yazdun, that was quick you coming here from twitter 🙂 Happy to see you like it!

  • @mario17-t34
    @mario17-t34 Рік тому

    Thanks again, I tried use Auth with x-api-key and got <Your request was made with invalid credentials>, does it mean that that API accepts only -Basic authentication?

    • @big_tech_coach
      @big_tech_coach Рік тому

      This issue could have various reasons. Now, let's troubleshoot this: Check the API Key: I'm sure you've already done this, but it never hurts to double-check. Make sure the API key in the "x-api-key" header is correct and in the expected format. Those tiny typos can be sneaky! API Key Permissions: It's possible that the API key you're using doesn't have the right permissions to access the specific resources or endpoints you're trying to reach. Let's see if we can grant it the power it needs. API Key Expiry or Revocation: API keys can sometimes have a limited lifespan or get revoked for security reasons. Check if your key is still valid and kicking. Mind the Endpoint: Ensure that you're sending the API key to the correct endpoint, and using the right HTTP method (GET, POST, etc.) for the request. It's easy to get turned around with those pesky endpoints! If you've gone through the checklist and still find yourself scratching your head, don't worry! API hiccups happen to the best of us. Reach out to the API provider's support team, and they'll be more than happy to lend a hand.

    • @mario17-t34
      @mario17-t34 Рік тому

      @@big_tech_coach Thanks mucho BT!!! I'm armed now !!! In may case ost difficult part is <reach support team>-)

  • @mario17-t34
    @mario17-t34 Рік тому

    very nice explanation, now I'm ready to put this into practice

  • @mohammedk.h.f3016
    @mohammedk.h.f3016 Рік тому

    Very useful. Thanks........

  • @dees_good_vibes3391
    @dees_good_vibes3391 Рік тому

    What site do we use to generate an api key please?

  • @Spade2351
    @Spade2351 Рік тому

    Thank you so much for this video. It answered so many questions I had. Should be a must watch for anyone studying system designs / intro to system designs

    • @fabianhinsenkamp613
      @fabianhinsenkamp613 Рік тому

      Thank you, that's very kind! 😋

    • @Spade2351
      @Spade2351 Рік тому

      @@fabianhinsenkamp613 no ty! I have a systems interview in 2 hours and your videos are covering a ton of points the recruiter told me to study up on

    • @big_tech_coach
      @big_tech_coach Рік тому

      Glad it was helpful!

  • @voidpointer398
    @voidpointer398 Рік тому

    This was easily one of the best videos on availability patterns. Thank You

    • @big_tech_coach
      @big_tech_coach Рік тому

      Thank you Jatin, that's very kind of you! 😋

  • @grantg6728
    @grantg6728 Рік тому

    😚 'promo sm'

  • @DontTakeCrack
    @DontTakeCrack Рік тому

    great! now please explain api key secrets :)

  • @Ten-vt3by
    @Ten-vt3by Рік тому

    This video helps me a lot to understand Scalability even if I'm not familiar with it. Thank you!

  • @asadhussain2598
    @asadhussain2598 Рік тому

    Nice explanation of API Keys. If we want to generate an api-key in the backend server, should I generate a random string of fixed length and then encode it with base64? After that store in database. And then how could I validate the api-key? Once the api-key is validated we can easily filter the user-uuid against the api-key from database.

    • @big_tech_coach
      @big_tech_coach Рік тому

      Good question Asad! Generating a random string of fixed length and then encoding it with Base64 is one way to generate an API key, but it is not necessarily the best approach. A better way would be to use a secure random number generator to create a random string of sufficient length and complexity to ensure that it is highly unlikely to be guessed or brute-forced. Length The exact length and complexity of the key will depend on the level of security. To validate the key you maintain a list of authorized keys on the server-side and check whether the key presented by the client is present in that list. If the key is not present in the list, it is likely that the client is not authorized to access the API and the request should be rejected.

    • @asadhussain2598
      @asadhussain2598 Рік тому

      @Big Tech Coach Thank you for the answer. I'll definitely look for your recommendations. I have also looked solutions from other developers and expert, they recommend to append the checksum and prefex for extra validations.

    • @big_tech_coach
      @big_tech_coach Рік тому

      @@asadhussain2598 Absolutely right approach! Evaluate what options are out there and pick the one that seems most suitable for your context. There are no silver bullet in CS as we all have to learn ourselves at one point in our careers.

    • @asadhussain2598
      @asadhussain2598 Рік тому

      I agreed. Thanks bro

  • @techjinja
    @techjinja Рік тому

    Great Video

  • @tharung2254
    @tharung2254 Рік тому

    Great explanation

  • @soner8780
    @soner8780 Рік тому

    I wanted to learn how they could be dangerous, why should we hide api keys???

    • @big_tech_coach
      @big_tech_coach Рік тому

      Can you clarify, dangerous in which way?

    • @soner8780
      @soner8780 Рік тому

      @@big_tech_coach in any way. For ex. I was making a React weather app, even there the instructor was hiding his api keys. Why should we hide api keys?

    • @big_tech_coach
      @big_tech_coach Рік тому

      @@soner8780 The API key is used to authenticate an client application. If you would get your hands on the key of the instructor of your weather app you could call the API and pretend to be his client application. That becomes an issue especially when the API provider charges per call.

    • @soner8780
      @soner8780 Рік тому

      @@big_tech_coach no. It's a free api.

    • @big_tech_coach
      @big_tech_coach Рік тому

      @@soner8780 request limit? Imagine every of his students hits the API with his key, that's probably too many requests.

  • @nilsfrahm1323
    @nilsfrahm1323 Рік тому

    Replication is also used for distributed, ocasionally connected apps. This tutorial doesn't mention anything about it. Just because websites using databases with replication is popular now, doesn't mean replication doesn't have other uses. It would be interesting to see a tutorial on replication for distributed databases, all handling reads and writes with thousands of tables, frequently changed schema and how updates are handled in such a system.

  • @jibranjaved6165
    @jibranjaved6165 Рік тому

    Nice! So database system will take care of copying data to slaves, it is matter of configuration on database system level....what about routing read n writing request to the respective db node,would that b implemented on the application level via some gateway to filter n send to respective db i.e., read or write???that is matter of configuration on load balancer or that would b explicitly written by app developer on gateway level?

    • @big_tech_coach
      @big_tech_coach Рік тому

      Hi Jibran :-D Good questions! main-replica strategies are typically configured on database level. Routing is not a concern to application level design. You wouldn't manually define which node to address for reads or writes, that all happens on system level.

  • @MirosawNowak
    @MirosawNowak Рік тому

    Could you explain the difference beetwen app and user identification? I am who create, store and administrate API keys? BTW Great video! Thanks a lot:)

    • @big_tech_coach
      @big_tech_coach Рік тому

      Thank! The difference between user and app identification always causes confusion. Let's say you run a startup, and you provide the most granular weather data world-wide via API to your paying customers. Somehow you need to make sure only frontends of customers can connect to your REST API that's why you would hand out API keys to your customers to make sure you can tell apart the good from the bad requests. User identification is a concern when you want to control the access to your API based individual user characteristics. You probably want only employees of your paying customers to be able to access the API, that's when you start to be concerned about the identity of who makes the API calls to your service.

  • @jibin7277
    @jibin7277 Рік тому

    Excellent content. You need more viewers

  • @ayasswain
    @ayasswain Рік тому

    Nice explanation of API keys. May i know the drawing tool that you use for your system design diagrams? The diagrams that is shown at 3:42 are beautiful, neat and easy to understand.

    • @big_tech_coach
      @big_tech_coach Рік тому

      Hi Ayaskant, thanks! The tool is called excalidraw, it's free and here you find the component library I created for it. bigtechcoach.gumroad.com/l/excalidraw-system-design-symbols It's free too, but a donation is always welcome ;-)

  • @richekwere66
    @richekwere66 Рік тому

    Thanks for this

  • @mopsyched
    @mopsyched Рік тому

    Good work Lad! To summarize: Availability is removing a single point of failure or ensuring your average downtime over a UNIT (year, month, xzy) is as low as possible. Many companies have SLAs 99.9%.. which means Availability is not 100% uptime (this is more tightly coupled to reliability). Availability is a High-level topic or best practice since its a BIG PICTURE. Best practices include: 1. redundancy( Nodes/Process) : DB level App Level Ensures backup nodes to take controlled of lost node Example: Multiple Redundant DCs, or More Primary and secondary nodes (Active Passive ). 2. Replication of Data : or Making those out of sync redundant nodes synched or ensures consistency (eventual or perfect) 3. Fail Over strategies set ( SINGLE LEADER, MULTIPLE LEADERS). 4. Load Balancers

  • @pavelbazin8734
    @pavelbazin8734 2 роки тому

    Such a great information. Thank you so much!

  • @bmb3283
    @bmb3283 2 роки тому

    What if you are targeting remote / WFH SaaS jobs? What should you do for "location" if you don't want to be filtered out and come up for roles as long as they are remote?

  • @ozobi2961
    @ozobi2961 2 роки тому

    Great teaching. I wish you had more views and support cause these are excellent.

    • @big_tech_coach
      @big_tech_coach 2 роки тому

      Thank you Oz, I will get there no worries!

  • @colocolo49
    @colocolo49 2 роки тому

    your background music is sometimes louder than your voice.

    • @big_tech_coach
      @big_tech_coach 2 роки тому

      Thanks John, I fixed the issue in my more recent videos.

  • @jayshah5695
    @jayshah5695 2 роки тому

    volume too low

    • @big_tech_coach
      @big_tech_coach 2 роки тому

      Thanks for pointing that out jay! I fix it for the next one.