Встречается на 5% собеседований по Python

Работал ли с многопоточностью в Python

Да, работал. В Python есть модуль threading для работы с потоками. Однако из-за GIL (Global Interpreter Lock) потоки выполняются не совсем параллельно, а переключаются между собой. Это полезно для I/O-bound задач (например, сетевые запросы), но не для CPU-bound задач.

Пример с threading:

python
import threading

def worker(num):
    print(f"Поток {num} начал работу")
    # имитация работы
    time.sleep(1)
    print(f"Поток {num} завершил работу")

threads = []
for i in range(3):
    t = threading.Thread(target=worker, args=(i,))
    threads.append(t)
    t.start()

for t in threads:
    t.join()  # ждём завершения всех потоков

Для CPU-bound задач лучше использовать multiprocessing, так как процессы обходят GIL.

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

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

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