Вернуться в видеотеку

Mock-собеседование со студентом курса Golang // Демо-занятие курса «Golang Developer. Professional»

Демонстрационное мок-собеседование по системному дизайну и backend-разработке для Go-разработчика. После технической части ведущий разбирает ответы кандидата и рассказывает о содержании курса.

Источник: OTUS IT Онлайн - образование

Открыть на YouTube

Таймлайн

Коротко о видео

Это открытый урок OTUS в формате мок-интервью с бывшим студентом: преподаватель проверяет знания по производительности баз данных, масштабированию и паттернам бэкенда. Обсуждаются диагностика медленных SQL-запросов через EXPLAIN, индексы и B-tree, репликация, шардинг, партиционирование, балансировка, кэширование и очереди сообщений. В конце разбираются Saga и двухфазный коммит, затем участнику дают обратную связь и презентуют программу курса Golang Developer. Professional.

Затронутые темы

Что взять на заметку

  • Начинать поиск причин медленной работы БД стоит с логов медленных запросов и EXPLAIN, затем проверять план выполнения, индексы и характер SQL-запросов.
  • Нужно уметь объяснить, почему B-tree подходит для дисковых индексов: высокая ветвистость уменьшает число обращений к диску по сравнению с бинарным деревом поиска.
  • Репликация master–replica масштабирует чтение, но не запись: запись всё равно направляется на ведущий узел.
  • Для масштабирования записи обсуждается шардинг; для отказоустойчивости каждому шарду нужны реплики и механизм переключения при отказе.
  • Партиционирование делит данные внутри одной БД/сервера, а шардинг распределяет части данных между разными серверами.
  • Для связанных блоков кэша полезны теги и адресная инвалидация: полная очистка кэша при каждом обновлении создаёт лишнюю нагрузку.
  • Очереди сообщений применяют для сглаживания нагрузки, асинхронного взаимодействия и развязки микросервисов; Saga даёт компенсирующие действия, но не гарантирует изоляцию промежуточного состояния.

Рекомендуем посмотреть