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

Вопросы собесов t.iss.one/+wtkjBoN6OI5hNGEy
Задачи t.iss.one/+JQkI4zSOEXtkYzg6
Вакансии t.iss.one/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 В чем разница между синхронными и асинхронными запросами?

Синхронные запросы блокируют выполнение программы до получения ответа, что может замедлить работу приложения, особенно если запрос занимает длительное время. Асинхронные запросы, напротив, не блокируют основной поток и позволяют программе продолжать выполнение других задач, пока ожидается ответ от сервера или другой операции. Асинхронные запросы часто используются для работы с сетью или файловой системой, чтобы улучшить отзывчивость и производительность программ. В Swift асинхронные операции реализуются через GCD или `async/await`.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод используется для добавления элемента в массив в Swift?
Anonymous Quiz
89%
append()
8%
add()
1%
insert()
1%
push()
🤔 Какой оператор в Swift создает новый поток выполнения?
Anonymous Quiz
26%
async
18%
await
11%
concurrent
45%
dispatch
🔥1💊1
🤔 Что такое work right?

Если речь о work right в контексте GCD или планировщика задач — это стратегия, при которой задачи выполняются максимально близко ко времени их планирования. Также термин может использоваться в смысле правильной, согласованной работы потоков без гонки за ресурсами.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
🤔 Какой синтаксис используется для объявления переменной, которая может изменяться?
Anonymous Quiz
3%
let
95%
var
1%
const
1%
mutable
🤔 Как можно итерироваться по коллекции?

По коллекции можно итерироваться:
- С помощью цикла for.
- Через итераторы.
- Используя методы коллекций (например, map, filter, forEach).
- Через генераторы или ленивые последовательности (в функциональных языках).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое ключевое слово используется в Swift для объявления замыкания, которое может захватывать и изменять значения внешних переменных?
Anonymous Quiz
29%
escaping
12%
capturing
17%
inout
💊3
🤔 Какое ключевое слово используется для указания, что метод должен быть реализован в подклассе?
Anonymous Quiz
46%
override
11%
abstract
33%
required
10%
class
👍1🔥1
🤔 Чем стек отличается от кучи?

Стек (stack) — быстрое хранилище временных данных функции, работает по принципу LIFO.
Куча (heap) — область памяти для хранения объектов, живущих дольше вызова функции, управляется вручную или сборщиком мусора (ARC в iOS).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Каким способом можно в Swift динамически изменять логику валидации данных в зависимости от версии приложения или сервера?
Anonymous Quiz
9%
Использование разных классов валидаторов
50%
Применение стратегии валидации через протокол
26%
Конфигурация валидатора через сервер
16%
Реализация валидации через Swift Package Manager
🤔 Какой метод в Swift позволяет изменить стандартное поведение сортировки массива объектов?
Anonymous Quiz
76%
Использование sorted(by:)
6%
Применение sort()
2%
Изменение hashValue
16%
Реализация Comparable с кастомной логикой
🤔 Какие есть ключевые различия в работе с HTTP-запросами и WebSocket?

HTTP — это запрос-ответ, однонаправленный протокол. WebSocket — двунаправленный, позволяет клиенту и серверу обмениваться данными в реальном времени без повторных соединений. HTTP хорош для REST API, WebSocket — для чатов, игр, стриминга.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как можно обеспечить выполнение кода в основном потоке из фонового в Swift?
Anonymous Quiz
83%
DispatchQueue.main.async { }
14%
DispatchQueue.global(qos: .background)
3%
performSelector(onMainThread:)
0%
NSThread.detachNewThreadSelector()
🤔 Как получить текущее значение frame при редактировании анимации на определённой секунде?

Во время анимации значение frame напрямую не обновляется, но можно получить его через presentation layer: view.layer.presentation()?.frame. Это позволяет узнать промежуточное положение вью на текущем кадре анимации.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift реализуется паттерн "Наблюдатель", если нужно использовать стандартные средства языка без сторонних библиотек?
Anonymous Quiz
15%
Использование делегатов
46%
Использование NotificationCenter
39%
Использование KVO (Key-Value Observing)
0%
Использование замыканий
🤔 В каких моментах жизненного цикла лучше поместить подписку?

В SwiftUI или UIKit подписку (например, на NotificationCenter, Combine, RxSwift) лучше поместить:
- viewWillAppear / onAppear — когда экран или вью появляется и виден пользователю.
- Это позволяет:
- Не создавать подписку заранее (когда экран ещё не показан).
- Подписаться только при необходимости, экономя ресурсы.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Как в Swift можно гарантировать, что блок кода будет выполнен только один раз, даже если он находится внутри функции, вызываемой многократно?
Anonymous Quiz
15%
Использование static переменной с блокировкой
18%
Применение паттерна Singleton для блока кода
9%
Создание глобальной переменной проверки
58%
Использование DispatchOnce