Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+1 582новые вакансии за сутки·92 562вакансии открыты сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании7 220
РезюмеAIПодготовкаСтатьи
BoostТарифыBoost
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 402 кандидата открыты к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python17 105
  • Облачные технологии14 068
  • QA вакансии3 460
  • Backend вакансии2 098
  • Инженер данных1 796
  • Продакт-менеджер1 248

Разработка

  • Android1 866
  • iOS1 699
  • Fullstack вакансии979
  • AI вакансии951
  • Frontend вакансии742
  • Mobile вакансии44

По стеку

  • Go8 651
  • Java6 544
  • Node.js2 018
  • .NET1 719
  • Kotlin1 623
  • Rust1 453
  • C#709
  • PHP683
  • C++571

DevOps и инфраструктура

  • Kubernetes7 761
  • DevOps вакансии6 057
  • Linux-инфраструктура5 492
  • Terraform / IaC4 259
  • CI/CD3 240
  • Мониторинг и Observability1 782
  • SRE565
  • Кибербезопасность450

Аналитика и данные

  • Data Scientist1 127
  • Бизнес-аналитик925
  • Аналитик данных845
  • Системный аналитик154

Другие направления

  • Проджект-менеджер611
  • UI/UX дизайн145
  • Ручное тестирование14

По регионам

  • Вакансии в США43 686
  • Вакансии в Европе23 668
  • Вакансии в Канаде4 413
  • Работа в России3 909

По формату

  • Удалённые вакансии73 889
  • Релокация в США43 686
  • Гибридная работа12 392
  • Офисная работа7 088

По уровню

  • Senior вакансии42 236
  • Middle вакансии20 545
  • Junior вакансии6 653

Сейчас нанимают

Все компании
  • Wise190 вакансий
  • Rakuten189 вакансий
  • ASML166 вакансий
  • Grab138 вакансий
  • Celonis39 вакансий
  • Spotify36 вакансий
  • Adyen29 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace16 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К теме FlutterВсе вопросы
FlutterJuniorТеория

Что такое pubspec.yaml и как управлять зависимостями во Flutter?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

pubspec.yaml — манифест Flutter-проекта: описывает метаданные, зависимости (^semver), ресурсы и шрифты. Команды flutter pub add/get/upgrade управляют пакетами; pubspec.lock фиксирует точные версии.

Структура файла

name: my_app
description: Мобильное приложение для задач.
publish_to: none  # не публиковать на pub.dev

version: 1.2.3+5  # semver + build number (используется в магазинах)

environment:
  sdk: '>=3.0.0 <4.0.0'  # ограничение версии Dart SDK

dependencies:
  flutter:
    sdk: flutter
  http: ^1.2.0          # любая совместимая версия >= 1.2.0 < 2.0.0
  go_router: ^14.0.0
  shared_preferences: ^2.3.0
  intl: ^0.19.0

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^4.0.0
  mockito: ^5.4.0
  build_runner: ^2.4.0

flutter:
  uses-material-design: true

  assets:
    - assets/images/
    - assets/icons/logo.png
    - assets/translations/en.json

  fonts:
    - family: Rubik
      fonts:
        - asset: assets/fonts/Rubik-Regular.ttf
        - asset: assets/fonts/Rubik-Bold.ttf
          weight: 700

pubspec.yaml во Flutter

pubspec.yaml — манифест Flutter/Dart-проекта. Описывает метаданные пакета, зависимости, ресурсы и настройки Flutter. Это аналог package.json в Node.js или pyproject.toml в Python.

Версионирование зависимостей

Dart использует семантическое версионирование с несколькими форматами ограничений:

  • ^1.2.0 — caret: от 1.2.0 до <2.0.0 (рекомендуется)
  • '>=1.2.0 <2.0.0' — явный диапазон
  • 1.2.0 — точная версия (жёсткая блокировка)
  • any — любая версия (не рекомендуется в production)

Добавление пакета

# Через CLI (рекомендуется)
flutter pub add http
flutter pub add --dev mockito build_runner

# Обновление до последних совместимых версий
flutter pub upgrade

# Обновление с нарушением ограничений (мажорная версия)
flutter pub upgrade --major-versions

# Получение зависимостей после ручного редактирования pubspec.yaml
flutter pub get

Локальные и git-зависимости

dependencies:
  # Локальный пакет (монорепо или разработка)
  my_utils:
    path: ../my_utils

  # Git-репозиторий
  some_package:
    git:
      url: https://github.com/example/some_package.git
      ref: main  # ветка, тег или SHA

  # Конкретная папка в git-репозитории
  another_package:
    git:
      url: https://github.com/example/mono.git
      path: packages/another_package

pubspec.lock

После flutter pub get создаётся pubspec.lock — фиксирует точные версии всех транзитивных зависимостей. Для приложений файл нужно коммитить в git. Для библиотек — добавлять в .gitignore.

Подводные камни

  • YAML чувствителен к отступам — используйте 2 пробела, никогда табы; один неверный отступ ломает весь файл.
  • Версия приложения в формате 1.2.3+5: число после + — это versionCode на Android и CFBundleVersion на iOS; его нужно увеличивать при каждой публикации.
  • Конфликт версий (version solving failed) возникает, когда два пакета требуют несовместимые версии одной зависимости — решайте через dependency_overrides (временный workaround, не рекомендуется в production).
  • Пути в разделе assets чувствительны к регистру на Linux/Mac и нечувствительны на Windows — тестируйте на целевой ОС.
  • Добавление пути к директории (assets/images/) включает только файлы первого уровня, не рекурсивно.
  • После изменения pubspec.yaml вручную всегда запускайте flutter pub get — IDE не всегда делает это автоматически.
  • dev_dependencies не входят в production-сборку, но если ошибочно поместить инструмент сборки (например, build_runner) в dependencies — он попадёт в финальный бинарник.

Частые вопросы на собеседовании

  • Как работает управление состоянием (state management) во Flutter? Назовите распространённые решения.
  • Как работает дерево виджетов (widget tree) во Flutter (widget tree, element tree, render tree)?
  • Каковы лучшие практики оптимизации производительности Flutter?
  • В чём разница между StatelessWidget и StatefulWidget?

Типичные ошибки

  • Сводить «pubspec.yaml и как управлять зависимостями во Flutter» к синтаксису и не объяснять platform channel.
  • Игнорировать жизненный цикл, основной поток или момент освобождения ресурсов в сценарии flutter-19.
  • Выбирать API по привычке, не проверяя состояние, ошибки, доступность и платформенные ограничения.

Что проверяет интервьюер

  • Формулирует точную модель для «pubspec.yaml и как управлять зависимостями во Flutter» и подтверждает ее корректным примером.
  • Умеет связать ответ с widget tree, тестированием и отладкой на устройстве.
  • Называет ограничения подхода flutter-19, включая производительность, память и сопровождение.

Как вы знаете этот вопрос?

Проверить себя по теме Flutter →

Источники

  • https://docs.flutter.dev/tools/pubspec
←Предыдущий вопросКак работают `Navigator.push()` и `Navigator.pop()`?Следующий вопрос→Как работает навигация во Flutter? В чём разница между Navigator 1.0 и 2.0?

Связанные темы

Flutterframework-api-designMobile-Engineering