Создай unit‑тесты для аналитического модуля
Внедрите трекер через протокол и проверьте его вызовы с помощью spy. Тестировать console output или настоящий singleton для этого не нужно.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Внедрите трекер через протокол и проверьте его вызовы с помощью spy. Тестировать console output или настоящий singleton для этого не нужно.
Читать ответИспользуйте nil-coalescing: value ?? 0.0 возвращает исходный Double, если он есть, и ноль при nil.
Читать ответДостаточно двух классов с сильными optional-ссылками друг на друга. После удаления внешних ссылок их deinit не выполнится, пока цикл не разорван.
Читать ответОбычный цикл не ждёт асинхронную сеть. Для последовательной загрузки нужен async-метод с await на каждой итерации либо цепочка completion-вызовов.
Читать ответСобственный Optional удобно представить generic-enum с двумя состояниями: none и some(Value). Безопасное извлечение требует явного разбора состояния.
Читать ответПройдите массив один раз, сохраняя узел с минимальным значением. Пустой массив возвращает nil; при равенстве можно оставить первый найденный узел.
Читать ответВ Swift сравнение lhs == rhs проверяет равенство строк с сохранением порядка символов. Для побайтового равенства следует сравнивать UTF-8 отдельно.
Читать ответАнимация по isPressed выбрана верно, но ButtonStyle требует makeBody(configuration:), а Configuration.Label нужно использовать напрямую, без Text.
Читать ответОпределите диапазон и используйте стандартный генератор случайных чисел. Отдельный класс может хранить диапазон и предоставлять метод следующего значения.
Читать ответХраните один URLSessionDataTask на URL и несколько подписчиков. Отмена удаляет одного подписчика; сеть отменяется, только когда больше никто не ждёт результат.
Читать ответИспользуйте два индекса: чтение проходит весь массив, запись уплотняет нечётные элементы в его начале. Затем удалите оставшийся хвост.
Читать ответПреобразуйте число в строку и для каждой ненулевой цифры добавьте нужное количество нулей справа. Нулевое число обрабатывается отдельно.
Читать ответ