Swift | Тесты
1.21K subscribers
24 photos
330 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+wtkjBoN6OI5hNGEy
Задачи t.me/+JQkI4zSOEXtkYzg6
Вакансии t.me/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Всегда ли в замыканиях требуется указывать self?

Да, если захватываешь self внутри замыкания — Swift требует явного self, чтобы избежать непреднамеренного retain cycle и повысить читаемость.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Как в Swift реализовать строгую типизацию для JSON данных при их десериализации, минимизируя риск ошибок времени выполнения?
Anonymous Quiz
34%
Использование Codable
28%
Применение JSONSerialization
4%
Использование Type-Safe JSON
33%
Применение Decodable
💊1
🤔 Чему равно значение выражения Optional.none в контексте Optionals в Swift?
Anonymous Quiz
93%
nil
2%
0
3%
Пустая строка
2%
false
🤔 Что известно про две семантики в Swift'е?

Swift поддерживает две семантики:
- Семантика значений — структуры и перечисления, копируются при передаче.
- Семантика ссылок — классы, при передаче копируется ссылка.
Они влияют на поведение данных при передаче между переменными и при работе с памятью.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2
🤔 Какой ключевое слово используется для создания слабо связанных ссылок на объекты в Swift?
Anonymous Quiz
96%
weak
3%
unowned
0%
optional
1%
lazy
🤔 Какая диспетчеризация используется для Extension-ов?

Для методов, добавленных через extension, используется статическая диспетчеризация.
1. Это значит, что компилятор определяет вызов метода на этапе компиляции.
2. Методы из extension не могут быть переопределены или динамически разрешены через Objective-C runtime.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Какое ключевое слово используется для объявления метода, который может быть вызван только на экземпляре класса, а не на типе?
Anonymous Quiz
43%
static
18%
instance
18%
final
20%
func
💊8
🤔 Какие инструменты Xcode есть?

Xcode предлагает:
- Интегрированную среду разработки (IDE).
- Инструменты отладки: LLDB, Breakpoints, Debug View Hierarchy.
- Инструменты профилирования: Instruments.
- Интерфейсный редактор: Storyboard, Interface Builder.
- Симуляторы, автотесты, Git-интеграция, Code Review, Device logs.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Чему будет равно значение переменной после выполнения выражения let result = (10 / 2) + pow(3, 2) - abs(-6)?
Anonymous Quiz
69%
8
18%
10
8%
13
5%
14
💊5🤔1
💊4
🤔 На чём основываются barriers и semaphores?

Barriers (dispatch_barrier) в GCD основаны на последовательной синхронизации: они позволяют блокировать доступ к ресурсу и выполнять задачу эксклюзивно, прежде чем продолжится параллельное выполнение. Семафоры (DispatchSemaphore) — это счётчики, которые регулируют количество одновременно работающих потоков или доступ к ресурсу. Оба механизма основаны на примитивах синхронизации ядра.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как обеспечить, чтобы каждое изменение модели данных в Swift автоматически обновляло связанный с ней пользовательский интерфейс?
Anonymous Quiz
18%
Реализация паттерна MVC и использование KVO
17%
Применение MVVM и связывание с помощью библиотеки Bond
62%
Использование паттерна Observer с делегатами
3%
Разработка собственной системы связывания данных
💊10
🤔 Каким образом в Swift можно использовать паттерн "Decorator" для добавления новых функциональностей к объектам в рантайме?
Anonymous Quiz
14%
При помощи наследования
40%
Используя extension
26%
Создавая wrapper классы
21%
При помощи динамического приведения типов
🤔 Какие есть проблемы, связанные с "голоданием"?

Голодание (starvation) — это ситуация, когда один поток или задача никогда не получает доступ к ресурсу, потому что другие задачи постоянно занимают его. В GCD это может происходить при приоритете .background, если нет возможности перейти на .userInitiated.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Какое ключевое слово используется для гарантированного исполнения блока кода перед выходом из текущего контекста?
Anonymous Quiz
77%
defer
19%
guard
1%
final
3%
ensure
🤔Какой механизм в Swift обеспечивает выполнение критического кода только одним потоком в любой момент времени?
Anonymous Quiz
20%
Atomic Operations
35%
Mutex Locks
34%
Serial Dispatch Queue
11%
Synchronous Operations
🤔 Чем отличается convenience от designated?

- Designated initializer — основной инициализатор класса, который инициализирует все свойства напрямую.
- Convenience initializer — вспомогательный, использует другие инициализаторы для настройки, делегирует вызов self.init().


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Каким способом можно в Swift синхронизировать доступ к ресурсу между iOS-приложением и его Widget/Extension?
Anonymous Quiz
56%
Использование App Groups
20%
Применение shared UserDefaults
16%
Создание общего CloudKit контейнера
8%
Использование Keychain