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

+1 128новых вакансий за сутки·93 813вакансий открыто сейчас·Новое:Talanto осенью: фильтры с числами, отклик по шагам и каталог компаний

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

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

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

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

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

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

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

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

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

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

Все подборки
  • Python17 196
  • Облачные технологии14 160
  • QA вакансии3 451
  • Backend вакансии2 107
  • Инженер данных1 800
  • Продакт-менеджер1 247

Разработка

  • Android1 855
  • iOS1 695
  • Fullstack вакансии995
  • AI вакансии952
  • Frontend вакансии751
  • Mobile вакансии43

По стеку

  • Go8 754
  • Java6 595
  • Node.js2 038
  • .NET1 738
  • Kotlin1 617
  • Rust1 473
  • C#718
  • PHP692
  • C++582

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

  • Kubernetes7 778
  • DevOps вакансии6 088
  • Linux-инфраструктура5 502
  • Terraform / IaC4 276
  • CI/CD3 275
  • Мониторинг и Observability1 793
  • SRE563
  • Кибербезопасность453

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

  • Data Scientist1 141
  • Бизнес-аналитик921
  • Аналитик данных860
  • Системный аналитик154

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

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

По регионам

  • Вакансии в США44 164
  • Вакансии в Европе24 016
  • Вакансии в Канаде4 533
  • Работа в России3 837

По формату

  • Удалённые вакансии75 134
  • Релокация в США44 163
  • Гибридная работа12 456
  • Офисная работа7 066

По уровню

  • Senior вакансии42 633
  • Middle вакансии20 971
  • Junior вакансии6 706

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

Все компании
  • Rakuten189 вакансий
  • Wise189 вакансий
  • ASML166 вакансий
  • Grab137 вакансий
  • Celonis38 вакансий
  • Spotify37 вакансий
  • Adyen28 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace17 вакансий

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

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

Как Nuxt управляет code splitting и lazy loading компонентов?

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

Nuxt автоматически делит бандл по маршрутам (pages/), а компоненты можно загружать лениво через префикс Lazy или defineAsyncComponent. Анализ чанков — npx nuxi analyze.

Lazy-компоненты через префикс Lazy

Любой компонент из components/ можно загрузить лениво, добавив префикс Lazy к имени тега:

// components/HeavyChart.vue — существует в проекте

// pages/dashboard.vue
<template>
  <div>
    <!-- Компонент загрузится только при монтировании -->
    <LazyHeavyChart v-if="showChart" :data="chartData" />
    <button @click="showChart = true">Показать график</button>
  </div>
</template>

<script setup lang="ts">
const showChart = ref(false)
const chartData = ref([])
</script>

Code Splitting и Lazy Loading в Nuxt

Nuxt использует Vite (или webpack) в качестве бандлера и автоматически разбивает приложение на чанки. Каждый маршрут получает свой отдельный чанк, который загружается только при переходе пользователя на соответствующую страницу.

Автоматический code splitting по маршрутам

Все файлы в директории pages/ автоматически становятся отдельными чанками. Nuxt не требует явной конфигурации — разбивка по маршрутам включена по умолчанию.

defineAsyncComponent для ручного контроля

// Явный lazy import с fallback и обработкой ошибок
const HeavyComponent = defineAsyncComponent({
  loader: () => import('~/components/HeavyChart.vue'),
  loadingComponent: LoadingSpinner,
  errorComponent: ErrorFallback,
  delay: 200,       // ms перед показом loadingComponent
  timeout: 5000,    // ms до показа errorComponent
})

Экспериментальный Payload Extraction

В Nuxt 3.x доступен флаг payloadExtraction, который выносит данные страниц в отдельные JSON-файлы при статической генерации:

// nuxt.config.ts
export default defineNuxtConfig({
  experimental: {
    payloadExtraction: true,
  },
})

Анализ бандла

# Запустить анализатор размера чанков
npx nuxi analyze

Команда открывает визуальный отчёт (rollup-plugin-visualizer), где видно, какие модули попали в какой чанк и почему.

Prefetch и Preload

Nuxt автоматически добавляет <link rel="prefetch"> для маршрутов, видимых в viewport через <NuxtLink>. Можно управлять этим поведением:

// nuxt.config.ts
export default defineNuxtConfig({
  router: {
    options: {
      linkActiveClass: 'active',
    },
  },
  experimental: {
    crossOriginPrefetch: true,
  },
})

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

  • Префикс Lazy создаёт отдельный чанк только если компонент не используется нигде в eager-режиме — если тот же компонент импортирован без Lazy в другом месте, чанк всё равно будет в основном бандле.
  • Слишком мелкая нарезка: сотни крохотных чанков по 1–2 KB хуже одного чанка из-за накладных расходов HTTP/1.1; с HTTP/2 граница сдвигается, но всё равно важно не дробить без смысла.
  • Hydration mismatch при использовании LazyComponent с SSR: если компонент рендерится на сервере, добавьте <ClientOnly> или используйте v-if с правильной логикой.
  • defineAsyncComponent и авто-импорт несовместимы: нельзя написать const C = defineAsyncComponent(...) и ожидать, что Nuxt подхватит его как авто-импорт.
  • Динамические импорты с переменными (import(`./${name}.vue`)) создают wildcard-чанки и ломают tree-shaking — всегда используйте статические строки.
  • При ssr: false весь SPA грузится одним entry-point — code splitting по маршрутам всё равно работает, но первый бандл больше из-за отсутствия серверного рендеринга.
  • Vite chunking strategy по умолчанию может объединять модули неожиданным образом; для контроля нужен build.rollupOptions.output.manualChunks в nuxt.config.

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

  • В чём разница между composable'ами useAsyncData и useFetch?
  • Что такое useState() в Nuxt и чем он отличается от Vue ref()?
  • Что такое серверный движок Nitro в Nuxt 3 и что он обеспечивает?
  • Что такое Nuxt и какие проблемы он решает по сравнению с обычным Vue.js-приложением?

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

  • Путать code splitting and lazy loading с похожим API из соседнего фреймворка.
  • Не объяснять, где код выполняется: сервер, клиент, build step или runtime.
  • Игнорировать влияние на hydration, cache, bundle size или безопасность.

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

  • Точно объясняет назначение механизма «code splitting and lazy loading».
  • Показывает корректный минимальный пример без выдуманных API.
  • Называет ограничения, failure modes и production-компромиссы.

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

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

Источники

  • https://nuxt.com/docs/3.x/guide/directory-structure/components
  • https://nuxt.com/docs/3.x/guide/concepts/rendering
←Предыдущий вопросКакие архитектурные решения Nuxt навязывает вокруг rendering, state, routing, styling, data loading или deployment?Следующий вопрос→Что такое layouts в Nuxt и как их использовать?

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

Nuxtbundle-analysisperformance-debugging