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

Приходилось ли оптимизировать Python код

Да, приходилось. Основные методы оптимизации:

  1. Профилирование – сначала находим узкие места через cProfile или line_profiler:
python
import cProfile
cProfile.run('my_function()')
  1. Оптимизация структур данных – замена списков на множества для поиска, кортежи вместо списков, если данные неизменяемы.
  1. Использование встроенных функцийmap(), filter(), генераторы вместо циклов.

  2. Кэширование – через 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)
  1. Cython/Numba – для вычислений в числах.

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

Главное правило: сначала замеряем, потом оптимизируем, а не наоборот. Часто узкие места оказываются не там, где ожидаешь.

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

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

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

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