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

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

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

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

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

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

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

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

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

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

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

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

Все подборки
  • Python17 103
  • Облачные технологии14 031
  • QA вакансии3 458
  • Backend вакансии2 078
  • Инженер данных1 772
  • Продакт-менеджер1 238

Разработка

  • Android1 866
  • iOS1 699
  • Fullstack вакансии973
  • AI вакансии948
  • Frontend вакансии736
  • Mobile вакансии44

По стеку

  • Go8 651
  • Java6 542
  • Node.js2 017
  • .NET1 719
  • Kotlin1 623
  • Rust1 453
  • C#709
  • PHP682
  • C++570

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

  • Kubernetes7 748
  • DevOps вакансии6 051
  • Linux-инфраструктура5 485
  • Terraform / IaC4 252
  • CI/CD3 239
  • Мониторинг и Observability1 781
  • SRE560
  • Кибербезопасность446

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

  • Data Scientist1 114
  • Бизнес-аналитик915
  • Аналитик данных828
  • Системный аналитик154

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

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

По регионам

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

По формату

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

По уровню

  • Senior вакансии41 839
  • Middle вакансии20 268
  • Junior вакансии6 588

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

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

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

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

В чём разница между Axum и Actix-web по архитектуре, дизайну API и производительности?

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

Actix-web использует собственный actor-runtime и middleware-систему; Axum строится поверх Tower и Hyper, унаследуя их экосистему. По производительности они сопоставимы, но Axum выигрывает в интеграции с Tower-middleware.

Система маршрутизации и экстракторов

// Axum — экстракторы через типы аргументов
async fn axum_handler(
    Path(id): Path<u32>,
    State(db): State<PgPool>,
    Json(body): Json<CreateUser>,
) -> impl IntoResponse { /* ... */ }

// Actix-web — web::Data, web::Path, web::Json как параметры
async fn actix_handler(
    path: web::Path<u32>,
    db: web::Data<PgPool>,
    body: web::Json<CreateUser>,
) -> impl Responder { /* ... */ }

Axum vs Actix-web: архитектура, API и производительность

Архитектурные основы

Actix-web изначально строился на актор-фреймворке Actix, но с версии 4.x «акторный» слой убран из основного пути обработки запросов. Тем не менее он использует собственный runtime-слой и собственную систему middleware (интерфейс Transform + Service). Actix-web самодостаточен и не зависит от Tower.

Axum — это тонкий слой над hyper (HTTP) и tower (middleware). Он намеренно не предоставляет собственных примитивов middleware — вместо этого используются Tower-сервисы (tower::ServiceBuilder, tower-http). Это даёт совместимость со всей экосистемой Tower.

Middleware

В Axum middleware — это Tower-сервис. Использование tower_http::trace::TraceLayer, tower_http::cors::CorsLayer, tower_http::compression::CompressionLayer — нативное:

use tower_http::{trace::TraceLayer, cors::CorsLayer, compression::CompressionLayer};
use tower::ServiceBuilder;

let app = Router::new()
    .route("/", get(handler))
    .layer(
        ServiceBuilder::new()
            .layer(TraceLayer::new_for_http())
            .layer(CorsLayer::permissive())
            .layer(CompressionLayer::new()),
    );

В Actix-web middleware оборачивается через wrap() и реализует трейты Transform и Service — это более verbose и несовместимо с Tower.

Обработка ошибок

Axum использует IntoResponse — любой тип, реализующий этот трейт, может быть возвращён из обработчика. Actix-web использует Responder + тип ошибки ResponseError.

Производительность

В бенчмарках TechEmpower (JSON serialization, plaintext) оба фреймворка входят в топ-5 среди всех языков. Actix-web исторически чуть быстрее в микробенчмарках за счёт более прямого пути обработки, Axum немного уступает из-за абстракции Tower. На практике разница менее 5–10% и нивелируется ввода-выводом БД или сети.

Когда выбирать что

  • Axum: команда уже использует Tower/tonic/hyper; нужна максимальная совместимость с экосистемой Tokio.
  • Actix-web: нужен зрелый фреймворк с большей документацией и примерами; важна максимальная сырая производительность.

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

  • Tower-middleware в Axum требует, чтобы все слои реализовывали Clone — это может быть неочевидно для кастомных сервисов.
  • Actix-web имеет собственный thread-pool и не требует явного Tokio runtime, что может запутать при интеграции с Tokio-кодом.
  • Типы ошибок у фреймворков несовместимы — миграция с одного на другой требует переписи всего слоя ошибок.
  • В Axum нет встроенного multipart/form-data — нужен крейт axum-multipart или multer. В Actix-web multipart встроен.
  • Экстракторы Axum вычисляются последовательно — порядок параметров функции имеет значение (Body должен быть последним).
  • Actix-web использует web::Data<T> как Arc<T> неявно; в Axum нужно явно оборачивать в Arc при необходимости.

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

  • В каких backend-проектах Axum (Rust) является сильным выбором, а где лучше выбрать более простой или другой стек?
  • Какие production-риски есть у Axum (Rust): blocking code, connection pooling, config, auth, observability, deploy или graceful shutdown?
  • Как понять, что проблема в сервисе связана с Axum (Rust), а не с базой, сетью, инфраструктурой или бизнес-логикой?
  • Проект на Axum (Rust) вырос из MVP в большой production-сервис. Какие проблемы архитектуры и сопровождения вы ожидаете увидеть?

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

  • Отвечать определением без production-сценария.
  • Не называть runtime boundary, security boundary или failure mode.
  • Игнорировать версию API, observability и тестовую проверку.

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

  • Объясняет механизм своими словами и без выдуманных API.
  • Называет реальные риски, диагностику и критерий корректности.
  • Связывает ответ с текущей документацией и миграционными ограничениями.

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

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

Источники

  • https://docs.rs/axum/latest/axum/

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

Axumaxum-productionAxum (Rust)risk-analysistechnical-depth