2. Функция в Swift — это именованный фрагмент кода, который выполняет определённую задачу. Она может принимать параметры, возвращать значение, либо ничего не принимать и не возвращать. Как должна выглядеть реализация функции filterEvenNumbers, которая принимает массив целых чисел и замыкание, возвращающее только четные числа?
3. Кастомная ячейка UITableViewCell — это настраиваемый элемент таблицы (UITableView), позволяющий создать уникальный внешний вид ячейки путем добавления собственных элементов управления (например, изображений, меток, кнопок), стилей оформления и поведения. Как правильно реализовать кастомную ячейку UITableViewCell, которая отображает название и асинхронно загружает изображение по URL?
4. DispatchGroup — это инструмент из библиотеки Grand Central Dispatch (GCD), позволяющий эффективно управлять выполнением нескольких параллельных операций и синхронизировать завершение всех запущенных задач.
Как реализовать параллельную загрузку 3 изображений по URL и показать алерт, когда все загрузки завершены, используя DispatchGroup?
5. При запросе к API сервер возвращает статус 401 (Unauthorized). Нужно реализовать логику, которая обновляет токен и повторяет запрос. Какой метод реализует корректное поведение?
6. Нужно реализовать пагинацию при загрузке данных в UITableView. Например, данные загружаются по 20 элементов на страницу, и при прокрутке вниз — подгружается следующая. Какой метод реализует это правильно?
7. Базовые методы навигации — это стандартные способы перемещения пользователей между различными экранами приложения на платформе iOS. Эти подходы позволяют организовать удобную структуру интерфейса и обеспечить интуитивное взаимодействие пользователя с приложением.
Как правильно создать навигацию от одного экрана к другому в SwiftUI?
8. … — это фреймворк от Apple для создания интерфейсов с декларативным подходом
9. … — модальное окно для отображения предупреждений или сообщений с действиями
10. Модификатор … используется для добавления тени к элементу
11. Обертка @State используется для …
12. Контейнер … располагает элементы вертикально
13. Модификатор .onAppear() …
14. Для передачи изменяемых значений между View используется такой тип данных, как …
15. Чтобы создать список с динамическими данными следует …
16. В состав компонентов SwiftUI входит … (Укажите 3 варианта ответа)
17. Сопоставьте понятия с их описаниями:
18. Расположите этапы создания пользовательского модификатора в SwiftUI в хронологическом порядке:
19. В чем была допущена ошибка?
20. REST … — это архитектурный стиль, использующий HTTP-методы для взаимодействия клиента и сервера через стандартизированные интерфейсы
21. GraphQL — … запросов для API, который позволяет клиенту запрашивать только те данные, которые ему нужны
22. Для создания нового ресурса на сервере используется HTTP-метод — …
23. … — статусный код, который соответствует успешному созданию ресурса
24. Формат данных, наиболее часто используемый для обмена информацией в REST API — …
25. JWT — это …
26. Инструмент, позволяющий тестировать API без написания кода, — …
27. Расшифровка аббревиатура CORS — …
28. Сервер выполняет такие задачи, как обработка бизнес-логики, … (Укажите 2 варианта ответа)
29. Сопоставьте понятия с их описаниями:
30. Расположите этапы работы с сетевым запросом в правильном порядке:
31.
32. … — это шаблон проектирования, гарантирующий, что у класса есть только один экземпляр, и предоставляющий глобальную точку доступа к нему
33. MVC — паттерн проектирования, разделяющий приложение на три компонента: модель — данные, представление — UI и контроллер — управление …
34. Паттерн, позволяющий объектам уведомлять другие объекты об изменениях своего состояния, — …
35. Router — это компонент архитектуры MVVM/MVC/VIPER/SwiftUI, отвечающий за …
36. Паттерн, который используют для создания объектов без указания их конкретных классов, называется …
37. Неверно, что принцип … входит в число принципов SOLID
38. Dependency Injection используется для …
39. Паттерн … предназначен для преобразования интерфейса одного класса в интерфейс, ожидаемый клиентом
40. Говоря о преимуществах использования MVVM, можно утверждать, что он дает … (Укажите 3 варианта ответа)
41. Сопоставьте паттерны с их возможностями:
42. Расположите этапы работы с паттерном Observer в правильном порядке:
43. Разработчик создал класс, который одновременно отвечает за загрузку данных, их преобразование и обновление UI. При изменении требований код стал сложно поддерживать. Какой принцип SOLID был нарушен и какой паттерн/архитектуру следует применить?
44. Технология Apple для управления параллельными задачами с использованием очередей и потоков обозначается аббревиатурой — …
45. … очереди — это заранее определенные очереди для выполнения задач в фоновом потоке, предоставляемые системой
46. Очередь в Grand Central Dispatch (GCD), которая используется для обновления интерфейса, — это …
47. Метод Grand Central Dispatch (GCD), который выполняет задачу асинхронно, — …
48. «Гонка данных» (race condition) — это …
49. … — это инструмент синхронизации, который позволяет ограничить количество потоков, работающих с ресурсом
50. Модификатор @MainActor используется для …
51. Класс, позволяющий отменять выполнение задач, — …
52. К методам, которые способные вызвать deadlock, относятся: вызов sync на главной очереди из главного потока и …
53. Сопоставьте понятия с их определениями:
54. Расположите этапы работы с OperationQueue в правильном порядке:
55.
56. … — это фреймворк, предоставляющий базовые классы и функции для работы с данными, строками, датами и коллекциями в iOS-приложениях
57. …— метод перехода между экранами в Storyboard
58. Базовый класс в UIKit для всех элементов пользовательского интерфейса — …
59. Метод viewDidLoad() в UIViewController используют для …
60. Тип коллекции в Foundation, гарантирующий уникальность элементов, — NS…
61. Паттерн, чаще всего используемый для связи UITableView с данными, — …
62. Auto Layout — это …
63. За управление жизненным циклом приложения отвечает класс …
64. Фреймворк Foundation выполняет ряд задач, в частности, … (Укажите 3 варианта ответа)
65. Сопоставьте понятия с их определениями:
66. Расположите этапы жизненного цикла UIViewController в правильном порядке:
67.
68. … — это язык программирования, разработанный компанией Apple для создания приложений под iOS, macOS, watchOS и tvOS
69. … — это конструкция для выбора между несколькими вариантами исполнения кода
70. Для объявления константы в Swift используется ключевое слово — …
71. Неверно, что к базовым типам данных в Swift относят …
72. Для безопасного извлечения значения из опционала используется оператор …
73. Коллекция, которая хранит элементы в порядке их добавления и позволяет дубликаты, — это …
74. Метод … вызывается при инициализации экземпляра класса в Swift
75. Протокол в Swift — это …
76. Для обработки ошибок в Swift применяют такие конструкции, как do-catch, … (Укажите 2 варианта ответа)
77. Сопоставьте понятия с их определениями:
78. Расположите этапы жизненного цикла iOS-приложения в правильном порядке:
79. … — ключевое слово для объявления константы в Swift
80. Тип данных для хранения дробных чисел — …
81. Оператор …используется для проверки условий с выходом из области видимости при их невыполнении
82. Объявление опционального типа в Swift: …
83.
84. Сопоставьте понятия и их определения:
85. Установите правильный порядок выполнения операций при работе с опционалами:
86. Сопоставьте типы циклов и их действиями:
87. Расположите этапы обработки ошибок в правильном порядке:
88. Для перебора элементов массива используется цикл …
89. Говоря о возможностях опционалов (Optionals) в языке Swift, можно утверждать, что они позволяют …
90. Базовый класс для всех UI-компонентов UIKit — …
91. Метод viewDidLoad() вызывается …
92. … — инструмент для адаптивной верстки
93. Коллекция с уникальными элементами — …
94. Установите соответствие между классами UIKit и их назначением:
95. Расположите этапы жизненного цикла UIViewController в правильном порядке:
96. Паттерн, связывающий данные с UITableView, называется …
97. Установите соответствие между классы Foundation и их функциями:
98. Расположите этапы работы с URLSession в правильном порядке:
99. … — это фреймворк для работы с базой данных
100. Для организации выполнения кода с задержкой или в основном потоке в Foundation используется класс …
101. В UIKit за управление экраном и жизненным циклом представления отвечает класс …
102. Технология, предназначенная для работы с очередями в iOS обозначается английской аббревиатурой …
103. Очередь для обновления UI — …
104. … condition — это конфликт при доступе к общим данным
105. Установите соответствие между типами очередей и механизмами многопоточности и их назначением:
106. Расположите этапы синхронизации потоков в правильной последовательности:
107. Для того, чтобы объявить потокобезопасное свойство нужно …
108.
109. Установите соответствие между методами многопоточности и их возможностями:
110. Упорядочьте приоритеты очередей:
111. @MainActor — это новый атрибут из Swift 5.5, который …
112. … — механизм Swift, который используется для организации конкурентного выполнения задач с поддержкой очередей
113. … — ключевой элемент, который используется для создания асинхронных функций в Swift начиная с версии 5.5
114. … — паттерн, который гарантирует, что у класса есть только один экземпляр?
115. MVC разделяет приложение на три компонента: Model, …, Controller
116. Dependency Injection используется для …
117. Сопоставьте архитектуры с их описаниями:
118. Расположите этапы работы паттерна Observer в хронологическом порядке:
119. Сопоставьте принципы SOLID с их характеристикой:
120. Расположите этапы реализации Factory Method в хронологическом порядке:
121. … — паттерн, который преобразует интерфейс класса в другой, удобный для клиента
122. Сопоставьте паттерны с их целями:
123. Неверно, что принцип … относится к SOLID
124. Основная ответственность компонента … в архитектуре MVP заключается в хранении бизнес-логики и обработке пользовательских событий
125. Основная цель использования паттерна «Фабрика» (Factory Pattern) — … логики создания объектов
126. … — HTTP-метод, который используется для получения данных от сервера
127. Статусный код 201 означает то, что …
128. Сопоставьте HTTP-методы и их назначение в работе ресурса:
129. Упорядочьте этапы работы с сетевым запросом в хронологическом порядке:
130. JWT — это …
131. Сопоставьте понятия и их определения:
132. Расположите этапы аутентификации в хронологическом порядке:
133. «Тело запроса» (body) — это …
134. Класс в Swift, используемый для сетевых запросов, — …
135. Инструмент для тестирования API — …
136. Для обмена данными между клиентом и сервером в мобильных приложениях чаще всего используется протокол …
137. Наиболее распространенный формат данных при передаче информации между клиентом и сервером в iOS-приложениях — …
138. … — модификатор, который добавляет отступы
139. @State используется для …
140. Сопоставьте контейнеры SwiftUI с их назначением:
141. Установите правильную последовательность этапов работы @Binding:
142. Создать список с динамическими данными можно с помощью …
143. Сопоставьте обертки данных с их определением:
144. Упорядочьте модификаторы анимации:
145.
146. Сопоставьте модификаторы с их назначениями:
147. Расположите этапы создания кастомного View в правильном порядке:
148. В SwiftUI для создания настраиваемых представлений, которые можно повторно использовать используется протокол …
149. Модификаторы в SwiftUI — это … которые изменяют внешний вид или поведение представлений SwiftUI