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

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

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

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

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

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

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

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

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

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

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

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

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

Разработка

  • Android1 857
  • iOS1 692
  • Fullstack вакансии980
  • AI вакансии956
  • Frontend вакансии750
  • Mobile вакансии44

По стеку

  • Go8 640
  • Java6 540
  • Node.js2 016
  • .NET1 705
  • Kotlin1 619
  • Rust1 458
  • C#701
  • PHP681
  • C++564

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

  • Kubernetes7 740
  • DevOps вакансии6 045
  • Linux-инфраструктура5 481
  • Terraform / IaC4 255
  • CI/CD3 212
  • Мониторинг и Observability1 775
  • SRE565
  • Кибербезопасность445

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

  • Data Scientist1 121
  • Бизнес-аналитик930
  • Аналитик данных838
  • Системный аналитик154

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

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

По регионам

  • Вакансии в США45 435
  • Вакансии в Европе23 707
  • Вакансии в Канаде4 503
  • Работа в России3 905

По формату

  • Удалённые вакансии76 073
  • Релокация в США45 435
  • Гибридная работа12 406
  • Офисная работа7 080

По уровню

  • Senior вакансии42 979
  • Middle вакансии21 322
  • Junior вакансии6 799

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

Все компании
  • Wise192 вакансии
  • Rakuten189 вакансий
  • ASML165 вакансий
  • Grab139 вакансий
  • Celonis39 вакансий
  • Spotify36 вакансий
  • Adyen29 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace17 вакансий

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

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

Что такое актор-модель в Actix и чем она отличается от стандартного асинхронного программирования?

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

Актор в Actix — изолированный объект с собственным состоянием, который получает сообщения через Addr<A> и обрабатывает их последовательно без Mutex. В отличие от async/await, состояние не разделяется — гонки данных исключены архитектурно.

Пример актора-счётчика

use actix::prelude::*;

struct Counter {
    count: usize,
}

impl Actor for Counter {
    type Context = Context<Self>;
}

// Сообщение — инкремент
struct Increment;
impl Message for Increment {
    type Result = usize;
}

impl Handler<Increment> for Counter {
    type Result = usize;

    fn handle(&mut self, _: Increment, _: &mut Context<Self>) -> usize {
        self.count += 1;
        self.count
    }
}

#[actix::main]
async fn main() {
    let addr = Counter { count: 0 }.start();
    let result = addr.send(Increment).await.unwrap();
    println!("Count: {}", result); // Count: 1
}

Метод send() возвращает Future с результатом. do_send() — fire-and-forget без ожидания ответа.

Актор-модель в Actix

Actix построен на актор-модели из библиотеки actix. Актор — это изолированный объект с собственным состоянием, который общается с другими только через сообщения. Каждый актор имеет почтовый ящик (Addr<A>), обрабатывает сообщения последовательно и никогда не разделяет состояние напрямую.

Ключевые типажи: Actor (жизненный цикл: started, stopping, stopped), Handler<M> (обработка конкретного типа сообщения), Message (тип с ассоциированным Result).

Отличие от стандартного async/await

В стандартном Tokio-коде вы создаёте async fn, которая выполняется на пуле потоков и может владеть любыми данными. Состояние либо клонируется, либо защищается Arc<Mutex<T>>. В актор-модели состояние принадлежит только актору — никакого Mutex не нужно, гонки данных исключены на уровне архитектуры.

  • Async/await: явный контроль await-точек, состояние — в переменных или Arc
  • Акторы: состояние инкапсулировано в структуре актора, доступ только через send() / do_send()
  • Акторы удобны для долгоживущих объектов с изменяемым состоянием (WebSocket-сессии, кэши, очереди)

Actix-web и акторы

В современном actix-web 4 обработчики маршрутов — это обычные async fn, а не акторы. Actix-сам по себе использует акторы внутренне (например, для WebSocket), но строить бизнес-логику через акторы — выбор разработчика. Для WebSocket-хендлеров реализуется StreamHandler<Result<ws::Message, ws::ProtocolError>>.

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

  • Блокирующий код внутри handle() заблокирует весь актор — используйте ctx.spawn() или выносите тяжёлые операции в actix_rt::task::spawn_blocking
  • do_send() молча теряет сообщение, если почтовый ящик переполнен — всегда мониторьте backpressure
  • Акторы работают в одном потоке своего Arbiter; для параллельной обработки создавайте пул акторов через SyncArbiter::start(n, ...)
  • Циклические ссылки через Addr не освобождаются автоматически — актор не остановится, пока жив хотя бы один Addr
  • Тестирование акторов требует #[actix::test]-рантайма, обычный #[tokio::test] не подойдёт
  • Версии actix и actix-web должны совпадать — несовместимость вызывает ошибки компиляции с неочевидными сообщениями
  • Состояние актора не персистентно — перезапуск системы уничтожает все данные в памяти

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

  • В каких backend-проектах Actix (Rust) является сильным выбором, а где лучше выбрать более простой или другой стек?
  • Представьте, endpoint на Actix (Rust) иногда отвечает за секунды вместо миллисекунд. Как вы будете искать причину?
  • Проект на Actix (Rust) вырос из MVP в большой production-сервис. Какие проблемы архитектуры и сопровождения вы ожидаете увидеть?
  • Как реализовать graceful shutdown в Actix-web?

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

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

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

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

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

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

Источники

  • https://actix.rs/docs/

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

Actixactix-productionActix (Rust)risk-analysistechnical-depth