Встречается на собеседованиях • сегодня
Расскажи про опыт оптимизации кода
Оптимизация кода в Python включает несколько ключевых подходов:
- Профилирование - использование
cProfileилиtimeitдля выявления узких мест:
python
import cProfile
def slow_func():
# медленный код
cProfile.run('slow_func()')- Выбор структур данных - списки vs множества для поиска, словари для быстрого доступа.
- Векторизация - замена циклов NumPy операциями:
python
import numpy as np
arr = np.array([...]) # быстрее чем списки + циклы- Кеширование -
@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)-
Компиляция - Cython или Numba для критичных участков.
-
Асинхронность -
asyncioдля I/O-bound задач.
Важно: преждевременная оптимизация может усложнить код. Сначала убедитесь, что оптимизация действительно нужна.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы