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

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

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift реализовать сохранение состояния пользовательского интерфейса при закрытии приложения для последующего восстановления?
Anonymous Quiz
72%
Использование UserDefaults для сохранения состояния
9%
Сохранение состояния в базе данных
18%
Применение State Restoration и Preservation APIs
1%
Ручное сохранение состояния всех элементов в файл
🤔 Сразу ли после создания контроллера создаётся экземпляр view?

Нет. По умолчанию view создаётся лениво при первом обращении к view или при вызове loadViewIfNeeded().


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как называется механизм в Swift, который используется для обработки ошибок и исключений?
Anonymous Quiz
37%
Error Handling
8%
Exception Handling
55%
Try-Catch
0%
Optionals
🤔 Какой метод используется для преобразования коллекции в массив в Swift?
Anonymous Quiz
23%
toArray()
25%
array()
12%
convertToArray()
40%
map(_:)
🤔 Есть ли отличия value тайпа от референса тайпа?

Главное отличие между value types и reference types заключается в том, что value types копируются при передаче, а reference types передаются по ссылке. Это значит, что изменение value types в одной переменной не затрагивает другие переменные, тогда как изменение reference types влияет на все ссылки на объект. Value types обеспечивают большую безопасность и предсказуемость при работе с неизменяемыми данными. Reference types позволяют легче работать с общими изменяемыми данными, но могут привести к ошибкам синхронизации.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Что используется для управления памятью объектов без владельцев?
Anonymous Quiz
38%
weak
10%
strong
51%
unowned
1%
soft
💊3
🤔 Как опционалы хранятся в памяти?

Опционалы реализованы как enum с двумя состояниями: .none и .some(Value). В памяти они занимают больше места, чем просто значение, чтобы вместить флаг наличия данных.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift определить, что переменная содержит значение nil?
Anonymous Quiz
72%
== nil
10%
!= nil
13%
.isNil
5%
nilCheck
💊2
🤔 В какой момент проставляется retain/release при использовании ARC?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Каким образом можно ограничить доступ к методам Swift класса только для других объектов в том же модуле?
Anonymous Quiz
7%
Использование public модификатора
39%
Применение private модификатора
39%
Объявление методов как internal
15%
Ограничение доступа через fileprivate
🤔 Какое ключевое слово используется для создания замыкания, которое захватывает переменные по значению, а не по ссылке?
Anonymous Quiz
30%
value
27%
capture
33%
weak
9%
unowned
🤔 Что известно о типовых приёмах рефакторинга?

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


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

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


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