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
🤔 Если внутри класса добавить object и companion object, какая между ними разница?

1. Object — это отдельный singleton, создаваемый внутри класса, но не связанный с его экземпляром.
2. Companion object является частью класса и позволяет обращаться к его членам напрямую через имя класса.
3. Companion object можно назвать автоматически, а object требует явного имени.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2
🤔 Какие инструменты Swift позволяют разработчикам создавать адаптивный UI, который корректно отображается на разных устройствах?
Anonymous Quiz
3%
UIKit
80%
Auto Layout
12%
SwiftUI
6%
Interface Builder
🤔 Как в Swift обеспечить выполнение определенного блока кода при выходе из области видимости?
Anonymous Quiz
16%
Использование guard
80%
Применение defer
3%
Использование final
2%
Применение exit
🤔 В чём отличие unowned и strong?

1. Strong: создаёт сильную ссылку, увеличивающую счётчик ссылок объекта, что предотвращает его удаление из памяти.
2. Unowned: слабая ссылка, которая не увеличивает счётчик ссылок, но предполагается, что объект всегда существует в памяти.
3. Если объект с unowned ссылкой удалён, обращение к нему приведёт к крашу программы.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🤔 Как в Swift использовать ключевое слово where для уточнения контекста протоколов?
Anonymous Quiz
19%
В определении функций
13%
В определении класса
53%
В расширениях и дженериках
15%
В инструкциях if
🤔 Каким образом можно в Swift создать тип, который может хранить либо Int, либо String?
Anonymous Quiz
31%
Использование Any
4%
Применение union
35%
Создание enum с ассоциированными значениями
30%
Использование дженериков с ограничениями
🤔 Какая разница между Application и Activity контекстом?

1. Application Context: существует в течение всего времени работы приложения, привязан к процессу приложения.
2. Activity Context: привязан к жизненному циклу конкретной активности и может быть уничтожен при её завершении.
3. Для длительных задач и сервисов используется Application Context, а для UI-операций — Activity Context.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift реализовать автоматическую сериализацию данных в JSON для пользовательских типов?
Anonymous Quiz
29%
Использование JSONSerialization
45%
Применение Codable
21%
Использование JSONEncoder
5%
Применение Serializable
🤔 Какая функциональность в Swift позволяет асинхронно обрабатывать элементы коллекции?
Anonymous Quiz
45%
asyncMap
13%
mapAsync
12%
forEachAsync
30%
asyncSequence
🤔 Какие проблемы можно получить, если оставить контекст?

1. Утечки памяти: если объект с контекстом удерживается после его жизненного цикла.
2. Сложность отладки: некорректная передача контекста может привести к скрытым багам.
3. Проблемы с производительностью: использование Activity Context вместо Application Context может создать избыточные ресурсы.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод должен использоваться для безопасного удаления элементов из массива во время его перебора?
Anonymous Quiz
30%
removeAll(where:)
20%
filter
45%
remove(at:)
5%
Прямое удаление в for-loop
🤔 Как в Swift определить функцию, которая должна быть вызвана перед тем, как объект будет уничтожен?
Anonymous Quiz
86%
Использование deinit
7%
Применение willSet
3%
Использование finalize
5%
Применение beforeDestroy
🤔 Что делает инициализация?

1. Инициализация устанавливает начальное состояние объекта, подготавливая его к использованию.
2. Включает выделение памяти и назначение значений свойствам (вручную или по умолчанию).
3. В Kotlin инициализация может выполняться через первичный конструктор, блоки init или вторичные конструкторы.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift обеспечить выполнение кода с задержкой, не блокируя текущий поток?
Anonymous Quiz
5%
performAfter
91%
DispatchQueue.asyncAfter
5%
Timer.scheduledTimer
0%
runLater
🤔 Наличие контекста в эскейсе хорошо или плохо?

1. Наличие контекста может быть полезно, если нужно передать состояние или внешние зависимости.
2. Однако это может привести к утечкам памяти, особенно если контекст связан с долгоживущими объектами (например, Application Context).
3. Плохо спроектированный код с контекстами может усложнить отладку и поддержку.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift реализовать протокол, который требует от conforming types иметь определенный инициализатор?
Anonymous Quiz
32%
Использование init в протоколе
57%
Применение required init
6%
Использование construct
5%
Применение protocol init
🤔 Какой тип данных используется в Swift для безопасного выполнения асинхронных операций и управления состоянием?
Anonymous Quiz
54%
AsyncResult
18%
Future
21%
Promise
7%
Deferred
🤔 Как работают выделения?

Процесс выделения (allocation) связан с резервированием памяти для хранения объектов или данных в программе. В зависимости от типа памяти выделение может происходить в куче (heap) или стеке (stack). Куча используется для объектов с длительным сроком жизни, а стек — для временных данных, таких как локальные переменные. В языках с автоматическим управлением памятью, например, в Swift или Java, выделение и освобождение памяти обрабатываются системой.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift реализовать расширение для типа, которое добавляет новую функциональность только если этот тип реализует определенный протокол?
Anonymous Quiz
77%
Использование условных расширений с where
7%
Применение обобщенных расширений
7%
Использование динамических расширений
8%
Применение строгих расширений