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

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

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

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

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

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

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

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

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

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

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

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

Все подборки
  • Python15 330
  • Облачные технологии11 893
  • QA вакансии3 403
  • Backend вакансии1 851
  • Инженер данных1 418
  • Продакт-менеджер845

Разработка

  • Android1 758
  • iOS1 639
  • AI вакансии884
  • Fullstack вакансии737
  • Frontend вакансии642
  • Mobile вакансии31

По стеку

  • Go8 426
  • Java5 382
  • Node.js1 732
  • Kotlin1 428
  • Rust1 388
  • .NET1 307
  • PHP554
  • C++394
  • C#374

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

  • Kubernetes6 666
  • Linux-инфраструктура4 922
  • DevOps вакансии4 864
  • Terraform / IaC3 701
  • Мониторинг и Observability1 698
  • CI/CD1 557
  • SRE510
  • Кибербезопасность246

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

  • Data Scientist779
  • Аналитик данных756
  • Бизнес-аналитик730
  • Системный аналитик96

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

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

По регионам

  • Вакансии в США40 885
  • Вакансии в Европе17 100
  • Вакансии в Канаде3 927
  • Работа в России3 874

По формату

  • Удалённые вакансии65 309
  • Релокация в США40 896
  • Гибридная работа9 847
  • Офисная работа6 766

По уровню

  • Senior вакансии36 886
  • Middle вакансии17 637
  • Junior вакансии6 023

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

Все компании
  • Wise193 вакансии
  • Rakuten189 вакансий
  • ASML164 вакансии
  • Grab134 вакансии
  • Celonis45 вакансий
  • Spotify37 вакансий
  • Adyen29 вакансий
  • Infobip28 вакансий
  • Monzo19 вакансий
  • Darktrace17 вакансий

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

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

Что такое Spring Boot Starters и как они помогают управлять зависимостями?

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

Spring Boot Starters — POM-зависимости-агрегаторы, которые подтягивают согласованный набор библиотек с проверенными версиями. Один стартер заменяет десятки ручных зависимостей.

Пример: REST API с JPA и валидацией

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

Spring Boot Starters

Spring Boot Starters — это специальные зависимости-агрегаторы. Каждый стартер не содержит кода, а только тянет за собой набор транзитивных зависимостей (библиотеки, драйверы, конфигурационные модули) с согласованными и проверенными версиями. Это избавляет от необходимости вручную подбирать совместимые версии десятков библиотек.

Как устроен стартер

Стартер — это POM-файл с тщательно подобранными зависимостями. Например, spring-boot-starter-web тянет:

  • spring-webmvc — Spring MVC
  • spring-boot-starter-tomcat — встроенный Tomcat
  • spring-boot-starter-json — Jackson для JSON
  • spring-boot-starter — базовый стартер с logging (Logback) и spring-core

Популярные стартеры

  • spring-boot-starter-web — REST API, Spring MVC, встроенный Tomcat
  • spring-boot-starter-data-jpa — Hibernate, Spring Data JPA
  • spring-boot-starter-security — Spring Security
  • spring-boot-starter-test — JUnit 5, Mockito, AssertJ, Spring Test
  • spring-boot-starter-validation — Bean Validation (Hibernate Validator)
  • spring-boot-starter-actuator — health checks, metrics, endpoints
  • spring-boot-starter-data-redis — Spring Data Redis + Lettuce
  • spring-boot-starter-webflux — реактивный веб с Project Reactor
  • spring-boot-starter-amqp — RabbitMQ через Spring AMQP
  • spring-boot-starter-mail — JavaMail + Spring Mail

Замена встроенного сервера

Стартеры позволяют легко поменять встроенный контейнер — достаточно исключить Tomcat и добавить Jetty или Undertow:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

Создание собственного стартера

Для переиспользования внутренних библиотек создают кастомные стартеры по соглашению: имя mycompany-spring-boot-starter (не spring-boot-starter-*, чтобы не конфликтовать с официальными).

// autoconfigure модуль
@AutoConfiguration
@ConditionalOnClass(MyService.class)
@EnableConfigurationProperties(MyProperties.class)
public class MyServiceAutoConfiguration {

    @Bean
    @ConditionalOnMissingBean
    public MyService myService(MyProperties props) {
        return new MyService(props.getApiKey());
    }
}

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

  • Не указывать версию зависимости, управляемой через spring-boot-dependencies BOM — если указать конкретную версию, она может конфликтовать с другими компонентами стартера.
  • Подключать несколько стартеров с пересекающимися зависимостями без exclusions — например, spring-boot-starter-web и spring-boot-starter-webflux в одном проекте запускают оба контейнера.
  • Использовать spring-boot-starter-test без scope=test — тестовые библиотеки попадут в production JAR.
  • Не проверять, что именно тянет стартер: mvn dependency:tree или ./gradlew dependencies покажут транзитивные зависимости и возможные конфликты.
  • Создавать собственный стартер с именем spring-boot-starter-* — такое именование зарезервировано для официальных артефактов Spring.
  • Ожидать, что стартер содержит всё необходимое: например, spring-boot-starter-data-jpa не включает JDBC-драйвер — его нужно добавлять отдельно.

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

  • Как реализовать health checks в Spring Boot Actuator?
  • Что делает аннотация @SpringBootApplication?
  • Что такое Spring Boot и чем он отличается от Spring Framework?
  • В каких backend-проектах Spring Boot является сильным выбором, а где лучше выбрать более простой или другой стек?

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

  • Путать термин «spring boot starters» с соседним механизмом Spring Boot.
  • Не называть границу lifecycle, transaction, thread или request для «spring boot starters».
  • Игнорировать production-эффекты «spring boot starters»: latency, SQL shape, memory, security или observability.

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

  • Попросить объяснить механизм «spring boot starters» на минимальном примере.
  • Проверить, видит ли кандидат failure mode и диагностику для «spring boot starters».
  • Уточнить, какие настройки или API меняют «spring boot starters» в реальном сервисе.

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

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

Источники

  • https://docs.spring.io/spring-boot/reference/using/auto-configuration.html
←Предыдущий вопросКак реализовать профили в Spring Boot? Что такое свойство `spring.profiles.active`?Следующий вопрос→В чём разница между `@RestController` и `@Controller`?

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

Spring Bootbackend-designtechnical-communication