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

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

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

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

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

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

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

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

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

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

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

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

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

Разработка

  • Android1 861
  • iOS1 696
  • Fullstack вакансии965
  • AI вакансии945
  • Frontend вакансии734
  • Mobile вакансии44

По стеку

  • Go8 640
  • Java6 537
  • Node.js2 013
  • .NET1 704
  • Kotlin1 619
  • Rust1 456
  • C#703
  • PHP680
  • C++566

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

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

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

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

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

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

По регионам

  • Вакансии в США43 023
  • Вакансии в Европе23 282
  • Вакансии в Канаде4 294
  • Работа в России3 910

По формату

  • Удалённые вакансии72 436
  • Релокация в США43 022
  • Гибридная работа12 399
  • Офисная работа7 085

По уровню

  • Senior вакансии41 615
  • Middle вакансии20 102
  • Junior вакансии6 553

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

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

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

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

В чём разница между Blazor Server и Blazor WebAssembly?

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

Blazor Server выполняет компоненты на сервере и синхронизирует UI через SignalR; Blazor WebAssembly загружает .NET runtime в браузер и работает полностью на клиенте без постоянного серверного соединения.

Blazor Server

Компоненты исполняются на сервере ASP.NET Core. Браузер подключается по SignalR (WebSocket с fallback на long polling). Каждое событие (клик, ввод) отправляется на сервер, сервер вычисляет diff виртуального DOM и возвращает патч клиенту. Состояние хранится в памяти сервера.

// Program.cs — Blazor Server
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorComponents()
    .AddInteractiveServerComponents();

var app = builder.Build();
app.MapRazorComponents<App>()
    .AddInteractiveServerRenderMode();
app.Run();

Характеристики:

  • Быстрый первый рендеринг — браузер получает готовый HTML.
  • Прямой доступ к серверным ресурсам: EF Core, файловая система, внутренние API.
  • Требует постоянного SignalR-соединения; обрыв = потеря состояния.
  • Состояние в памяти: 50–250 КБ на пользователя. 10 000 соединений = ~2 ГБ RAM.
  • Задержка UI зависит от latency до сервера (критично при >100 мс RTT).

Blazor Server vs Blazor WebAssembly

Оба варианта позволяют писать интерактивные веб-интерфейсы на C#, но архитектурно различаются принципиально: где исполняется .NET код и как передаются UI-обновления.

Blazor WebAssembly

При первом запросе браузер загружает .NET WebAssembly runtime (~8 МБ gzip) и DLL приложения, после чего весь код исполняется локально. Серверное соединение используется только для вызовов API.

// Program.cs — Blazor WebAssembly
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");

builder.Services.AddScoped(sp =>
    new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });

await builder.Build().RunAsync();

Характеристики:

  • После загрузки — низкая latency UI, нет SignalR overhead.
  • Подходит для PWA (работа офлайн).
  • Медленная первая загрузка: 5–15 секунд без prerender.
  • Нет прямого доступа к серверу — только через HTTP API.
  • Ограниченная безопасность: код в браузере виден пользователю.

Сравнение по ключевым параметрам

  • Место исполнения: Server — на сервере; WASM — в браузере.
  • Загрузка: Server — мгновенная; WASM — 5–15 с при первом запуске.
  • Масштабирование: Server — требует sticky sessions или backplane; WASM — статические файлы, CDN.
  • Доступ к БД: Server — прямой через DI; WASM — только через REST/gRPC.
  • Офлайн: Server — нет; WASM — возможен с PWA.
  • SignalR: Server — обязателен; WASM — опционален.

Пример: одинаковый компонент в обоих вариантах

@page "/weather"
@inject IWeatherService WeatherSvc

@if (_forecast is null)
{
    <p>Loading...</p>
}
else
{
    <p>Temp: @_forecast.TempC °C</p>
}

@code {
    private WeatherForecast? _forecast;

    protected override async Task OnInitializedAsync()
    {
        // В Server: IWeatherService может обращаться к БД напрямую
        // В WASM: IWeatherService вызывает HttpClient
        _forecast = await WeatherSvc.GetCurrentAsync();
    }
}

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

  • В Blazor Server потеря SignalR-соединения (перезагрузка прокси, NAT timeout) приводит к потере всего состояния компонентов — пользователь видит «Reconnecting...» и при неудаче — перезагрузку страницы.
  • В WASM секреты (строки подключения, API-ключи) нельзя хранить в коде — они видны в DevTools Network; используйте BFF или серверный прокси.
  • В Blazor Server потребление памяти растёт линейно с числом соединений; необходим мониторинг и circuit breaker при OOM.
  • WASM не поддерживает многопоточность в полной мере — Thread и Mutex ограничены (работает только один WebAssembly thread без SharedArrayBuffer).
  • Blazor Server в docker-контейнере за nginx требует настройки proxy_read_timeout и proxy_send_timeout для поддержания долгоживущих WebSocket-соединений.
  • При гибридном подходе (Blazor Web App) один и тот же компонент может переключаться между режимами — убедитесь, что зависимости доступны в обоих контекстах.

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

  • Что такое Blazor и каковы его основные модели хостинга?
  • Как Blazor управляет повторным рендерингом компонентов и как его оптимизировать?
  • В каких типах frontend-проектов Blazor даёт реальный выигрыш, а где будет избыточен или неудачен?
  • Каковы ключевые lifecycle-методы компонента Blazor?

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

  • Путать Blazor Server и WebAssembly как разные runtime-модели с похожим механизмом из другой версии или платформы.
  • Игнорировать runtime-границы Blazor: lifecycle, DI scope, SQL translation, UI thread или platform API.
  • Не обсуждать null/empty/error cases и поведение под нагрузкой.

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

  • Кандидат объясняет Blazor Server и WebAssembly как разные runtime-модели на конкретном примере, а не только определением.
  • Указывает последствия для производительности, тестируемости и поддержки.
  • Различает документированное поведение текущего стека и устаревшие практики.

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

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

Источники

  • https://learn.microsoft.com/en-us/aspnet/core/blazor/hosting-models
Следующий вопрос→Что такое Blazor и каковы его основные модели хостинга?

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

Blazorruntime-reasoning