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

Вопросы собесов t.me/+wtkjBoN6OI5hNGEy
Задачи t.me/+JQkI4zSOEXtkYzg6
Вакансии t.me/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Расскажи про capture list?

Capture list в замыканиях Swift используется для управления захватом переменных, предотвращая сильные ссылки ([weak self]) или обеспечивая их копирование ([x]). Это помогает управлять памятью и избегать утечек.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift создать переменную, которая может хранить либо строку, либо число?
Anonymous Quiz
38%
Использование enum с ассоциированными значениями
39%
Применение Any
19%
Использование Tuple
4%
Применение Union типа
🤔 Как в Swift реализовать безопасную обработку потенциально больших данных без блокировки UI?
Anonymous Quiz
6%
Применение OperationQueue с лимитом операций
7%
Использование NSOperation с приоритетом
15%
Применение background execution
🤔 Что может быть ключом и значением для dictionary в Swift?

В Swift ключом в словаре (Dictionary) может быть любой тип, который соответствует протоколу `Hashable`. Значениями могут быть объекты любого типа. Это позволяет создавать словари с широким спектром типов данных как для ключей, так и для значений.?

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как организовать код в Swift так, чтобы он автоматически обновлялся при изменении значений в базе данных?
Anonymous Quiz
21%
Использование NotificationCenter
20%
Применение delegate и data source
34%
Использование KVO и Core Data
26%
Применение reactive programming моделей
🤔 Какие бывают модификаторы доступа?

В Swift модификаторы доступа включают:
private (доступ только внутри текущего файла или типа),
fileprivate (доступ в пределах файла),
internal (доступ по умолчанию в модуле),
public (доступ в любом модуле),
open (доступ для наследования и изменения вне модуля).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как обеспечить выполнение кода только после того, как все асинхронные операции завершены?
Anonymous Quiz
75%
Использование DispatchGroup
10%
Применение Semaphore
7%
Использование AllCompleted оператора
9%
Применение wait() на каждой операции
🤔 Как реализовать в Swift паттерн "Ленивая инициализация" для свойств, зависимых от внешних ресурсов?
Anonymous Quiz
88%
Использование lazy var
4%
Применение computed properties
5%
Использование init() для инициализации
2%
Применение weak ссылок
🤔 За счёт чего стек быстрее кучи?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift обеспечить, что операции чтения и записи к свойству будут атомарными?
Anonymous Quiz
49%
Использование atomic свойств
23%
Применение DispatchQueue с барьером
25%
Использование NSLock
3%
Применение volatile
👍1
🤔 За что отвечает "L" в "SOLID"?

"L" в SOLID — это принцип Лисков (Liskov Substitution Principle), который гласит, что объект дочернего класса должен корректно работать там, где используется объект родительского класса. Это помогает создавать устойчивые и легко расширяемые архитектуры.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift реализовать механизм, позволяющий множеству слушателей реагировать на изменения в объекте без необходимости опрашивать его состояние?
Anonymous Quiz
62%
Использование шаблона Observer
9%
Применение Delegation
22%
Использование Notifications
7%
Применение Bindings
🤔 Как в Swift защитить данные от изменений после их первоначальной инициализации, но при этом позволить их чтение из любого места?
Anonymous Quiz
38%
Использование public let
53%
Применение private(set) public get
5%
Использование readonly
3%
Применение immutable
🤔 Как реализовать в Swift кросс-модульную связь между компонентами без использования глобальных переменных?
Anonymous Quiz
30%
Использование Singleton
4%
Применение Event Bus
59%
Использование Dependency Injection
7%
Применение Interface
🤔 Как в Swift реализовать строгую типизацию для JSON данных при их десериализации, минимизируя риск ошибок времени выполнения?
Anonymous Quiz
38%
Использование Codable
31%
Применение JSONSerialization
8%
Использование Type-Safe JSON
23%
Применение Decodable
😁3
🤔 Как в Swift защитить выполнение критического кода, чтобы обеспечить его выполнение только одним потоком в данный момент времени?
Anonymous Quiz
26%
Использование Mutex
28%
Применение Semaphore
8%
Использование Synchronized block
38%
Применение Dispatch Barrier
🤯1
🤔 Сколько может быть куч и стеков в приложении

В приложении может быть одна куча, общая для всего процесса, где хранятся динамически выделяемые данные. Стеков в приложении может быть несколько, обычно один на каждый поток, что позволяет каждому потоку иметь свои локальные данные и вызовы функций. Таким образом, многопоточное приложение имеет одну общую кучу и несколько стеков.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift протестировать код, который зависит от текущего времени, не изменяя системные часы?
Anonymous Quiz
28%
Использование Date()
19%
Применение SystemClock интерфейса
26%
Создание мок объекта для времени
27%
Использование TimeInterval