Встречается на собеседованиях • сегодня

Какие твои решения привели к фейлу

  1. Неоптимизированные запросы API – забывал про дебаунс/троттлинг, что приводило к лишним запросам и нагрузке.

    js
    // Плохо
    input.addEventListener('input', fetchData);
    
    // Хорошо
    input.addEventListener('input', _.debounce(fetchData, 300));
  2. Критический рендеринг – не разбивал тяжелые компоненты, из-за чего блокировался основной поток. Решение: виртуализация списков (например, react-window).

  1. Глобальный стейт для локальных данных – использовал Redux там, где хватило бы useState, усложняя поддержку.

  2. Игнорирование ошибок – не обрабатывал ошибки API, ломая интерфейс.

    js
    // Плохо
    const data = await fetch(url);
    
    // Хорошо
    try {
      const data = await fetch(url);
    } catch (e) {
      showToast('Ошибка загрузки');
    }
  3. CSS-специфичность – писал вложенные селекторы, что вело к "войнам" стилей. Перешел на CSS-модули/BEM.

Вывод: теперь всегда анализирую последствия решений до реализации.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы