Files
tinkoff-career/interview/sections/system-design-web.md

23 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Секция по дизайну для WEB направления
## Формат секции
- Продолжительность: 60 минут
- Формат: Будет использоваться сервис похожий на https://excalidraw.com/ в котором можно будет "порисовать" систему
- Кто проходит секцию: синьоры или выше
На этой секции мы хотим узнать ваш опыт проектирования и сопровождения Web приложений, а так-же как вы можете решить задачи связанные с проектированием систем. Фокус секции будет на Web приложении.
### Этапы секции
- Сбор требований - будет дана задача и на этом этапе проверяем как кандидат может собрать требования. Можно и нужно задавать вопросы и выяснить основные, критичные момент которые потребуются дальше
- Проработка верхнеуровнего дизайна - оцениваем опыт в организации инфрастуктуры для WEB приложений. Какие системы используются, чтобы пользователь мог увидеть результат в браузере?
- Проработка структуры приложения - оцениваем опыт в проектировании приложения на выбранных кандидатом технологий. Как будет приложение разбито на компоненты/модули
- Проработка данных - оцениваем опыт в организации общения между клиентом и сервером, а так-же где и как будут храниться данные в приложении.
- Производительность/Безопасность - оцениваем опыт в улучшении производительности приложений, так и исправления/учитывания особенностей связанных с безопасностью
## Материалы для подготовки
- Подумайте о том, как устроены внутри типичные сайты/сервисы средних или крупных компаний
- Подумайте о верхнеуровнем дизайне сервиса и какие системы участвуют, когда заходит пользователь на сайт?
- Как разбита логика внутри и какие есть челенжи? (часто можно найти доклады в которых разработчики рассказывают о своем проекте и как он устроен)
- Как разбивают логику на компоненты, чтобы можно было поддерживать и реиспользовать?
- [Front-End Engineer](https://www.youtube.com/channel/UC6YpkaZsAcAvPNt4rLiS7dg) - хороший канал с разбором базовых задач, с описанием формата
- Книга "Чистая архитектура. Искусство разработки программного обеспечения | Мартин Роберт"