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

Вопросы собесов t.me/+wtkjBoN6OI5hNGEy
Задачи t.me/+JQkI4zSOEXtkYzg6
Вакансии t.me/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Чем отличается set от dictionary?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Как обрабатывать изменения в настройках приложения в реальном времени на iOS?
Anonymous Quiz
14%
Использование UserDefaults
17%
Применение KVO для UserDefaults
59%
Использование NotificationCenter для отслеживания изменений
10%
Применение Settings Bundle
🤔 Как интерфейс связывается с конкретной реализацией?

Интерфейс связывается с реализацией через Dependency Injection, где зависимости передаются через конструктор, метод или поле. Для этого используются DI-контейнеры или Service Locator. Это позволяет использовать интерфейсы для абстрагирования деталей реализации. Реализация выбирается на этапе исполнения.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift создать свои кастомные события для управления состоянием в приложении?
Anonymous Quiz
14%
Использование EventKit
52%
Применение NotificationCenter
14%
Использование кастомного enum и delegate
20%
Применение паттерна Observer
🤔 Как в Swift обеспечить потокобезопасное чтение и запись данных?
Anonymous Quiz
7%
Использование synchronized
49%
Применение DispatchQueue с барьерами
38%
Использование NSLock
6%
Применение Atomic
😁2💊2
🤔 Как протоколы реализуют код?

Протоколы в iOS задают интерфейс, который может быть реализован классами, структурами или перечислениями. Они не содержат реализацию, но можно использовать протоколы с расширениями (protocol extension), чтобы добавить стандартное поведение. Протоколы обеспечивают гибкость и модульность. Это позволяет разделять ответственность и переиспользовать код.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift реализовать автоматическое тестирование пользовательского интерфейса?
Anonymous Quiz
47%
Использование XCTest
5%
Применение Selenium
27%
Использование UI Testing Bundle
21%
Применение Snapshot Tests
🤔 Как обеспечить, что свойства объекта Swift нельзя будет изменить после инициализации?
Anonymous Quiz
66%
Объявление всех свойств как let
5%
Использование immutable модификатора
13%
Применение final классов
16%
Запрет на изменение через private(set)
🤔 Какой принцип нарушает Singleton?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift можно контролировать последовательное выполнение асинхронных задач в цепочке вызовов?
Anonymous Quiz
6%
Использование Promise
43%
Применение DispatchQueue
44%
Использование async/await
7%
Применение Combine
🤔 Какой метод в Swift позволяет обрабатывать ошибки, возникающие в асинхронном коде?
Anonymous Quiz
55%
try-catch
7%
handling errors
4%
catching exceptions
34%
try await
🤔2
🤔 Где использовать структуры данных?

Структуры данных применяются везде, где необходимо хранение и обработка информации. Например, массивы используются для упорядоченных данных, множества — для уникальных элементов, а словари — для быстрых поисков по ключу. Использование зависит от требований к скорости доступа, модификации и объёму данных.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Каким образом можно в Swift выполнить код в зависимости от типа объекта без использования оператора if или switch?
Anonymous Quiz
13%
Использование pattern matching
40%
Применение type casting
18%
Использование dynamic type check
29%
Применение polymorphism
🤔4
🤔 Какой механизм в Swift обеспечивает возможность изменения свойств объекта в рамках заданной области видимости?
Anonymous Quiz
35%
Access control
28%
Property wrappers
17%
Encapsulation
19%
Mutability control
🤔 Где используется полиморфизм в iOS разработке?

Полиморфизм активно используется при работе с протоколами и классами. Например, UITableViewDelegate позволяет работать с разными объектами через общий интерфейс. Это облегчает кастомизацию поведения без изменения базового кода. Полиморфизм также применяется в архитектурных паттернах, таких как MVC и MVVM.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Перечислите методы, которые Swift предлагает для управления памятью в случае циклических ссылок между объектами.
Anonymous Quiz
16%
strong и weak
12%
retain и release
2%
strong и unowned
70%
weak и unowned
🤔 Когда использовать set?

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

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