SW Swift  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Коллекции

Проверяет основу темы «Коллекции» через чтение кода, предсказание результата и выбор корректной конструкции. Вопросы требуют не только узнать конструкцию, но и проследить выполнение, найти причину дефекта, выбрать исправление и оценить пограничный сценарий. Языковые примеры рассчитаны на Swift 6; задания с Apple SDK рассматриваются в контексте современных платформенных контрактов.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. В тесте 20 вопросов, на работу отведено 55 минут. В каждом задании верен только один вариант. Часть фрагментов намеренно содержит ошибку: определяйте её по коду, а не по внешнему виду ответа. После завершения откроются общий результат, 4 тематические шкалы и подробные объяснения.
Вопрос 1 из 20
Что увидит разработчик после выполнения этого примера по теме «Массивы»? Не упускайте из виду следующее: мутация массива, границы индекса и стоимость операций.
SwiftМассивы · фрагмент для разбора
var values = [1, 2, 3]
let removed = values.removeFirst()
values.append(4)
print(removed, values)
Вопрос 2 из 20
Проследите типы, изменения состояния и порядок вызовов. Какое описание результата совпадает с кодом? Проверяется отсутствие ключа, default-subscript и удаление через nil.
SwiftСловари · фрагмент для разбора
var counts = ["a": 1]
counts["a", default: 0] += 1
counts["b", default: 0] += 1
print(counts["a"]!, counts["b"]!)
Вопрос 3 из 20
Проследите типы, изменения состояния и порядок вызовов. Какое описание результата совпадает с кодом? Проверяется Hashable, операции множеств и устойчивость идентичности.
SwiftМножества · фрагмент для разбора
let a: Set = [1, 2, 3]
let b: Set = [3, 4]
print(a.intersection(b).sorted())
Вопрос 4 из 20
Разберите строки в порядке выполнения. Какой результат получит фрагмент, посвящённый теме «Преобразования коллекций»? Сосредоточьтесь на следующем: map, compactMap, lazy и сохранение структуры данных.
SwiftПреобразования коллекций · фрагмент для разбора
let values = [1, 2, 3, 4]
let result = values.lazy.map { $0 * 2 }.first { $0 > 4 }
print(result as Any)
Вопрос 5 из 20
Какой разбор отличает реальную причину от сопутствующего риска? Не упускайте из виду следующее: мутация массива, границы индекса и стоимость операций.
SwiftМассивы · фрагмент для разбора
let values = [10, 20]
print(values[2])
Вопрос 6 из 20
Что именно делает этот фрагмент неверным или неочевидным с точки зрения «Словари»? Важно учесть: отсутствие ключа, default-subscript и удаление через nil.
SwiftСловари · фрагмент для разбора
var user = ["name": "Ada", "city": "Riga"]
user["city"] = nil
print(user.count)
Вопрос 7 из 20
Какой разбор отличает реальную причину от сопутствующего риска? Не упускайте из виду следующее: Hashable, операции множеств и устойчивость идентичности.
SwiftМножества · фрагмент для разбора
struct Item { var id: Int }
let items: Set<Item> = [Item(id: 1)]
Вопрос 8 из 20
Что именно делает этот фрагмент неверным или неочевидным с точки зрения «Преобразования коллекций»? Сосредоточьтесь на следующем: map, compactMap, lazy и сохранение структуры данных.
SwiftПреобразования коллекций · фрагмент для разбора
let input = ["1", "x", "3"]
let numbers = input.map(Int.init)
print(numbers)
Вопрос 9 из 20
Что нужно поменять в реализации или сигнатуре, чтобы отрицательный сценарий стал корректным? Здесь оценивается мутация массива, границы индекса и стоимость операций.
SwiftМассивы · фрагмент для разбора
let values = [10, 20]
print(values[2])
Вопрос 10 из 20
Что нужно поменять в реализации или сигнатуре, чтобы отрицательный сценарий стал корректным? Здесь оценивается отсутствие ключа, default-subscript и удаление через nil.
SwiftСловари · фрагмент для разбора
var user = ["name": "Ada", "city": "Riga"]
user["city"] = nil
print(user.count)
Вопрос 11 из 20
Какое изменение устраняет именно показанную причину и сохраняет ясный контракт «Множества»? Сосредоточьтесь на следующем: Hashable, операции множеств и устойчивость идентичности.
SwiftМножества · фрагмент для разбора
struct Item { var id: Int }
let items: Set<Item> = [Item(id: 1)]
Вопрос 12 из 20
Какое решение одновременно исправляет код и оставляет понятную границу для дальнейших изменений? Важно учесть: map, compactMap, lazy и сохранение структуры данных.
SwiftПреобразования коллекций · фрагмент для разбора
let input = ["1", "x", "3"]
let numbers = input.map(Int.init)
print(numbers)
Вопрос 13 из 20
Какую предпосылку стоит явно записать в документации и тестах? Проверяется мутация массива, границы индекса и стоимость операций.
Вопрос 14 из 20
Что нужно учесть, прежде чем объявлять найденное правило универсальным? Не упускайте из виду следующее: отсутствие ключа, default-subscript и удаление через nil.
Вопрос 15 из 20
Какой отрицательный сценарий лучше всего проверяет предел применимости этого механизма? Не упускайте из виду следующее: Hashable, операции множеств и устойчивость идентичности.
Вопрос 16 из 20
Что нужно учесть, прежде чем объявлять найденное правило универсальным? Важно учесть: map, compactMap, lazy и сохранение структуры данных.
Вопрос 17 из 20
Команда выбирает не просто рабочую строку, а устойчивое устройство решения. Какой подход сильнее? Здесь оценивается мутация массива, границы индекса и стоимость операций.
Вопрос 18 из 20
Что стоит закрепить в типах или API, а не оставлять устной договорённостью? Проверяется отсутствие ключа, default-subscript и удаление через nil.
Вопрос 19 из 20
Что должно определять архитектуру этого участка, когда появятся новые входы и владельцы? Проверяется Hashable, операции множеств и устойчивость идентичности.
Вопрос 20 из 20
Как организовать этот механизм, чтобы владение и отказ оставались понятными после расширения проекта? Проверяется map, compactMap, lazy и сохранение структуры данных.

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу