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

Вопросы собесов t.me/+wtkjBoN6OI5hNGEy
Задачи t.me/+JQkI4zSOEXtkYzg6
Вакансии t.me/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Какая диспетчеризация используется для 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
🤔 Кто имеет такие же механизмы, как Copy-On-Write в Swift?

Copy-On-Write (COW) реализован в стандартных типах Swift — Array, String, Dictionary, а также присутствует в C++ (std::string) и некоторых реализациях Java (например, CopyOnWriteArrayList). Это механизм, который откладывает копирование до момента изменения.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
🤔 Какой метод используется для разделения строки на массив подстрок по заданному разделителю?
Anonymous Quiz
43%
split(using:)
40%
components(separatedBy:)
17%
divide(separator:)
1%
tokenize(with:)
💊3
🤔 Как называется способ визуального представления данных в табличной форме в Swift?
Anonymous Quiz
81%
TableView
9%
GridView
3%
ListView
6%
CollectionView
🤔3💊2
🤔 Как продолжить работу приложения в background-е?

Для продолжения работы нужно:
- запросить разрешение у системы (например, для фона по геолокации, аудио, VOIP);
- использовать background task, если задача должна быть завершена после сворачивания;
- следить за временем, так как система ограничивает выполнение в фоне.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой инструмент в Xcode используется для визуализации и анализа потоков выполнения программы?
Anonymous Quiz
35%
Visual Memory Debugger
23%
Time Profiler
4%
Network Link Conditioner
39%
Threads Viewer