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

Как оптимизировать функцию

Оптимизация функции зависит от контекста, но общие подходы:

  1. Мемоизация – кэшируем результаты вызовов:
javascript
const memoize = (fn) => {
  const cache = {};
  return (...args) => {
    const key = JSON.stringify(args);
    return cache[key] || (cache[key] = fn(...args));
  };
};
  1. Избегаем лишних вычислений – выносим константы из циклов, используем более эффективные алгоритмы.

  2. Дебаунсинг/троттлинг для частых вызовов (например, обработчиков событий).

  3. Web Workers – выносим тяжелые вычисления в отдельный поток.

  4. Оптимизация DOM-операций – минимизируем перерисовки, используем requestAnimationFrame.

Пример оптимизации цикла:

javascript
// Медленно:
for (let i = 0; i < arr.length; i++) {...}

// Быстрее:
const len = arr.length;
for (let i = 0; i < len; i++) {...}

Профилируйте код перед оптимизацией, чтобы найти реальные узкие места!

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

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

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

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