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

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

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

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

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

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

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

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

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

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

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

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

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

Разработка

  • Android1 866
  • iOS1 699
  • Fullstack вакансии979
  • AI вакансии951
  • Frontend вакансии742
  • Mobile вакансии44

По стеку

  • Go8 651
  • Java6 544
  • Node.js2 018
  • .NET1 719
  • Kotlin1 623
  • Rust1 453
  • C#709
  • PHP683
  • C++571

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

  • Kubernetes7 761
  • DevOps вакансии6 057
  • Linux-инфраструктура5 492
  • Terraform / IaC4 259
  • CI/CD3 240
  • Мониторинг и Observability1 782
  • SRE565
  • Кибербезопасность450

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

  • Data Scientist1 127
  • Бизнес-аналитик925
  • Аналитик данных845
  • Системный аналитик154

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

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

По регионам

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

По формату

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

По уровню

  • Senior вакансии42 236
  • Middle вакансии20 545
  • Junior вакансии6 653

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

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

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

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

Расскажите о случае, когда вы улучшали performance, accessibility, testing или maintainability в проекте на Tailwind CSS.

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

В проекте на Next.js + Tailwind переработал динамическую генерацию классов в явные маппинги, что уменьшило CSS-бандл с 180 до 28 KB. Параллельно улучшил accessibility через focus-visible и внедрил visual regression тесты через Playwright.

Performance: уменьшение размера CSS-бандла

В большом проекте на Next.js с Tailwind v3 размер CSS в production составлял около 180 KB. Проблема была в динамически генерируемых классах вида bg-${color}-500 — PurgeCSS/content scanner не мог их найти и удалял, поэтому разработчики добавляли всю палитру в safelist.

Решение: переработал генерацию классов, вынес все динамические варианты в явные маппинги объектов:

// До: динамическая генерация (не работает с Tailwind scanner)
const badgeClass = `bg-${status}-500 text-${status}-100`;

// После: явный маппинг
const STATUS_CLASSES: Record<string, string> = {
  success: 'bg-green-500 text-green-100',
  error:   'bg-red-500 text-red-100',
  pending: 'bg-yellow-500 text-yellow-100',
};
const badgeClass = STATUS_CLASSES[status] ?? 'bg-gray-500 text-gray-100';

Убрал safelist, размер CSS упал с 180 KB до 28 KB.

Улучшение проекта на Tailwind CSS

Расскажу о реальном опыте улучшения нескольких аспектов проекта на Tailwind CSS — от производительности до тестируемости.

Maintainability: design tokens через CSS-переменные

В Tailwind v4 перешли на @theme-блок в globals.css вместо tailwind.config.js. Это дало единую точку управления цветами, радиусами и отступами без дублирования между JS-конфигом и CSS:

@theme {
  --color-brand-primary: #c28b00;
  --color-brand-dark:    #000000;
  --radius-card: 12px;
  --spacing-section: 64px;
}

Accessibility: контрасты и focus-visible

Аудит показал, что у многих интерактивных элементов не было видимого focus-индикатора — разработчики добавляли outline-none и забывали про focus-visible. Решение: добавил lint-правило и базовый стиль в globals.css:

@layer base {
  :focus-visible {
    @apply outline-2 outline-offset-2 outline-brand-primary;
  }
}

Testing: visual regression через Playwright

Для предотвращения случайных визуальных регрессий подключил Playwright screenshot-тесты для ключевых компонентов. При смене Tailwind-версии или токенов тесты сразу показывают что изменилось визуально.

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

  • Динамические классы Tailwind (шаблонные строки) не включаются в production-бандл — только явные полные строки классов проходят через content-scanner.
  • Safelist быстро растёт и теряет контроль — лучше рефакторить динамические классы в маппинги.
  • Tailwind v4 несовместим с конфигурацией v3 (tailwind.config.js) — миграция требует переноса всех кастомных токенов в @theme.
  • outline-none на кнопках ломает keyboard-навигацию — всегда заменяйте на focus-visible:outline-....
  • Большое количество utility-классов в компоненте снижает читаемость — выносите повторяющиеся комбинации в @apply или компоненты.
  • Tailwind JIT генерирует классы на лету — в старых версиях это замедляло cold-start dev-сервера на больших монорепо.
  • Тёмная тема через dark:-вариант требует явного указания strategy в конфиге (class vs media) — по умолчанию media, что не позволяет переключать тему через JS.
  • Переход с v3 на v4 ломает все кастомные плагины, написанные под старое API addUtilities/addComponents.

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

  • Что такое Tailwind CSS и что означает подход «utility-first»?
  • Каковы лучшие практики организации Tailwind-классов в больших кодовых базах?
  • Как работает адаптивный дизайн в Tailwind? Объясните префиксы breakpoints (sm, md, lg, xl, 2xl).
  • Что такое массив content в конфигурации Tailwind и почему он важен?

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

  • Выдумывать опыт или говорить слишком общими фразами
  • Не объяснять свою личную роль в работе с Tailwind CSS
  • Не показывать результат, метрики или извлечённые уроки

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

  • Может подготовить честный пример использования Tailwind CSS
  • Показывает свою роль, решения и результат
  • Умеет рефлексировать над trade-offs и уроками

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

Проверить себя по теме Tailwind CSS →
←Предыдущий вопросКак расширить или настроить стандартную тему (theme) в Tailwind?Следующий вопрос→Как интегрировать Tailwind CSS с CSS Modules или CSS-in-JS решениями?

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

Tailwind CSSexperience-storytellingtechnical-communicationtechnology-selectiontrade-off-analysis