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

Вопросы собесов t.iss.one/+wtkjBoN6OI5hNGEy
Задачи t.iss.one/+JQkI4zSOEXtkYzg6
Вакансии t.iss.one/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Каким образом SwiftUI позволяет упростить создание динамичных пользовательских интерфейсов?
Anonymous Quiz
77%
Использование declarative syntax
19%
Применение imperative programming
1%
Использование manual layout
3%
Применение direct manipulation
🤔 Какие есть нюансы при использовании Core Data в разных потоках?

- Каждый поток должен использовать отдельный NSManagedObjectContext.
- Контексты не являются потокобезопасными, и попытка использовать один и тот же контекст из разных потоков приведёт к сбоям.
- Для передачи объектов между контекстами нужно использовать NSManagedObjectID, а не сами объекты.
- При сохранении одного контекста необходимо либо вручную уведомлять другие контексты об изменениях, либо включить automaticallyMergesChangesFromParent.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3💊1
🤔 Какой инструмент используется для профилирования производительности и нахождения утечек памяти в Swift?
Anonymous Quiz
49%
Xcode Instruments
12%
Swift Profiler
36%
Memory Analyzer
4%
Performance Monitor
💊1
🤔 Каким способом можно обеспечить выполнение кода в Swift только после завершения нескольких асинхронных операций?
Anonymous Quiz
79%
Использование DispatchGroup
14%
Применение нескольких DispatchQueue.async
8%
Запуск последовательных DispatchQueue.sync
0%
Создание массива Future объектов
🤔 Сколько будет весить массив, в зависимости от того, сколько и что туда положил?

Вес массива зависит от количества элементов и их типа. Например, массив из 100 Int (по 8 байт каждый) займёт примерно 800 байт. Если массив содержит объекты, то он хранит ссылки, а сами объекты лежат в куче. Также учитывается внутренний буфер и выравнивание.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2
🤔 Какой оператор в Swift используется для безопасного разыменования опционалов?
Anonymous Quiz
45%
?
3%
!
50%
??
2%
&
🤔 Каким образом можно в Swift динамически изменять поведение объекта в зависимости от его состояния без изменения его класса?
Anonymous Quiz
51%
Использование паттерна State
25%
Применение инъекций зависимостей
9%
Модификация свойств объекта
15%
Создание наследников класса
🤔 Почему плохо загружать главный поток, и какие есть способы этого не делать?

Почему плохо:
1. Главный поток отвечает за обновление пользовательского интерфейса.
2. Его блокировка приводит к зависанию приложения и ухудшению пользовательского опыта.
3. Возможна ошибка "Application Not Responding" (ANR).
Как избежать:
1. Выполняйте ресурсоемкие задачи (сеть, вычисления) в фоновых потоках с использованием DispatchQueue, NSOperationQueue или Coroutines.
2. Используйте асинхронные операции с callback-ами, Promise, или реактивными библиотеками (RxSwift).
3. Минимизируйте время выполнения операций, требующих обновления UI, чтобы быстрее возвращаться в главный поток.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift реализовать задержку в выполнении кода без блокировки потока?
Anonymous Quiz
22%
Использование sleep()
9%
Применение wait()
64%
Использование DispatchQueue.asyncAfter
4%
Применение NSTimer
🤔 Какой принцип нарушает Singleton?

Singleton нарушает принцип Dependency Inversion, так как он жёстко связывает клиентский код с конкретной реализацией. Это усложняет тестирование и замену реализаций. Singleton также нарушает принцип единственной ответственности, так как он отвечает и за управление своим состоянием, и за доступ к объекту. Для решения проблемы рекомендуют использовать DI.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift реализовать библиотеку, которая позволяет пользователям добавлять свои собственные функции расширения без перекомпиляции библиотеки?
Anonymous Quiz
7%
Использование плагинов
57%
Применение open классов и методов
30%
Создание API для регистрации пользовательских функций
7%
Использование скриптов на Swift
💊1
🤔 Какой механизм позволяет в Swift обрабатывать несколько ошибок, возникших при выполнении цепочки асинхронных операций?
Anonymous Quiz
62%
try/catch
24%
Error handling внутри каждой операции
10%
Использование futures и promises
5%
Сбор ошибок в массив и их последующая обработка