Вернуться в видеотекуFlutter. Открытое собеседование
Разбор открытого Flutter-собеседования с вопросами по ООП, SOLID, Dart, внутреннему устройству Flutter, паттернам и практическим задачам. Кандидат рассуждает вслух, а интервьюер уточняет и дополняет решения.
- Направление
- Mobile
- Формат
- Техническое собеседование
- Компания
Surf- Длительность
- 1 ч 9 мин
Коротко о видео
Публичное открытое Flutter-собеседование: кандидат, стажёр Flutter-разработчик в Яндексе, отвечает на вопросы техлида Surf о ООП, SOLID, паттернах, Dart и устройстве Flutter. В практической части разбирают проектирование экспорта маршрутов, задачу поиска единственного непарного числа и вёрстку мобильного экрана из Dribbble. Интервьюер уточняет ответы кандидата и объясняет вариант с паттерном Visitor для обхода маршрутов и экспорта в разные форматы.
Затронутые темы
Что взять на заметку
- Абстракцию в ответе стоит связывать с зависимостью от контракта, а не от конкретной реализации: тогда, например, хранилище или сервер можно заменить без изменения клиентского кода.
- Для вопросов по SOLID полезно уметь объяснить SRP через «одну причину для изменения», OCP через расширение без правки существующего кода и DIP через зависимости от абстракций.
- В задаче с маршрутами-графом интервьюер предлагает рассмотреть Visitor: обходить узлы маршрута посетителем, а для XML и других форматов иметь отдельные реализации обработки.
- Для массива, где все числа повторяются дважды кроме одного, обсуждалось решение с Map: при первом появлении добавлять значение, при втором удалять; так остаётся единственный ключ и не нужен второй проход по Map.
- Нужно быть готовым не только назвать паттерны Adapter, Factory Method, Facade и Prototype, но и выбрать подходящий для конкретной модели данных и объяснить его роль.
- На собеседовании по Dart затрагиваются статическая типизация, различие `dynamic` и `var`, отсутствие примитивных типов, `Error` и `Exception`, а также назначение mixin.
- Для сложного Flutter-экрана кандидат предлагает декомпозицию на кастомный верхний бар, карточки, список транзакций и нижнюю навигацию; для прокрутки и закреплённой шапки рассматриваются `CustomScrollView` и `SliverAppBar`.