Как объяснить изменяемые и неизменяемые объекты?
Что хотят услышать интервьюеры:
Ответ для уровня Junior: объяснение должно включать не только что такое изменяемые и неизменяемые объекты, но и когда его использовать, когда не использовать и как проверить корректность.
Ответ:
Ситуация: в коде появился неожиданный side effect или значение изменилось не там, где ожидали. В такой ситуации нужно найти источник проблемы, измерить эффект и выбрать минимально достаточное решение.
Сравнение: важно отличать изменяемые и неизменяемые объекты от поверхностное копирование, потому что у них разные цели и trade-off.
Пример:
a = []<br>b = a<br>b.append(1)<br>print(a) Хороший ответ: звучит через практику: ограничение, пример, типичная ошибка, тест или production-последствие.