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

Поделиться
HTML-код
  • Опубликовано: 18 окт 2024
  • Видео с онлайн-конференции Software Architecture fwdays'21, которая прошла с 27 октября по 2 ноября 2021 года.
    Описание доклада:
    Что делать, когда просят сделать дизайн системы типа RUclips с его петабайтами видео и миллионами пользователей? 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/eve...
    Больше докладов и видео по теме конференции:
    fwdays.com/eve...
    Fwdays более 10 лет занимается организацией масштабных конференций для разработчиков таких направлений: JavaScript, .NET, Python, Data Science, PHP, QA, Highload, Architecture, DevOps, Databases.
    Больше информации про актуальные события:
    fwdays.com/events
    Подписывайтесь, чтобы первыми узнавать про старт продаж билетов по самой выгодной цене:
    Facebook: / fwdays
    Twitter: / fwdays
    Telegram: t.me/highload_...

Комментарии • 55

  • @WasaPle
    @WasaPle Год назад +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?"

  • @megagluik100
    @megagluik100 Год назад +11

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

  • @antipov_ma
    @antipov_ma Год назад +6

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

  • @brothers_karamazovs
    @brothers_karamazovs 2 года назад +10

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

  • @iambusybox
    @iambusybox Год назад +11

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

    • @Ahelhot
      @Ahelhot Год назад +3

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

    • @roman.chudov
      @roman.chudov Год назад

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

  • @hello_world_zz
    @hello_world_zz 2 года назад +5

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

  • @maks_golovkin
    @maks_golovkin 2 года назад +4

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

  • @ИльяСулиманов-ш1э
    @ИльяСулиманов-ш1э Год назад +1

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

  • @olegkornienko568
    @olegkornienko568 3 месяца назад

    нереально круто! спикер красавчик! очень полезно и информативно

  • @ilia2351
    @ilia2351 10 месяцев назад

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

  • @vladtokarev146
    @vladtokarev146 6 месяцев назад

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

  • @muxa000
    @muxa000 2 года назад +1

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

  • @gian_tiaga
    @gian_tiaga 3 месяца назад

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

  • @suhanoves
    @suhanoves 2 месяца назад

    Доклад шикарный, но я не понял момента, как Feed Generation знает, кому распихивать новое сообщение какого-то пользователя. Он же должен знать, кто подписан на него, т.е. у него должен быть где-то этот стейт сохранён, если он его получил из NewsFeed через стриминг

  • @pavelmalynin6433
    @pavelmalynin6433 2 года назад +5

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

  • @zmicierjarasevic6562
    @zmicierjarasevic6562 2 года назад +1

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

  • @GeorgeKorobkov
    @GeorgeKorobkov 2 года назад +1

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

  • @bohdan4677
    @bohdan4677 2 года назад +12

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

  • @OlegGoritsyn
    @OlegGoritsyn 2 года назад +2

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

  • @iintersergey
    @iintersergey Год назад

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

  • @endyrocketstar
    @endyrocketstar 6 месяцев назад

    я в восторге

  • @GrabsOrion
    @GrabsOrion 5 месяцев назад

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

  • @TTTuTTT
    @TTTuTTT 5 месяцев назад

    Годнота!

  • @daniil5012
    @daniil5012 2 года назад +1

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

  • @olegmykolaichenko6570
    @olegmykolaichenko6570 2 года назад +1

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

  • @aleksmail5119
    @aleksmail5119 2 года назад +2

    Крутяк!

  • @anvidim
    @anvidim 9 месяцев назад

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

  • @codingpas
    @codingpas Год назад +1

    профи

  • @troykohler6376
    @troykohler6376 2 года назад +1

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

  • @ercefwxdx
    @ercefwxdx 2 месяца назад

    Дякую

  • @Jeffery404
    @Jeffery404 2 года назад

    Top!

  • @andrewfrolov893
    @andrewfrolov893 2 года назад

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

    • @buginsystem8925
      @buginsystem8925 28 дней назад +1

      Реально успеть поразмышлять над тем, как бы ты это решал, и обсудить свои идеи. Схемы просто для удобства (твоего, интервьюера), тут смотри сам

  • @slaviksemen4919
    @slaviksemen4919 2 года назад

    🔥

  • @slavanikulin8069
    @slavanikulin8069 Год назад

    красно дякую

  • @romanyukartem757
    @romanyukartem757 2 года назад +3

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

    • @OlegGoritsyn
      @OlegGoritsyn 2 года назад +1

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

  • @alexanderandryukov2187
    @alexanderandryukov2187 11 месяцев назад

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

  • @mandarin_losik
    @mandarin_losik 2 года назад +3

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

    • @brtnai
      @brtnai 2 года назад +7

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

  • @leonidkazak1918
    @leonidkazak1918 Месяц назад

    Все бы неплохо, но ужасно поставленная речь, неприятно слушать. Говорил бы по-украински лучше.

  • @get_out_it
    @get_out_it 2 года назад

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

    • @orlem5837
      @orlem5837 Год назад +6

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

    • @get_out_it
      @get_out_it Год назад

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

    • @DmitriiRepnikov
      @DmitriiRepnikov Год назад

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

    • @orlem5837
      @orlem5837 Год назад +2

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

    • @voiceoftruth1260
      @voiceoftruth1260 Год назад

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