Как задизайнить Facebook за пол часа или секреты System Design Interview [rus] / Алексей Петров

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ม.ค. 2022
  • Видео с онлайн-конференции Software Architecture fwdays'21, которая прошла с 27 октября по 2 ноября 2021 года.
    Описание доклада:
    Что делать, когда просят сделать дизайн системы типа TH-cam с его петабайтами видео и миллионами пользователей? Twitter с сотнями тысяч людей, пишущих свои мысли примерно с той же частотой, как те появляются в уме? Как бы выглядел дизайн Clubhouse или TikTok?
    Сотни тысяч человеко-часов работы просят спроектировать через 30-40 минут. Да и как должен выглядеть этот дизайн? Что от вас ожидают и какой результат требуется? О чем следует беспокоиться, а о чем нет? Как не впасть в ступор от поставленной задачи и выдать хоть что-нибудь?
    Полное погружение во все аспекты System Design Interview на этом докладе.
    Доклад будет полезен:
    - Архитекторам и Тех. лидам, которым нужно давать варианты дизайна быстро и сразу в рамках митингов с заказчиком или командой.
    - Девелоперам, желающим проходить собеседование в топ компании. System Design интервью становится неотъемлемым этапом в этом процессе.
    Таймкоды:
    03:20 - System Design vs Coding Interview
    04:55 - System Design Interview Assessment
    07:27 - Interview Plan. Design Facebook
    14:51 - Estimates
    17:03 - API
    18:12 - High-level System Design
    23:33 - Detailed Design
    26:39 - Performance Mantras
    32:13 - Scalability and Bottlenecks
    37:16 - Feed Generation
    40:21 - Feed DB Estimate
    43:57 - Have we built the Facebook? What was the point?
    45:16 - Interview Tips
    48:10 - Useful Stuff
    48:52 - Q&A
    Страница доклада:
    fwdays.com/event/architecture...
    Больше докладов и видео по теме конференции:
    fwdays.com/event/architecture...
    Fwdays более 10 лет занимается организацией масштабных конференций для разработчиков таких направлений: JavaScript, .NET, Python, Data Science, PHP, QA, Highload, Architecture, DevOps, Databases.
    Больше информации про актуальные события:
    fwdays.com/events
    Подписывайтесь, чтобы первыми узнавать про старт продаж билетов по самой выгодной цене:
    Facebook: / fwdays
    Twitter: / fwdays
    Telegram: t.me/highload_fwdays
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 46

  • @WasaPle
    @WasaPle 11 หลายเดือนก่อน +1

    03:02 - "What is System Design Interview?"
    03:25 - "System Design vs Coding Interview"
    04:58 - "System Design Interview Assesment"
    07:36 - "Interview Plan"
    09:02 - "Requirements clarifications"
    14:54 - "Estimation Cheat Sheet"
    17:08 - "API"
    18:14 - "High-level System Design"
    19:49 - "Facebook High-level Design"
    23:35 - "Detailed Design"
    26:39 - "Performance Mantras"
    28:25 - "Does this strategy make sense before continue trying?"
    29:53 - "Facebook Requirements"
    31:13 - "Does make sense for this part of a system?"
    32:17 - "Scalability and Bottlenecks"
    38:58 - "Performance Mantras"
    40:21 - "Feed DB Estimate"
    43:57 - "Facebook Requirements"
    44:03 - "Have we built the Facebook?"
    44:15 - "What was the point?"
    45:16 - "Interview Tips"
    48:11 - "Useful Stuff"
    48:37 - "Who am I?"

    • @fwdays
      @fwdays  11 หลายเดือนก่อน

      Thanks!

  • @brothers_karamazovs
    @brothers_karamazovs ปีที่แล้ว +10

    Спасибо за столь лаконичный, но содержательный доклад!)

  • @megagluik100
    @megagluik100 ปีที่แล้ว +11

    просто невероятно мощный разблр систем дизайна! большое спасибо за видео, было чудовищно полезно

  • @antipov_ma
    @antipov_ma ปีที่แล้ว +6

    Спасибо за доклад 👍 Стало понятнее, что ожидается от кандидата на system design интервью

  • @muxa000
    @muxa000 ปีที่แล้ว +1

    Это было чрезвычайно полезно, спасибо!

  • @user-yp5kl8hp9x
    @user-yp5kl8hp9x 2 ปีที่แล้ว +4

    Толково рассказано, без воды!

  • @GeorgeKorobkov
    @GeorgeKorobkov ปีที่แล้ว +1

    Отличное видео. Спасибо!

  • @zmicierjarasevic6562
    @zmicierjarasevic6562 ปีที่แล้ว +1

    Крутой доклад!

  • @vladtokarev146
    @vladtokarev146 2 หลายเดือนก่อน

    Отличное видео, спасибо Алексей

  • @user-te9si9vd2q
    @user-te9si9vd2q ปีที่แล้ว +1

    Лучшее видео по system design в рунете, что я видел

  • @olegmykolaichenko6570
    @olegmykolaichenko6570 2 ปีที่แล้ว +1

    Отлично, спасибо!

  • @iintersergey
    @iintersergey 11 หลายเดือนก่อน

    Крутой доклад, спасибо

  • @daniil5012
    @daniil5012 2 ปีที่แล้ว +1

    огонь, спасибо!

  • @iambusybox
    @iambusybox ปีที่แล้ว +11

    Доклад хорош и автору респект, но шардирование базы на запись по post_id это засада. Может распределение нагрузки и улучшится, но локализация нужнее, тк как правило в таких системах есть необходимость выдавать по запросу все посты юзера, соответственно шардировать базу на запись нужно по user_id, иначе придётся городить огород с дополнительной организацией какой-то структуры, из которой можно быстро достать все посты юзера. Меня так поймали на реальном интервью по систем дизайну твиттера.

    • @Ahelhot
      @Ahelhot ปีที่แล้ว +3

      да, шардировать по postid худшая идея. В видео для получения фида знаменитостей нужно делать отдельный запрос в базу. Но мы же не знаем в какую именно базу делать запрос. Получается единственный способ с таким шардированием найти посты знаменитости, это сделать X запросов во все шарды базы, где x - кол-во шардов.

    • @roman.chudov
      @roman.chudov 8 หลายเดือนก่อน

      Так он же там несколько вариантов представил, в том числе и по юзер ид. Просто для объяснения разницы разные примеры привел

  • @ilia2351
    @ilia2351 6 หลายเดือนก่อน

    Очень содержательно и доступно. Спасибо!

  • @troykohler6376
    @troykohler6376 2 ปีที่แล้ว +1

    спасибо, очень полезно

  • @hello_world_zz
    @hello_world_zz ปีที่แล้ว +5

    класс, спасибо. Очень напоминает книгу: "System Design Interview An Insider’s Guide by Alex Xu". Советую перед просмотром прочитать

  • @aleksmail5119
    @aleksmail5119 2 ปีที่แล้ว +2

    Крутяк!

  • @pavelmalynin6433
    @pavelmalynin6433 ปีที่แล้ว +5

    Всё классно, спасибо. Но в теме MultiRegion отражена связь только для генерации фидов, НО не отражена связь между "регионами" для "проблемы знаменитостей". Хотелось бы понять, какие тут варианты будут

  • @TTTuTTT
    @TTTuTTT หลายเดือนก่อน

    Годнота!

  • @endyrocketstar
    @endyrocketstar 2 หลายเดือนก่อน

    я в восторге

  • @Jeffery404
    @Jeffery404 ปีที่แล้ว

    Top!

  • @GrabsOrion
    @GrabsOrion หลายเดือนก่อน

    Не факт что генерация фидов в отдельном сервисе будет быстрее запросов к единой БД. И непонятно, почему из-за объема данных выбран nosql.

  • @andrewfrolov893
    @andrewfrolov893 ปีที่แล้ว

    Это всё реально нарисовать за час при удалённом интервью - все эти схемы, таблицы БД, список требований?

  • @slaviksemen4919
    @slaviksemen4919 2 ปีที่แล้ว

    🔥

  • @bohdan4677
    @bohdan4677 2 ปีที่แล้ว +12

    Хороший доклад. Чтобы уточнить все требования, 4х минут мало. Иногда на это может уходить 4 месяца ))))

  • @codingpas
    @codingpas ปีที่แล้ว +1

    профи

  • @slavanikulin8069
    @slavanikulin8069 ปีที่แล้ว

    красно дякую

  • @OlegGoritsyn
    @OlegGoritsyn 2 ปีที่แล้ว +1

    Тренуюсь до СД інтерв’ю декілька місяців, але був приємно вражений доповіддю. Наприклад тайм бокси менші ніж я звик і це має сенс, бо я майже ніколи не встигав все покрити, після доповіді стало зрозуміло де можна зрізати кути.

  • @anvidim
    @anvidim 5 หลายเดือนก่อน

    один символ - один байт, а для метадаты поста берем 10 000байт. Не слишком ли много? это если откинуть даты, id, path-ы и еще столько же по 10 раз, останется много тысяч символов под текст

  • @romanyukartem757
    @romanyukartem757 2 ปีที่แล้ว +3

    Що мається на увазі під номальним сервером, конкретніше будь ласка?
    Дякую за доповідь!

    • @OlegGoritsyn
      @OlegGoritsyn 2 ปีที่แล้ว +1

      Окрема фізична машина, а не віртуалка, яку зазвичай продають за $5-10/m

  • @alexanderandryukov2187
    @alexanderandryukov2187 7 หลายเดือนก่อน

    Русский язык походу все ... У часа повяился пол (

  • @mandarin_losik
    @mandarin_losik ปีที่แล้ว +3

    Настолько интересная тема, насколько у рассказчика не получается интересно излагать :/

    • @brtnai
      @brtnai ปีที่แล้ว +7

      Кому как, мне было очень интересно.

  • @get_out_it
    @get_out_it ปีที่แล้ว

    Очень сложно слушать, такое впечатление что автор говорит на иностранном языке. Дикцию все же нужно тренировать

    • @orlem5837
      @orlem5837 ปีที่แล้ว +5

      Докладчик украинец, скажи спасибо, что вообще на русском рассказывает

    • @get_out_it
      @get_out_it ปีที่แล้ว

      @@orlem5837 я знаю и другие языки. Можно на украинмком или английском вещать

    • @DmitriiRepnikov
      @DmitriiRepnikov ปีที่แล้ว

      ​@@orlem5837 понимаю что болезненный вопрос сейчас, но факт таков, что многие украинцы говорят на русском далеко не хуже русских) У спикера реально особенность дикции, что не всегда легко разобрать фразы, и думаю язык тут не причем. Но это не важно, материал хороший и большое спасибо за него.

    • @orlem5837
      @orlem5837 ปีที่แล้ว +1

      @@DmitriiRepnikov характерный говор в той или иной степени есть у всех. Дело не в том, что они говорят лучше или хуже, а в том, что многие из них сейчас предпочитают принципиально придерживаться мовы. Достаточно пройти по популярным украинским IT каналам, которые вещали на русском, а потом переключились на свой сельский западенский суржик, который и с Украинским языком имеет немного общего. Так что спасибо оратору за то, что решил охватить бОльшую аудиторию

    • @voiceoftruth1260
      @voiceoftruth1260 9 หลายเดือนก่อน

      @@orlem5837 сказал человек, говорящий на искуственном результате смеси нескольких языков:
      околославянский койне,
      финские языки,
      тюркские языки
      и, наконец, болгарский язык как язык православных текстов и религиозных культов.
      Вся эта смесь в итоге и стала основой для нынешнего русского языка.
      Сегодня российские лингвисты в основном сводят истоки современного русского языка только к двум составляющим: это народный язык россии, отнюдь не славянский, а славяно-финский койне с большим тюркским и монгольским влиянием и болгарский древнеболгарский, он же церковнославянский .
      В качестве третьего языка россии можно назвать современный литературный русский язык, который является совершенно искусственным кабинетным изобретением, эдаким эсперанто на основе двух указанных выше языков.
      Поэтому чехи, словаки, поляки, беларусы и украинцы, понимают разнообразные диалекты славянских языков без переводчиков, и только одни так называемые русские их не понимают, им кажутся непонятными даже так называемые восточно-славянские языки Беларуси и Украины.