Встречается на собеседованиях • сегодня
Приходилось ли оптимизировать Python код
Да, приходилось. Основные методы оптимизации:
- Профилирование – сначала находим узкие места через
cProfileилиline_profiler:
python
import cProfile
cProfile.run('my_function()')- Оптимизация структур данных – замена списков на множества для поиска, кортежи вместо списков, если данные неизменяемы.
-
Использование встроенных функций –
map(),filter(), генераторы вместо циклов. -
Кэширование – через
functools.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 – для вычислений в числах.
-
Асинхронность – при I/O-bound задачах.
Главное правило: сначала замеряем, потом оптимизируем, а не наоборот. Часто узкие места оказываются не там, где ожидаешь.

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