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

Вопросы собесов t.me/+wtkjBoN6OI5hNGEy
Задачи t.me/+JQkI4zSOEXtkYzg6
Вакансии t.me/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Какая функциональность в Swift позволяет асинхронно обрабатывать элементы коллекции?
Anonymous Quiz
44%
asyncMap
8%
mapAsync
10%
forEachAsync
37%
asyncSequence
🤔 Где могут располагаться стеки помимо структуры?

Хотя стек обычно представлен как структура данных в оперативной памяти (RAM), он также:
- Логически часть адресного пространства потока в программе.
- Может быть реализован как аппаратный стек в CPU (для push/pop, возврата из функций).
- Может существовать в виртуальной машине (например, JVM, Swift Runtime) как абстрактный стек вызовов.
- Может быть программно эмулирован в сложных системах, где нет физического стека (например, в WebAssembly, embedded-средах).
Но с точки зрения разработчика — стек живёт в системной памяти как часть потока.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2
🤔 Какая техника в Swift наиболее эффективна для отслеживания и управления памятью в приложениях с интенсивными графическими операциями?
Anonymous Quiz
22%
Использование Instruments
51%
Применение Memory Graph Debugger
25%
Использование ARC
2%
Применение Weak references
🤔 Как можно в Swift создать тип, который бы поддерживал синтаксис словаря для доступа к его элементам?
Anonymous Quiz
39%
Реализация протокола DictionaryType
36%
Использование subscript
3%
Применение паттерна Adapter для словарей
22%
Расширение типа с методами словаря
💊1
🤔 Как решить проблему race condition?

Race condition — это ошибка, возникающая при одновременном доступе нескольких потоков к одним и тем же данным без должной синхронизации. Для решения проблемы race condition в Swift используются механизмы синхронизации, такие как блокировки (locks), семафоры или серийные очереди GCD. Эти инструменты позволяют ограничить доступ к общим ресурсам, чтобы только один поток мог их изменять в любой момент времени. Это предотвращает непредсказуемое поведение программы и ошибки при многопоточном доступе к данным.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Как называется функциональность в Swift, которая позволяет безопасно обрабатывать возможное отсутствие значения?
Anonymous Quiz
97%
Опционалы
3%
Замыкания
0%
Расширения
0%
Множества
🤔 Как можно в Swift реализовать шифрование данных на уровне модели, прозрачно для пользователей API модели?
Anonymous Quiz
8%
Использование property observers
3%
Применение custom accessors
68%
Использование Codable с кастомными энкодерами/декодерами
22%
Внедрение шифрования в setter методы
🤔 Когда начинает работать динамическая диспетчеризация?

Динамическая диспетчеризация происходит во время выполнения, когда метод вызывается через объект. Она используется Objective-C runtime для выбора метода, который будет вызван.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Каким образом можно оптимизировать производительность замыканий в Swift?
Anonymous Quiz
21%
С помощью атрибута @inline
26%
С помощью атрибута @autoclosure
7%
С помощью атрибута @concurrent
🤔 Каким образом можно гарантировать, что Swift-класс будет иметь только один экземпляр в приложении?
Anonymous Quiz
3%
Применение паттерна "Factory"
6%
Использование статической переменной instance
33%
Реализация как final class с приватным инициализатором
58%
Определение класса как singleton
💊12👍1
🤔 Что такое retail release?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊4
🤔 Как обеспечить выполнение кода только после того, как все асинхронные операции завершены?
Anonymous Quiz
63%
Использование DispatchGroup
19%
Применение Semaphore
5%
Использование AllCompleted оператора
13%
Применение wait() на каждой операции
🤔 Как называется процесс преобразования одного типа данных в другой в Swift?
Anonymous Quiz
50%
Кастинг (Casting)
16%
Маппинг (Mapping)
9%
Парсинг (Parsing)
25%
Конвертация (Conversion)
🤔5👍1💊1
🤔 Какие есть антипаттерны?

Популярные антипаттерны:
- God Object (всё в одном классе);
- Spaghetti Code (плохая структура, трудно сопровождать);
- Lava Flow (мертвый, но используемый код);
- Shotgun Surgery (изменение одного места требует правок в десятке других);
- Hard Coding (вшивание значений вместо конфигурации).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
🤔 Какой паттерн проектирования используется для создания объектов в Swift?
Anonymous Quiz
9%
Наблюдатель (Observer)
45%
Строитель (Builder)
45%
Фабрика (Factory)
1%
Стратегия (Strategy)
🤔 Какой метод оптимизации вызовов функций доступен в Swift для уменьшения накладных расходов вызова?
Anonymous Quiz
4%
noinline
27%
dynamic
6%
virtual
63%
inline
🤔 Что такое GitFlow?

GitFlow — это стратегия ветвления в Git. В ней есть основные ветки (main, develop), а также поддержка feature, release, hotfix и support, которые упрощают управление релизами и разработкой.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как в Swift реализовать безопасное сохранение чувствительных данных пользователя?
Anonymous Quiz
7%
Использование UserDefaults
84%
Применение Keychain Services
8%
Использование базы данных с шифрованием
2%
Сохранение данных в NSCachesDirectory
🤔 Можно ли изменить push до того, как он покажется?

Да, если использовать Notification Service Extension в iOS, можно изменить содержимое уведомления до показа. Однако это работает только для remote notification с mutable-content: 1.


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