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

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

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

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

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

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

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

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

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

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

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

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

Все подборки
  • Python7 042
  • Облачные технологии5 085
  • QA вакансии1 814
  • Android1 199
  • Инженер данных831
  • Продакт-менеджер339

Разработка

  • iOS1 135
  • Backend вакансии1 131
  • Fullstack вакансии475
  • AI вакансии458
  • Frontend вакансии404
  • Mobile вакансии27

По стеку

  • Go4 093
  • Java2 435
  • Kotlin990
  • Node.js827
  • Rust665
  • .NET525
  • PHP282
  • C++223
  • C#199

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

  • Kubernetes2 931
  • Linux-инфраструктура2 312
  • DevOps вакансии2 110
  • Terraform / IaC1 714
  • CI/CD872
  • Мониторинг и Observability825
  • SRE253
  • Кибербезопасность50

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

  • Аналитик данных497
  • Data Scientist463
  • Бизнес-аналитик374
  • Системный аналитик54

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

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

По регионам

  • Вакансии в США25 531
  • Вакансии в Европе9 792
  • Работа в России3 193
  • Вакансии в Канаде2 236

По формату

  • Удалённые вакансии43 578
  • Релокация в США25 531
  • Гибридная работа4 289
  • Офисная работа3 340

По уровню

  • Senior вакансии21 650
  • Middle вакансии12 211
  • Junior вакансии3 886

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

Все компании
  • Rakuten188 вакансий
  • ASML163 вакансии
  • Grab134 вакансии
  • Wise125 вакансий
  • Celonis28 вакансий
  • Infobip28 вакансий
  • Spotify24 вакансии
  • Adyen17 вакансий
  • Darktrace17 вакансий
  • Monzo13 вакансий

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

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

Какие production-риски есть у Nuxt: hydration, bundle size, caching, accessibility, browser compatibility или observability?

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

Ключевые production-риски Nuxt: hydration mismatch при SSR из-за различий server/client окружений, раздутый bundle без code splitting, неверная стратегия кеширования API, проблемы доступности динамического контента.

1. Hydration Mismatch

Самая частая ошибка в Nuxt — несоответствие между HTML, сгенерированным на сервере, и результатом hydration на клиенте.

// ПРОБЛЕМА: Date.now() разный на сервере и клиенте
const timestamp = ref(Date.now())
// Vue выбросит: [Vue warn] Hydration node mismatch

// РЕШЕНИЕ 1: ClientOnly wrapper
<ClientOnly>
  <TimestampWidget />
  <template #fallback>
    <div>Loading...</div>
  </template>
</ClientOnly>
// РЕШЕНИЕ 2: useHydration / onMounted
const timestamp = ref<number | null>(null)
onMounted(() => { timestamp.value = Date.now() })

// РЕШЕНИЕ 3: nuxt plugin с mode: 'client'
// plugins/analytics.client.ts
export default defineNuxtPlugin(() => {
  // выполняется только на клиенте
  window.analytics?.init()
})

Production-риски Nuxt: глубокий разбор

2. Bundle Size

# Анализ бандла
npx nuxi build --analyze
# или
NUXT_ANALYZE=true npx nuxi build
// nuxt.config.ts — оптимизация
export default defineNuxtConfig({
  // Автоматический import только используемых компонентов
  components: {
    dirs: [{ path: '~/components', pathPrefix: false }],
  },

  // Lazy-load тяжёлых компонентов
  // В шаблоне: <LazyHeavyChart /> — загружается только при необходимости

  vite: {
    build: {
      rollupOptions: {
        output: {
          manualChunks: {
            'chart-libs': ['chart.js', 'vue-chartjs'],
            'editor': ['@tiptap/core', '@tiptap/vue-3'],
          },
        },
      },
    },
  },

  // Внешние зависимости не включаем в server bundle
  nitro: {
    externals: {
      inline: ['some-large-lib'],
    },
  },
});

3. Кеширование и ISR

// server/api/products.get.ts
export default defineCachedEventHandler(async (event) => {
  const products = await fetchFromDB()
  return products
}, {
  maxAge: 60,      // кешировать 60 секунд
  name: 'products-list',
  getKey: (event) => {
    const query = getQuery(event)
    return `products-${query.category}-${query.page}`
  },
  // Инвалидация при изменении данных:
  // await useStorage().removeItem('nitro:handlers:products-list')
})

// nuxt.config.ts — route rules
export default defineNuxtConfig({
  routeRules: {
    '/': { prerender: true },
    '/blog/**': { isr: 3600 },
    '/admin/**': { ssr: false, headers: { 'Cache-Control': 'no-store' } },
    '/api/**': { cors: true },
  },
})

4. Accessibility

<!-- Проблема: SPA-навигация не анонсирует смену страницы screen reader'у -->

<!-- Решение: aria-live region для анонсов навигации -->
<!-- layouts/default.vue -->
<template>
  <div>
    <div
      aria-live="polite"
      aria-atomic="true"
      class="sr-only"
    >
      {{ pageTitle }} — загружено
    </div>
    <NuxtPage />
  </div>
</template>
// Обновляем заголовок при навигации
const route = useRoute()
const pageTitle = computed(() => route.meta.title as string || 'Страница')

useHead({ title: pageTitle })

5. Browser Compatibility

// nuxt.config.ts
export default defineNuxtConfig({
  vite: {
    build: {
      target: 'es2015',  // поддержка старых браузеров
    },
  },
  // Polyfills через @vitejs/plugin-legacy
})

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

  • Hydration mismatch от Math.random(), Date.now(), localStorage в шаблоне — любые значения, разные на сервере и клиенте, ломают hydration.
  • useAsyncData без явного key: Nuxt генерирует ключ по имени файла и строке вызова — при минификации или переименовании файлов кеш стает невалидным.
  • Неверный maxAge в Cache-Control для авторизованных страниц: CDN кеширует персональный ответ и отдаёт другим пользователям.
  • Lazy-компоненты (<LazyX />) без #fallback слота показывают пустое место во время загрузки — CLS (Cumulative Layout Shift) в Core Web Vitals.
  • Server routes без валидации входных данных: Nuxt не добавляет автоматическую санитизацию — передайте getValidatedQuery / readValidatedBody с zod-схемами.
  • useFetch на клиенте делает HTTP-запрос на сервер снова (не переиспользует SSR-данные) если ключи не совпадают — двойной запрос и мерцание UI.
  • Отсутствие error.vue кастомной страницы ошибок: при 500 пользователь видит стандартный Nitro error page без брендинга.
  • Observable производительность: без явного логирования useServerTiming() невозможно определить, на каком этапе SSR тратится время — добавьте server timing headers в production.

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

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

Что портит ответ

  • Говорить только о запуске Nuxt, но не об эксплуатации
  • Не упоминать observability, обновления, безопасность и rollback
  • Описывать риски абстрактно, без способов их снижать

Что слушает интервьюер

  • Видит production-риски Nuxt
  • Говорит про monitoring, rollout, rollback и безопасность
  • Умеет ранжировать риски по вероятности и влиянию

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

Проверить себя по теме Nuxt →
←Предыдущий вопросПроект на Nuxt вырос из небольшого интерфейса в большой продукт. Какие архитектурные проблемы вы ожидаете увидеть?Следующий вопрос→Как развернуть Nuxt 3-приложение в разных средах (Vercel, Node-сервер, edge)?

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

Nuxtproduction-readinesstechnical-communicationtechnology-selectiontrade-off-analysis