Flutter interview of a SENIOR developer | Did she answer ALL questions?
Длинное постановочное интервью о знаниях Senior Flutter-разработчицы и её production-опыте. Помимо Dart и Flutter SDK, в нём разбирают кроссплатформенные риски, архитектурные кейсы и реакцию на инциденты.
Постановочное техническое интервью с Витой, Flutter-разработчицей, охватывает Dart, устройство Flutter и практику production-разработки. Кандидатка рассказывает о переходе из C#-бэкенда и фронтенда во Flutter, опыте примерно семи проектов и текущем приложении для учёта присутствия работников на объектах. Технические вопросы затрагивают SOLID, DI, const, Null Safety, late, JIT/AOT, процессорные архитектуры, рендеринг, изоляты, тесты и жизненный цикл приложения. В практической части обсуждают сложные анимации, Firebase, кроссплатформенные различия, диагностику производительности, выбор архитектуры и действия при падении production.
Для зависимостей в Dart обсуждают опору на абстракции и интерфейсы вместо конкретных реализаций; это упрощает замену источника данных и тестирование.
const-объекты создаются на этапе компиляции и не пересоздаются при одинаковых значениях, поэтому их стоит использовать в виджетах там, где это возможно.
Null Safety, по мнению участницы, требует привыкания к nullable/non-nullable типам, но переносит часть ошибок из runtime в более ранние проверки; late полезен для отложенной инициализации и lazy initialization.
Для тяжёлых вычислений в Flutter можно выносить работу из основного изолята, чтобы не блокировать интерфейс; ведущий отдельно приводит свой опыт, где системный поток через platform channels оказался быстрее Isolate для конкретной задачи.
При жалобах на производительность сначала нужно воспроизвести проблему на устройстве пользователя, проверить лишние rebuild/setState и обновлять только необходимую часть дерева виджетов.
При полном сбое после релиза первыми действиями названы rollback, проверка различий рабочих и нерабочих коммитов, отделение production-специфичных причин вроде минификации и добавление регрессионного теста после исправления.
Для приложения, которое будет развивать команда, кандидатка выбирает Clean Architecture и BLoC; ведущий дополняет, что подход к state management следует соотносить и с опытом всей команды.