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

Расскажи про опыт оптимизации кода

Оптимизация кода в Python включает несколько ключевых подходов:

  1. Профилирование - использование cProfile или timeit для выявления узких мест:
python
import cProfile
def slow_func():
    # медленный код
cProfile.run('slow_func()')
  1. Выбор структур данных - списки vs множества для поиска, словари для быстрого доступа.
  1. Векторизация - замена циклов NumPy операциями:
python
import numpy as np
arr = np.array([...])  # быстрее чем списки + циклы
  1. Кеширование - @lru_cache для рекурсивных функций:
python
from functools import lru_cache
@lru_cache(maxsize=128)
def fib(n):
    if n < 2: return n
    return fib(n-1) + fib(n-2)
  1. Компиляция - Cython или Numba для критичных участков.

  2. Асинхронность - asyncio для I/O-bound задач.

Важно: преждевременная оптимизация может усложнить код. Сначала убедитесь, что оптимизация действительно нужна.

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

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

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

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