Swift Interview. Вопросы с собеседования. Middle позиция. 2024 год.
Всем привет! Сегодня для вас список вопросов с реального собеседования на позицию миддла 🔥🔥🔥
Соискатель просил 200 тыс 🤑
Вопросы, которые уже разобраны полностью или частично в этом канале, будут с гиперссылками. В дальнейшем по мере разбора новых тем и вопросов гиперссылки так же будут добавляться в собеседования. Можете проверить себя 😎😎😎
1) Что такое для тебя чистый код? И твои действия, чтобы код был чистый?
2) Какие дизайн принципы ты можешь назвать? (SOLID например). Какому принципу сложнее всего следовать у вас на проекте?
3) Отличие Dependency Inversion от Dependency Injection. Каким образом реализовали в проекте Dependency Injection?
4) Какие есть ещё принципы кроме Solid?
5) Какие паттерны проектирования знаешь? Какие паттерны ещё знаешь?
6) Какие архитектуры знаешь, с какими работал? Отличие MVVM от MVP?
7) Какие принципы ООП знаешь?
8) Какими средствами можно добиться инкапсуляцию в Swift?
9) Разница между модификаторами public и open?
10) Есть ли в swift множественное наследование? Чем можем его имитировать? Что скажет компилятор, если класс реализует два разных протокола, внутри которых есть метод с одинаковой сигнатурой, то есть с одинаковыми неймингами и параметрами?
11) Есть файл с классом, у которого private переменные. Потом внутри файла создаем extension, получится у нас внутри него достучаться до private переменной. А если не внутри этого файла?
------
Далее блок из трех вопросов , в котором соискателю задавались вопросы по изображениям. Вопросы сформулированы, исходя из сказанного
12) Как сделать констрейнты, которые не зависят от поворота экрана, но зависят от ширины экрана в портретном режиме
13) Как можно реализовать нестандартное расположение элементов в CollectionView? Делал ли когда нибудь кастомные FlowLayout?
-----
14) Как объединить контроллеры в один экран в табах?
15) Расскажи про ResponderChain. Что будет, если в TapGestureRecognizer в target вместо self, сделаем nil?
16) Можно ли при выключенном UserInteraction во view обрабатывать события нажатия в её subview ?
17) Value, Reference Types. Их различия? Может ли ValueType хранится на куче и наоборот?
18) Почему стек работает быстрее кучи? Сколько куч и стеков в приложении?
19) Как работает ARC? В чем разница между weak и unowned? Какой вид более производительный?
20) Жизненный цикл объекта?
21) Что такое heap object?
22) Что такое retain/release? В какой момент они проставляются?
23) Что такое MemoryLayout? Нужно ли это сейчас?
24) Расскажи про enum. Что такое Raw Values и Associated Values? Какие ограничения на типы для RawValue?
25) Могут ли быть функции в протоколах необязательные к исполнению (опциональными)? Какой из принципов Solid нарушают опциональные функции?
26) Можем ли мы в протоколе сделать реализацию функции? Что ещё можем добавить в extension кроме функции (тут вопрос в общем не только про протоколы)?
27) Какие виды инициализаторов знаешь? Какие инциализаторы можно добавить в extension?
28) Что такое Associated Type в протоколах?
29) Что такое опциональный тип под капотом?
30) Что такое представляет из себя многопоточность? Какие проблемы в многопточности? Какое отличие семафора от мьютекса?
31) Для чего нужна DispatchGroup в GCD? Какие есть примитивы в GCD?
32) Чем отличается GCD от OperationQueue?
33) Как воспроизвести deadlock? Как можно возникнуть инверсия приоритетов?
34) Насколько большие команды были у тебя при разработке?
35) Какие gitFlow вы использовали?
36) Чем в git отличается rebase от merge? Что такое cherry-pick?
37) При помощи чего работал с сетью?
2 минуты
29 января