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

Вопросы собесов t.iss.one/+wtkjBoN6OI5hNGEy
Задачи t.iss.one/+JQkI4zSOEXtkYzg6
Вакансии t.iss.one/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Какое ключевое слово используется для создания замыкания, которое захватывает переменные по значению, а не по ссылке?
Anonymous Quiz
31%
value
27%
capture
35%
weak
8%
unowned
🤔 Что известно о типовых приёмах рефакторинга?

Часто используются приёмы: выделение метода, перемещение логики в отдельный класс или слой, замена условных операторов полиморфизмом, переименование для ясности, инверсия зависимости. Главная цель — улучшить читаемость, переиспользуемость и снизить связанность компонентов.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Каким образом в Swift можно реализовать функционал автоматического обновления содержимого приложения в ответ на изменения во внешних данных, используя серверные уведомления?
Anonymous Quiz
59%
Использование WebSockets для постоянного соединения с сервером
16%
Применение push-уведомлений для инициации обновлений
8%
Отслеживание изменений с помощью long-polling техники
16%
Разработка REST API с поддержкой long-running запросов
🤔 Как в Swift можно гарантировать, что изменения в модели данных отражаются в пользовательском интерфейсе в реальном времени?
Anonymous Quiz
8%
Использование NotificationCenter
23%
Применение KVO (Key-Value Observing)
11%
Активация Data Binding
👍1
🤔 В чем особенность верстки каждой ячейки на фрейме?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как в Swift реализуется паттерн "Lazy Initialization" для объектов, которые требуют сложной настройки?
Anonymous Quiz
78%
Использование lazy var с замыканием
2%
Использование deferred var
9%
Применение static let
12%
Настройка через init()
👍1
🤔 За счёт чего стек быстрее кучи?

Стек быстрее кучи, потому что операции в стеке, такие как добавление и удаление, имеют фиксированную сложность O(1), благодаря строгому порядку (LIFO). Стек управляется автоматически, без необходимости выделения и освобождения памяти вручную. Куча, напротив, требует больше времени из-за динамического управления памятью и возможных операций фрагментации.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Какой паттерн проектирования в Swift улучшает тестируемость кода, разделяя зависимости между компонентами?
Anonymous Quiz
18%
Factory
4%
Adapter
73%
Dependency Injection
5%
Facade
💊2👍1
🤔 Как реализовать протокол в Swift так, чтобы он мог быть применен только к определенному типу классов?
Anonymous Quiz
38%
Использование ограничений на типы
21%
Применение уточнения протокола
23%
Указание базового класса в определении протокола
19%
Определение протокола внутри класса
👍1
🤔 Что такое frame и bounds?

- frame — прямоугольник, описывающий позицию и размер вью относительно её супервью. Включает координаты и размеры.
- bounds — прямоугольник, описывающий внутреннюю систему координат самой вью. Его origin по умолчанию (0, 0).
Пример:
Если вьюшка смещена вправо и вниз, её frame.origin будет (x, y), но bounds.origin всё равно (0, 0) — пока ты явно не изменишь его (например, при скроллинге).


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

Структуры копируются по механизму Copy-on-Write (CoW):
1. Если структура неизменна, копирования не происходит – все ссылки указывают на один объект.
2. Если структура изменяется, создается новая копия в памяти, а старая остается неизменной.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой инструмент в Swift наиболее эффективен для создания пользовательского DSL (Domain Specific Language)?
Anonymous Quiz
4%
Использование infix operator
22%
Расширения для String и Int
20%
Создание новых классов и структур
🤔 Что произойдет, если попытаться добавить элемент в множество, который уже существует в множестве?
Anonymous Quiz
21%
Элемент будет добавлен снова
70%
Элемент будет проигнорирован
8%
Программа выбросит ошибку выполнения
2%
Множество будет очищено
👍1
🤔 Как функционируют стеки между собой?

Стеки между собой не взаимодействуют напрямую, потому что каждый из них принадлежит отдельному потоку и находится в своей изолированной памяти.
Однако потоки могут обмениваться данными через:
- Общую (разделяемую) память.
- Коллекции или переменные, защищённые механизмами синхронизации (например, DispatchQueue, NSLock, Atomic).
- Очереди (например, GCD или OperationQueue в Swift).
Сами стеки — независимы и не пересекаются между потоками.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Какое ключевое слово используется для объявления свойства, которое должно быть унаследовано всеми подклассами?
Anonymous Quiz
13%
static
13%
final
60%
class
15%
dynamic
👍1
🤔 Как в Swift реализовать поддержку метаданных для пользовательских классов без изменения исходного кода класса?
Anonymous Quiz
35%
Использование associated objects
4%
Применение reflection
62%
Создание расширений класса
0%
Декларация приватных подклассов
👍1
🤔 Когда система не убьёт приложение?

Система не завершит приложение, если оно находится в активном состоянии, не потребляет слишком много ресурсов и не блокирует UI. Также при наличии background task или background fetch приложение может удерживаться живым ограниченное время в фоне.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Какой протокол используется для создания типов, которые могут быть копированы?
Anonymous Quiz
29%
Copying
10%
Clonable
57%
NSCopying
5%
Duplicatable
👍1