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

Вопросы собесов t.me/+wtkjBoN6OI5hNGEy
Задачи t.me/+JQkI4zSOEXtkYzg6
Вакансии t.me/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Что такое deadlock?

Deadlock — это ситуация, при которой два или более процесса или потока блокируют друг друга, ожидая освобождения ресурсов, которые каждый из них удерживает. Это приводит к остановке выполнения, так как никто не может продолжить работу.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift можно использовать замыкание для отложенного выполнения кода, сохраняя при этом текущий контекст?
Anonymous Quiz
37%
Использование defer
20%
Применение lazy
6%
Использование захвата списка [unowned self]
38%
Применение захвата списка [weak self]
🤔 Какой паттерн проектирования наиболее подходит для управления состоянием в больших приложениях на Swift?
Anonymous Quiz
4%
MVC
62%
MVVM
5%
Singleton
29%
Observer
💊7
🤔 Что из себя представляет структура данных stack?

Стек — это структура данных LIFO (Last In, First Out), где последний добавленный элемент извлекается первым. Операции добавления (push) и удаления (pop) выполняются только на вершине стека, что делает его удобным для управления вызовами функций и обработки данных в обратном порядке.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как в Swift реализовать безопасный и реентерабельный код для многопоточного доступа?
Anonymous Quiz
53%
Использование DispatchQueue
19%
Использование NSLock
6%
Применение atomic свойств
22%
Использование serial DispatchQueue
💊1
🤔 Как обеспечить, что опциональная переменная в Swift будет разворачиваться безопасно в каждом использовании?
Anonymous Quiz
50%
Применение guard let
15%
Использование if let
32%
Применение optional chaining
4%
Использование forced unwrapping
🤔 Что такое модификатор памяти weak?

weak — это модификатор в Swift, используемый для предотвращения сильной ссылки на объект, чтобы избежать retain cycle. Такие ссылки автоматически обнуляются, если объект, на который они указывают, уничтожен.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift определить кастомное поведение при изменении значения свойства?
Anonymous Quiz
24%
Использование willSet
58%
Использование didSet
6%
Применение observing
12%
Использование onChange
🤔 Как в Swift убедиться, что блок кода будет выполнен только один раз, даже при многопоточном доступе?
Anonymous Quiz
19%
Использование static
47%
Применение DispatchQueue.once
18%
Использование dispatch_once
16%
Использование NSLock
🤔 Какие бывают модификаторы доступа?

В Swift модификаторы доступа включают:
private (доступ только внутри текущего файла или типа),
fileprivate (доступ в пределах файла),
internal (доступ по умолчанию в модуле),
public (доступ в любом модуле),
open (доступ для наследования и изменения вне модуля).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🤔 Как в Swift обеспечить, что все элементы массива удовлетворяют определенному условию?
Anonymous Quiz
43%
Использование filter
30%
Применение allSatisfy
16%
Использование forEach
10%
Применение map
🤔 Как в Swift ограничить доступ к методам базового класса при наследовании?
Anonymous Quiz
49%
Использование private
8%
Применение internal
40%
Декларирование метода как final
2%
Использование restricted
🤔 За счёт чего стек быстрее кучи?

Стек быстрее кучи, потому что операции в стеке, такие как добавление и удаление, имеют фиксированную сложность O(1), благодаря строгому порядку (LIFO). Стек управляется автоматически, без необходимости выделения и освобождения памяти вручную. Куча, напротив, требует больше времени из-за динамического управления памятью и возможных операций фрагментации.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Как реализовать паттерн "Декоратор" в Swift для добавления новой функциональности к объекту без изменения его кода?
Anonymous Quiz
10%
Использование наследования
36%
Применение композиции и протоколов
47%
Расширение с помощью extension
7%
Использование delegation
🤔 Как в Swift создать закрытый тип данных, доступный только в рамках текущего файла?
Anonymous Quiz
78%
Использование fileprivate
18%
Декларирование как private
3%
Использование internal
1%
Объявление как closed
🤔 Какую структуру имеет диспетчеризация?

Диспетчеризация в Swift используется для определения того, какой метод или свойство вызывать, и бывает трёх типов: статическая (определяется во время компиляции), динамическая (решается во время выполнения через таблицы виртуальных функций) и мультидиспетчеризация (учитывает типы всех аргументов).

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🤔 Как в Swift реализовать потокобезопасный ленивый инициализатор без использования lazy?
Anonymous Quiz
30%
Использование DispatchQueue
16%
Использование NSLock
17%
Использование Atomic
36%
Применение dispatch_once
1
🤔 Расскажи об отличиях MVC от MVP?

MVC (Model-View-Controller) разделяет данные, пользовательский интерфейс и логику управления, где View напрямую взаимодействует с Controller. В MVP (Model-View-Presenter) Presenter управляет всей логикой и взаимодействием, а View становится пассивной, обрабатывая только отображение данных. MVP лучше подходит для тестирования, так как логика полностью изолирована в Presenter.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как использовать замыкания в Swift для создания конфигурируемых компонентов UI без подклассов?
Anonymous Quiz
21%
Использование IBOutlet
31%
Применение configuration blocks
23%
Использование delegate
25%
Расширения с помощью extension