Подборка вопросов по Swift и iOS с технических собеседований 2024Я продолжаю
обновлять базу знаний, а также собирать материалы (и новые темы) для будущего обновления приложения iOS IQ.
Сегодня готов поделиться
здесь огромным материалом (а в ноушене комментариями, дополнениями и примерами).
1. В чем разница между статической переменной и переменной класса?Почему их природа схожа, и при чём здесь наследование?
2. Вычисляются ли ленивые переменные более одного раза?И почему потокобезопасность важна.
3. В чём разница между self и Self?Разница же в Swift заключается в их использовании и контексте. Если вы писали на других языках, то наверняка знаете для чего там использовался this или typeof (в ноушне много примеров).
4. Как сделать методы опциональными в протоколе?Есть два подхода - optional и extension (а вот как их использовать -
в разборе вот здесь).
5. Как происходит оптимизация использования памяти в UITableView?В канале я регулярно делюсь проблемами и решениями для оптимизации. Например, как быть, если у нас очень много ячеек. В Notion есть пример разбора и таких ситуаций.
6. Что такое Dependency Injection и каковы его преимущества?Здесь, как вы уже догадались, речь про Constructor injection/Property injection/Method injection. Ну и про описание преимуществ, конечно.
7. Объясните разницу между throws и rethrows в SwiftКак правильно использовать do-catch и многое другое.
8. Объясните типы сессий и задач, поддерживаемые классом URLSession.Default Session/Ephemeral Session/Background Session. В этой теме рассмотрено, есть ли у нас способ повторить неудавшиеся запросы.
9. Сравните статические и динамические библиотекиПро то, что может включать каждый тип либ, что происходит при компиляции, как быть с обновлениями.
10. Как бы вы реализовали список с бесконечной прокруткой?Большой разбор на примерах.
11. Что такое copy-on-write в Swift? Объясните, как настроить его реализацию.Конечно, эта техника позволяет значительно сократить использование памяти и повысить производительность. Но вот что внутри?
12. Объясните, как используется паттерн Factory и какую проблему решает этот паттерн.Тут можно не забыть об использовании этой подборки
13. Что такое APNS и как он работает?14. Объясните назначение ключевого слова «mutating» в Swift.15. В чем разница между @StateObject и @ObservedObject в SwiftUI?16. Что такое Mocks и Stubs и в чем разница между ними?Назначение/Поведение/Использование.
17. Объясните протоколы Equatable, Hashable и Comparable в Swift.18. Что означает UIApplicationMain?19. Объясните, почему Swift является типобезопасным языком?Все о Strong Type, Type Inference, Type Casting, optional, дженериках.
20. Зачем вам нужны escaping closures и когда их следует использовать?✅Напомню, что в бусти
продолжает действовать выгодное предложение (а если вам нравится канал —
то ещё и здесь, в телеграм), и вы уже сейчас можете получить доступ не только к этому материалу, но и к большому количеству тем для собеседований и разбору практических задач.
😃
iOS Dev