Встречается на 1% собеседований по Python
Какие есть ограничения у CPython
CPython (стандартная реализация Python) имеет несколько ключевых ограничений:
-
GIL (Global Interpreter Lock) – ограничивает параллельное выполнение потоков, так как только один поток может выполняться в любой момент времени. Это снижает эффективность многопоточных программ для CPU-задач.
-
Производительность – CPython медленнее компилируемых языков (C, Rust) и даже некоторых JIT-реализаций (PyPy).
-
Отсутствие true многопоточности – из-за GIL потоки не могут эффективно использовать многоядерные CPU для CPU-задач (но I/O-операции работают нормально).
-
Динамическая типизация – может приводить к ошибкам в runtime, которые в статически типизированных языках отлавливаются на этапе компиляции.
Пример с GIL:
python
import threading
def count():
n = 0
for _ in range(10_000_000):
n += 1
# Два потока выполняются последовательно из-за GIL
t1 = threading.Thread(target=count)
t2 = threading.Thread(target=count)
t1.start(); t2.start()
t1.join(); t2.join() # Занимает почти в 2 раза больше, чем один поток
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы