3.6 KiB
Секция системного дизайна в Тинькофф
Обсуждаем проектирование системы. Во время секции предложим Вам разработать дизайн системы по набору требований.
Как проходит секция
Вам будет предложен набор функциональных требований к системе. В течение часа Вам предстоит формализовать задачу, спроектировать API системы, оценить нагрузку и необходимые мощности, спроектировать модели и потоки данных.
В зависимости от направления Вашей деятельности, акцент может быть сделан на различные аспекты системы — например, на архитектуру веб-интерфейса в случае, если Вы — фронтенд-разработчик.
Для визуализации процесса проектирования используется онлайн-доска Sketchboard. Для упрощения работы с обширной палитрой данного инструмента в ходе секции рекомендуется пользоваться только элементами раздела Software Sketching.
Один из наших сотрудников выступил на конференции ArchDays 2021 с докладом "Дизайн секции как проверка навыков проектирования систем на собеседованиях", в котором он подробно рассказал про то, как выглядит интервью по дизайну систем, что на нем оценивается и зачем все это надо. Расшифровка выступления доступна в статье на Medium.
Материалы для подготовки
Сайты:
- System Design Primer — базовые темы и упражнения по дизайну систем, а также упражнения по объектно-ориентированному анализу и проектированию.
- Architectural Katas — множество примеров архитектурных задач.
- System Design Interview и как к ним подготовиться - описание ожиданий от позиций и дополнительные материалы, которые помогут подготовиться
- Публичное System Design Interview на конференции C++ Russia 2022 - интервью по системному дизайну, которое мы провели для того, чтобы показать как оно может выглядеть
Книги:
- Высоконагруженные приложения. Программирование, масштабирование, поддержка / Мартин Клеппман. В книге достаточно просто объясняют теорию