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

Вопросы собесов t.me/+wtkjBoN6OI5hNGEy
Задачи t.me/+JQkI4zSOEXtkYzg6
Вакансии t.me/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Как в 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
🤔 Как в Swift можно принудительно выполнить выход из нескольких уровней вложенных циклов?
Anonymous Quiz
57%
Использование метки с break
8%
Применение exit()
27%
Использование return в функции
9%
Применение continue с меткой
🤔Что такое cherrypick?

cherrypick — это команда Git, которая позволяет взять конкретные изменения из одного коммита и применить их в другой ветке. Это полезно для исправления ошибок или добавления небольших фич без полного слияния веток.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как в Swift запустить задержанную операцию на фоновом потоке и затем обновить UI на главном потоке?
Anonymous Quiz
73%
Использование DispatchQueue.global().async и DispatchQueue.main.async
24%
Применение asyncAfter и sync
2%
Использование OperationQueue
2%
Использование performSelector(inBackground:)
😁3
🤔 Сначала задача ставится в фоновую очередь, затем результат передается в главную очередь.
Anonymous Quiz
13%
Использование Array
15%
Применение Set
31%
Расширение Array с протоколом Equatable
41%
Создание кастомного типа с NSOrderedSet
💊6🤯3😁2
🤔 Чем отличается rebase от merge?

rebase переписывает историю, применяя изменения вашей ветки поверх целевой ветки, создавая линейную историю. merge объединяет две ветки, сохраняя историю обеих, что может привести к дополнительным коммитам при конфликте.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift обеспечить, что изменения внутри транзакции БД отменяются при возникновении ошибки?
Anonymous Quiz
18%
Использование defer и throw
63%
Применение do-catch с роллбэком в catch
14%
Использование замыканий с обработкой ошибок
5%
Применение guard для проверки каждой операции
🤔 За что отвечает "L" в "SOLID"?

"L" в SOLID — это принцип Лисков (Liskov Substitution Principle), который гласит, что объект дочернего класса должен корректно работать там, где используется объект родительского класса. Это помогает создавать устойчивые и легко расширяемые архитектуры.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM