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

Вопросы собесов t.me/+wtkjBoN6OI5hNGEy
Задачи t.me/+JQkI4zSOEXtkYzg6
Вакансии t.me/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Какой модуль в Swift предназначен для работы с математическими вычислениями и алгоритмами большой точности?
Anonymous Quiz
68%
SwiftMath
7%
Accelerate
15%
NumSwift
10%
BigInt
🤔 Какие есть фреймворки для выполнения бэкраунд задач?

1. GCD (Grand Central Dispatch): для управления потоками и выполнения задач.
2. OperationQueue: более высокоуровневая абстракция над GCD.
3. URLSession: для выполнения сетевых запросов в фоне.
4. BackgroundTasks: для выполнения долгосрочных задач в фоне.


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

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift создать глобальный доступный метод, который не может быть переопределен или изменен?
Anonymous Quiz
71%
Использование final class с static func
11%
Использование open class с static func
17%
Использование public class с class func
1%
Использование internal class с dynamic func
🤔 Если свою структуру создадим, она скопируется или будет ждать, пока что-то в ней поменяем?

Структуры являются value types, поэтому они копируются при передаче. Однако копирование происходит лениво (copy-on-write): структура не копируется, пока не будет изменена.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой инструмент в Xcode используется для отладки параллельного кода?
Anonymous Quiz
16%
Visual Debugging
48%
Thread Sanitizer
25%
Memory Graph Debugger
11%
Performance Monitor
🤔 Как в Swift реализуется паттерн "Lazy Initialization" для объектов, которые требуют сложной настройки?
Anonymous Quiz
83%
Использование lazy var с замыканием
4%
Использование deferred var
2%
Применение static let
10%
Настройка через init()
🤔 Можно ли наследовать структуру от нескольких родителей?

Нет, структуры не поддерживают наследование. Однако можно использовать протоколы (protocol) для реализации общих интерфейсов и функциональности.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как в Swift реализовать асинхронную загрузку данных, обрабатывая исключения и ошибки?
Anonymous Quiz
19%
Использование try async
9%
Применение await try
31%
Использование try await
41%
Применение async throws
🤔 Как в Swift создать условие, при котором инстанциируемый класс может быть только одним объектом в приложении?
Anonymous Quiz
72%
Применение паттерна Singleton
14%
Определение класса как final
11%
Использование static метода создания
3%
Закрытие всех конструкторов кроме одного
🤔 Какую проблему решает реактивное программирование?

Реактивное программирование упрощает обработку асинхронных потоков данных, таких как события пользовательского интерфейса, API-запросы или изменения состояния. Основные проблемы, которые оно решает:
1. Управление сложными зависимостями между событиями.
2. Обработка потоков данных без блокировки.
3. Упрощение цепочек вызовов через декларативный стиль.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift внедрить возможность просмотра изменений состояния объекта в реальном времени?
Anonymous Quiz
14%
Использование Data Observing
27%
Применение Property Observers
49%
Реализация KVO (Key-Value Observing)
10%
Определение замыканий для наблюдения
🤔 Как в Swift обеспечить исполнение кода, зависящего от успешного выполнения нескольких асинхронных вызовов?
Anonymous Quiz
69%
Использование DispatchGroup
6%
Применение Promise
11%
Использование async let
13%
Применение async sequence
🤔 Почему VIPER — это "боль"?

1. Сложность структуры: VIPER разделяет код на множество модулей (View, Interactor, Presenter, Entity, Router), что увеличивает количество файлов.
2. Избыточность кода: Часто создаются дополнительные слои, которые могут быть неоправданны для простых задач.
3. Сложность поддержки: При большом количестве компонентов управление их связями становится трудоемким.
4. Крутая кривая обучения: Требует значительного опыта и дисциплины для корректной реализации.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
🤔 Как в Swift создать условное расширение для коллекции, которое работает только с определенными типами элементов?
Anonymous Quiz
31%
Использование ограничений на дженерик типы
5%
Применение фильтра в расширении
53%
Определение расширения с where
11%
Использование специфичного протокола для элементов
🤔 Какой механизм в Swift позволяет функциям возвращать разные типы данных в зависимости от условий, не теряя типобезопасности?
Anonymous Quiz
42%
Использование Any
20%
Применение обобщенных функций
11%
Возврат Tuple
27%
Использование enums с ассоциированными значениями