Встречается на 1% собеседований по Python
Какие знаешь инструменты оптимизации Python кода
Для оптимизации Python-кода можно использовать:
- Профилирование –
cProfile,timeit,memory_profilerдля поиска узких мест. - Использование встроенных структур данных –
list,dict,setвместо самописных решений. - Генераторы – ленивые вычисления с
yieldдля экономии памяти. - Кэширование –
functools.lru_cacheдля мемоизации функций. - Компиляция –
Cython,NumbaилиPyPyдля ускорения критических участков. - Векторизация –
NumPyиpandasдля быстрых операций с массивами. - Многопоточность/многопроцессорность –
threading,multiprocessing,asyncio.
Пример с lru_cache:
python
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы