Теория
1. В чём разница между обычным lock и recursive_lock?
2. Чем отличается compactMap от map?
3. Есть ли способ взять значения словаря (dictionary.values), чтобы не итерироваться по ключам?
4. Что такое диспетчеризация?
5. В чём разница между прямой и табличной диспетчеризацией?
6. Можешь привести пример табличной диспетчеризации?
7. В чём разница между value type и reference type?
8. Как они хранятся в памяти (stack и heap)?
9. Всегда ли структуры (struct) хранятся в стеке?
10. Если мы передаём struct в функцию, она копируется или остаётся та же?
11. Как сделать так, чтобы передавалась именно ссылка на структуру?
12. Что такое ARC?
13. Что такое retain_cycle и как его избежать?
14. В…