Встречается на 1% собеседований по Python
Какие знаешь базовые оптимизации
- Использование генераторов вместо списков для экономии памяти, особенно при работе с большими данными.
python
# Плохо: создает список в памяти
squares = [x**2 for x in range(1000000)]
# Лучше: генератор
squares_gen = (x**2 for x in range(1000000))- Кеширование результатов с помощью
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)
text
3. **Оптимизация строк** через `join()` вместо конкатенации в циклах.
```python
# Плохо: создает много временных строк
result = ""
for s in list_of_strings:
result += s
# Лучше:
result = "".join(list_of_strings)-
Использование
setдля быстрого поиска (O(1) вместо O(n) у списков). -
Локальные переменные в циклах: доступ к ним быстрее, чем к глобальным.
-
Встроенные функции (
map(),filter(),sum()) часто работают быстрее ручных аналогов. -
Избегание
+для immutable объектов (например, кортежи или строки), так как создается новый объект. -
Профилирование кода через
cProfileилиtimeitдля точного выявления узких мест.

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