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
🤔 Разница между Keychain и UserDefaults?

Keychain — безопасное хранилище для конфиденциальных данных (пароли, токены). UserDefaults — для простых настроек и состояний (темы, флаги), не защищён от внешнего доступа.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Всегда ли в замыканиях требуется указывать 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