К основному содержимому
Логотип ArchDays
ArchDays 2022 · 21 октября 2022

Как пройти System Design Interview

Подготовка и поведение на секции

/ Как пройти System Design Interview · ArchDays 2022

Содержание слайдов

  1. 1. Как пройти System Design Interview

    Подготовка и поведение на секции

  2. 2. Александр Поломодов

    Роль на момент доклада · 2022

    Александр Поломодов, CTO мобильного банка и привлечения, Тинькофф

    Фокус — Курировал архитектурные вопросы

    Контекст — Курировал System Design Interview · Интервьюировал технических руководителей

    Курировал архитектурные вопросы

    Курировал System Design Interview

    Интервьюировал технических руководителей

  3. 3. От найма до поведения кандидата

    Карта доклада

    Найм и семь шагов

    Требования, границы, потоки

    Схемы, технологии, масштабирование

    Поведение и материалы

  4. 4. System Design проверяет Senior и Senior+

    Junior и Middle — без этой секции

  5. 5. Архитектура рождается по шагам

    От условия задачи до уточнений

  6. 6. 02. Формализация

    До первой линии на доске

  7. 7. Сначала уточните задачу

    Сценарии, объёмы, приоритеты

    Что входит и не входит

    Кто и зачем пользуется

    Какие объёмы ожидаются

    Что важнее всего

  8. 8. Приоритеты направляют архитектуру

    Сайзинг связывает требования с масштабом

  9. 9. Изучайте язык требований

    Функциональность и архитектурные качества

    UML Use Cases

    User Story и JTBD

    ATAM для компромиссов

    Вигерс и Эйскенс

  10. 10. 03. Границы системы

    Система в своём окружении

  11. 11. Граница начинается со сценария

    Files, DB, API или Messaging

  12. 12. Понимайте путь каждого запроса

    От контекста до балансировщика

    C4 System Context

    REST, RPC, GraphQL, AsyncAPI

    OSI, TCP/IP, DNS

    HTTP/1.1–HTTP/3 и WebSockets

  13. 13. 04. Потоки

    Компоненты появляются из поведения

  14. 14. Happy path открывает исключения

    Затем нагрузка и отказы частей

  15. 15. Проследите чтение и запись

    С учётом архитектурных характеристик

    Проследите read path

    Проследите write path

    Наложите ключевые NFR

    Балансируйте read/write path

  16. 16. Выбирайте схему под вопрос

    Что изучить для потоков

    C4 показывает контейнеры

    Sequence раскрывает взаимодействия

    Activity описывает ветвления

    IDEF0, DFD и BPMN — потоки

  17. 17. 05. Концептуальная схема

    Сначала классы решений

  18. 18. Сначала ответственность, потом продукт

    Stateful, stateless, данные и контексты

  19. 19. Соедините модель и хранение

    Данные определяют доступ

    RDBMS и классы NoSQL

    ER и Class Diagram

    DDD и bounded contexts

    Twelve-Factor App

  20. 20. 06. Реальная схема

    Технологии, гарантии, эксплуатация

  21. 21. Технология должна выдерживать обещание

    Гарантии, мощность, домены отказа

  22. 22. Проектирование продолжается после запуска

    Эксплуатация и развитие

    Логи и мониторинг

    Миграции схемы и данных

    Инструменты SRE — руками

    Книги SRE от Google

  23. 23. 07. Под нагрузкой

    Разные состояния — разные рычаги

  24. 24. Состояние определяет масштабирование

    Оркестраторы, Replication, Partitioning, Sharding

  25. 25. Масштабируйте под реальные обращения

    Гарантии меняются вместе с топологией

    Начните с паттернов доступа

    Назовите модель согласованности

    Читайте DDIA и Database Internals

    Подтвердите нагрузочным тестом

  26. 26. Управляйте разговором, не угадывайте

    Думайте вслух, реагируйте на подсказки

  27. 27. Углубляйтесь по четырём направлениям

    Все ссылки — в посте «Книжного куба»

    Требования и компромиссы

    Сети и интеграции

    Данные и распределённость

    Надёжность и эксплуатация

  28. 28. Сначала смысл, затем технология

    Семь шагов удерживают разговор целиком

    polomodov.tech

    Уточняйте, проводите потоки, объясняйте компромиссы

    Александр Поломодов, Автор и спикер, ArchDays 2022

    @book_cube