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
🤔 Как обращаются к объектам класса и объектам структуры?

Классы передаются по ссылке, а структуры по значению.
- К объектам класса обращаются через ссылку (let obj = MyClass()), изменения в одной переменной отразятся на всех экземплярах.
- К объектам структуры обращаются как к копиям, каждое присваивание создает новый объект (let obj = MyStruct()).


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

Это механизм динамического диспетчинга в Swift, используемый для работы с протоколами.
- Если структура или класс реализуют протокол, Swift создает Witness Table, хранящую указатели на методы.
- Это позволяет динамически вызывать методы, объявленные в протоколе, даже если тип не известен во время компиляции.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift можно определить, поддерживает ли класс или структура определенный протокол?
Anonymous Quiz
25%
Использование is
25%
Применение conforms to
12%
Использование type(of:)
37%
Применение as?
🤔 Каким образом SwiftUI позволяет упростить создание динамичных пользовательских интерфейсов?
Anonymous Quiz
74%
Использование declarative syntax
16%
Применение imperative programming
5%
Использование manual layout
5%
Применение direct manipulation
🤔 Что известно про Array?

Это упорядоченная коллекция значений одного типа в Swift.
- Хранит элементы последовательно в памяти, что делает доступ по индексу O(1).
- Динамический размер, может увеличиваться или уменьшаться.
- Copy-on-Write (CoW) – копия создается только при изменении (оптимизация памяти).
- Типобезопасность – можно хранить только один тип данных, объявленный при инициализации.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какие стратегии можно использовать в Swift для управления памятью в ручном режиме?
Anonymous Quiz
29%
Использование ARC
48%
Применение manual retention и release
6%
Использование garbage collection
17%
Применение reference counting
1
🤔 Чему равно значение выражения Optional.none в контексте Optionals в Swift?
Anonymous Quiz
81%
nil
8%
0
7%
Пустая строка
4%
false
🤔 Что такое Notification Center?

Это механизм публикации и подписки на события в iOS.
- Позволяет компонентам приложения обмениваться данными без прямых ссылок.
- Работает по принципу наблюдателя: объект отправляет уведомление, а подписчики получают его.
- Используется для глобального взаимодействия между модулями (например, обновление UI после фоновой загрузки данных).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Какой инструмент в Xcode используется для измерения и анализа времени выполнения операций в приложении?
Anonymous Quiz
72%
Time Profiler
6%
Network Link Conditioner
20%
Memory Graph Debugger
2%
Console
🤔 Когда нужно изменять метод loadView?

Метод loadView() переопределяется, если нужно создать кастомный корневой view без использования Storyboard или XIB.
Применение:
- Когда требуется программная верстка интерфейса.
- Если необходимо настроить иерархию UIView вручную перед загрузкой viewDidLoad().


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41
🤔 Какой компонент в Swift отвечает за обработку исключений?
Anonymous Quiz
15%
Error Handling
19%
Exception
18%
Throw Catch
48%
Do-Try-Catch
🤔 В каких ситуациях можно применять MVC?

Это шаблон разделения кода на логику данных, отображение и обработку событий.
Применяется, когда:
- Нужно четкое разделение логики и UI.
- Разрабатывается многоразовый код (модель может использоваться в разных частях приложения).
- Упрощается тестирование – можно тестировать Model и Controller отдельно от View.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой механизм Swift позволяет оптимизировать вызовы методов для объектов, которые не изменяются во время выполнения программы?
Anonymous Quiz
80%
Static dispatch
12%
Dynamic dispatch
4%
Virtual tables
4%
Inline caching
🤔 Могут ли разные типы данных лежать в массиве?

Массив может содержать только один тип данных (например, [String], [Int]).
Однако, можно хранить разные типы данных, если использовать:
- Any – массив [Any] может содержать String, Int, Double, но требует явного приведения типов.
- protocol – если все элементы реализуют общий протокол ([CustomProtocol]).
- enum с ассоциативными значениями – позволяет хранить разные типы в одном контейнере (enum DataType { case string(String), int(Int) }).


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