В программу приходят объекты.
Храните объекты по внутреннему id, два хеш-индекса по телефону и логину и очередь истечения срока. Совпадение ищется без полного обхода, удаление очищает оба индекса.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Храните объекты по внутреннему id, два хеш-индекса по телефону и логину и очередь истечения срока. Совпадение ищется без полного обхода, удаление очищает оба индекса.
Читать ответКонструкторы выведут A, B, X, C; при выходе из области видимости деструкторы выведут ~C, ~X, ~B, ~A. Порядок в списке инициализации этого не меняет.
Читать ответВывод — ctor, затем dtor. Начиная с C++17 временное значение A{} создаёт итоговый объект непосредственно; вызовы copy и move здесь не требуются.
Читать ответСоедините пункт назначения первого рейса с пунктом отправления второго и ограничьте разницу времени. Одного совпадения города недостаточно: второй рейс может вылететь до прибытия первого.
Читать ответЭто Java-код, несмотря на метку kotlin. synchronized реентерабелен: рекурсивный вызов не заблокирует собственный поток, и value станет равным 10.
Читать ответПокажите номер поддержки и кнопку, открывающую системный набор номера. На Android для этого подходит ACTION_DIAL: окончательный звонок подтверждает пользователь.
Читать ответОбойдите дерево по уровням и возьмите последний узел каждого уровня. При добавлении левого ребёнка раньше правого это и будет вид справа.
Читать ответОсновные проблемы — suspend-вызов из onClick, побочные эффекты в теле composable, небезопасный !! и неполные ключи эффектов. Их нужно исправить до косметического рефакторинга.
Читать ответПосле исправления синтаксиса sum выполняет операции последовательно из-за немедленного await, а sum2 запускает обе до ожидания результатов.
Читать ответБлок create выполнится на scheduler Schedulers.io(), а не на UI-потоке. Обработчик subscribe в этом примере не вызовется: источник не отправляет элементы.
Читать ответПроверьте обычные суммы, ноль, разные знаки и границы числового типа. Отдельно зафиксируйте, что функция делает, когда математическая сумма не помещается в результат.
Читать ответСделайте FirstUseCase ожидаемой suspend-операцией. Только после её успеха запускайте SecondUseCase и ThirdUseCase дочерними корутинами; независимую работу вынесите в отдельный запуск.
Читать ответ