Ты уже не Junior. У тебя есть проекты, опыт, pull request'ы и даже баги, которые ты лично победил.
Но вот ты на собеседовании — и всё идёт хорошо... до тех пор, пока тебе не подкидывают вопрос, после которого ты тихо шепчешь себе:
«Блин, не думал, что это спросят». Чтобы ты был готов ко всему, вот реальный список “подводных камней”, которые топят даже уверенных middle'ов. «Что происходит под капотом при передаче mutable объектов в функции?» Ты должен не просто знать list.append() — ты должен понимать, что Python передаёт ссылки, как работает copy vs deepcopy, и где можно ненароком поменять объект “по ссылке”. def foo(lst=[]):
lst.append(1)
return lst
print(foo()) # [1]
print(foo()) # [1, 1] 🤯 📌 Будь готов объяснить: Если ты сказал слово «многопоточность» — будь готов рассказать: 📌 Вопросы, которые реально задают: "Напиши функцию, которая группирует список по какому-то полю".
А ты пишешь for-if, вместо itertools.groupby. 📌 Ты должен знать: 🧠 Это не про запоминание, а