Как задизайнить 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_...
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?"
Thanks!
просто невероятно мощный разблр систем дизайна! большое спасибо за видео, было чудовищно полезно
Спасибо за доклад 👍 Стало понятнее, что ожидается от кандидата на system design интервью
Спасибо за столь лаконичный, но содержательный доклад!)
Доклад хорош и автору респект, но шардирование базы на запись по post_id это засада. Может распределение нагрузки и улучшится, но локализация нужнее, тк как правило в таких системах есть необходимость выдавать по запросу все посты юзера, соответственно шардировать базу на запись нужно по user_id, иначе придётся городить огород с дополнительной организацией какой-то структуры, из которой можно быстро достать все посты юзера. Меня так поймали на реальном интервью по систем дизайну твиттера.
да, шардировать по postid худшая идея. В видео для получения фида знаменитостей нужно делать отдельный запрос в базу. Но мы же не знаем в какую именно базу делать запрос. Получается единственный способ с таким шардированием найти посты знаменитости, это сделать X запросов во все шарды базы, где x - кол-во шардов.
Так он же там несколько вариантов представил, в том числе и по юзер ид. Просто для объяснения разницы разные примеры привел
класс, спасибо. Очень напоминает книгу: "System Design Interview An Insider’s Guide by Alex Xu". Советую перед просмотром прочитать
Толково рассказано, без воды!
Лучшее видео по system design в рунете, что я видел
нереально круто! спикер красавчик! очень полезно и информативно
Очень содержательно и доступно. Спасибо!
Отличное видео, спасибо Алексей
Это было чрезвычайно полезно, спасибо!
Отличная подача, спасибо
Доклад шикарный, но я не понял момента, как Feed Generation знает, кому распихивать новое сообщение какого-то пользователя. Он же должен знать, кто подписан на него, т.е. у него должен быть где-то этот стейт сохранён, если он его получил из NewsFeed через стриминг
Всё классно, спасибо. Но в теме MultiRegion отражена связь только для генерации фидов, НО не отражена связь между "регионами" для "проблемы знаменитостей". Хотелось бы понять, какие тут варианты будут
Крутой доклад!
Отличное видео. Спасибо!
Хороший доклад. Чтобы уточнить все требования, 4х минут мало. Иногда на это может уходить 4 месяца ))))
Да
Тренуюсь до СД інтерв’ю декілька місяців, але був приємно вражений доповіддю. Наприклад тайм бокси менші ніж я звик і це має сенс, бо я майже ніколи не встигав все покрити, після доповіді стало зрозуміло де можна зрізати кути.
Крутой доклад, спасибо
я в восторге
Не факт что генерация фидов в отдельном сервисе будет быстрее запросов к единой БД. И непонятно, почему из-за объема данных выбран nosql.
Годнота!
огонь, спасибо!
Отлично, спасибо!
Крутяк!
один символ - один байт, а для метадаты поста берем 10 000байт. Не слишком ли много? это если откинуть даты, id, path-ы и еще столько же по 10 раз, останется много тысяч символов под текст
профи
спасибо, очень полезно
Дякую
Top!
Это всё реально нарисовать за час при удалённом интервью - все эти схемы, таблицы БД, список требований?
Реально успеть поразмышлять над тем, как бы ты это решал, и обсудить свои идеи. Схемы просто для удобства (твоего, интервьюера), тут смотри сам
🔥
красно дякую
Що мається на увазі під номальним сервером, конкретніше будь ласка?
Дякую за доповідь!
Окрема фізична машина, а не віртуалка, яку зазвичай продають за $5-10/m
Русский язык походу все ... У часа повяился пол (
Настолько интересная тема, насколько у рассказчика не получается интересно излагать :/
Кому как, мне было очень интересно.
Все бы неплохо, но ужасно поставленная речь, неприятно слушать. Говорил бы по-украински лучше.
Очень сложно слушать, такое впечатление что автор говорит на иностранном языке. Дикцию все же нужно тренировать
Докладчик украинец, скажи спасибо, что вообще на русском рассказывает
@@orlem5837 я знаю и другие языки. Можно на украинмком или английском вещать
@@orlem5837 понимаю что болезненный вопрос сейчас, но факт таков, что многие украинцы говорят на русском далеко не хуже русских) У спикера реально особенность дикции, что не всегда легко разобрать фразы, и думаю язык тут не причем. Но это не важно, материал хороший и большое спасибо за него.
@@DmitriiRepnikov характерный говор в той или иной степени есть у всех. Дело не в том, что они говорят лучше или хуже, а в том, что многие из них сейчас предпочитают принципиально придерживаться мовы. Достаточно пройти по популярным украинским IT каналам, которые вещали на русском, а потом переключились на свой сельский западенский суржик, который и с Украинским языком имеет немного общего. Так что спасибо оратору за то, что решил охватить бОльшую аудиторию
@@orlem5837 сказал человек, говорящий на искуственном результате смеси нескольких языков:
околославянский койне,
финские языки,
тюркские языки
и, наконец, болгарский язык как язык православных текстов и религиозных культов.
Вся эта смесь в итоге и стала основой для нынешнего русского языка.
Сегодня российские лингвисты в основном сводят истоки современного русского языка только к двум составляющим: это народный язык россии, отнюдь не славянский, а славяно-финский койне с большим тюркским и монгольским влиянием и болгарский древнеболгарский, он же церковнославянский .
В качестве третьего языка россии можно назвать современный литературный русский язык, который является совершенно искусственным кабинетным изобретением, эдаким эсперанто на основе двух указанных выше языков.
Поэтому чехи, словаки, поляки, беларусы и украинцы, понимают разнообразные диалекты славянских языков без переводчиков, и только одни так называемые русские их не понимают, им кажутся непонятными даже так называемые восточно-славянские языки Беларуси и Украины.