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

Вопросы собесов t.me/+wtkjBoN6OI5hNGEy
Задачи t.me/+JQkI4zSOEXtkYzg6
Вакансии t.me/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Какое значение имеет свойство first для пустого массива?
Anonymous Quiz
84%
nil
10%
0
6%
Пустой массив
0%
Последний элемент массива
🤔 В чём разница между fileprivate, private и public private(set) уровнями доступа?

- private — ограничивает доступ к свойству или методу в пределах текущей области, например, внутри одного класса или расширения.
- fileprivate — расширяет доступ до всего файла, в котором объявлен элемент. Позволяет разным типам в одном файле работать с приватными членами друг друга.
- public private(set) — свойство можно читать откуда угодно, но изменять только внутри текущего модуля. Это позволяет внешнему коду обращаться к значению, но не менять его напрямую.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как в Swift создать безопасный механизм для изменения значения свойства из разных потоков?
Anonymous Quiz
4%
Использование volatile
12%
Применение atomic
30%
Использование DispatchQueue.sync
54%
Применение NSLock
💊7
🤔 Как в Swift можно обработать ошибки, возникающие при парсинге JSON данных?
Anonymous Quiz
84%
Использование do-try-catch
7%
Применение optional binding
0%
Использование fatalError()
9%
Применение JSONDecoder().decode()
🤔 Как решить проблему переиспользования ячеек?

Правильно реализовать логику обновления ячеек:
- Использовать prepareForReuse для сброса состояния.
- Чётко отделить асинхронные вызовы.
- Избегать сохранения состояния между разными экземплярами данных.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift обеспечить, что пользовательский тип данных может быть безопасно передан через сеть?
Anonymous Quiz
73%
Реализация Codable
7%
Применение NSCoding
10%
Создание JSONSerializable интерфейса
11%
Использование Networkable протокола
🤔 Как iOS управляет памятью?

iOS использует ARC (Automatic Reference Counting) — механизм, который автоматически отслеживает количество ссылок на объект. Когда счётчик становится равным нулю, объект удаляется. ARC работает на этапе компиляции и вставляет retain/release/assign автоматически.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Как называется встроенный фреймворк для работы с сетевыми запросами в Swift?
Anonymous Quiz
96%
URLSession
2%
HTTPRequest
2%
WebClient
1%
NetworkSession
🤔 В каком методе жизненного цикла можно переопределить вьюху у контроллера?

Переопределение основной вьюхи контроллера происходит в методе loadView(). Это позволяет создать и присвоить свою вьюху, минуя storyboard.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Каким способом Swift позволяет инкапсулировать модульные тесты для внутренней логики класса, не раскрывая его деталей реализации?
Anonymous Quiz
11%
С помощью private тестов
62%
Использование @testable аннотации с internal доступом
8%
Создание подклассов только для тестирования
19%
Применение паттерна "Factory" для тестирования
🤔 Какое ключевое слово используется для создания перечисления в Swift?
Anonymous Quiz
2%
enumeration
95%
enum
2%
case
1%
switch
🤔2
🤔 Что такое верстка на AutoLayout, а что такое верстка на frame?

- AutoLayout — это система ограничений (constraints), определяющих расположение элементов вне зависимости от размера экрана. Используется при адаптивной, универсальной верстке.
- Frame-верстка — это явное указание координат и размеров каждого элемента. Быстро, но не гибко — плохо масштабируется под разные устройства и ориентации.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как в Swift можно создать безопасный способ чтения и записи данных в многопоточной среде, используя последние возможности языка?
Anonymous Quiz
30%
При помощи семафоров
22%
Используя atomics
12%
Применение Thread Sanitizer
35%
Разработка собственной thread-safe структуры с использованием GCD
💊4👍1
Каким стеком пользоваться?

Выбор стека технологий зависит от задач. Для веб-разработки популярны MERN (MongoDB, Express, React, Node.js), MEVN (Vue вместо React) или LAMP (Linux, Apache, MySQL, PHP). Для мобильной разработки используются стеки с Kotlin, Swift или Flutter. Выбор стека должен учитывать требования проекта, язык команды и доступность инструментов.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
💊4🤔1
🤔 Какой механизм используется в Swift для выполнения кода после завершения выполнения текущей функции или метода?
Anonymous Quiz
5%
Dispatch
77%
Defer
15%
Await
3%
Promise
🤔 Как в Swift обеспечить, что определенный код будет выполнен только один раз, даже при доступе из разных потоков?
Anonymous Quiz
21%
Использование static инициализации
26%
Применение блокировок и мьютексов
43%
Использование dispatch_once
11%
Применение атомарных проверок
🤔 В чём разница между операторами == и ===?

- == — оператор сравнения значений. Он проверяет, эквивалентны ли два объекта по содержимому. Работает, если тип реализует протокол Equatable.
- === — оператор сравнения ссылок, применяется только к объектам классов. Он проверяет, ссылаются ли две переменные на один и тот же экземпляр в памяти.
Пример: два разных объекта с одинаковыми данными могут быть равны по ==, но не по ===.


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