Что выведет программа с бросаемыми исключениями в деструкторе?
Ни один из показанных catch не подходит для std::string, поэтому программа завершится через std::terminate. Цифры 1–4 не будут напечатаны этими обработчиками.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Ни один из показанных catch не подходит для std::string, поэтому программа завершится через std::terminate. Цифры 1–4 не будут напечатаны этими обработчиками.
Читать ответПоследовательно наполняйте текущий бочонок; если следующий объём не помещается, начинайте новый. Если отдельный резервуар больше ёмкости, перелив целиком невозможен.
Читать ответИспользуйте скользящее окно и последний индекс каждого значения. При повторе сдвигайте левую границу за предыдущую позицию, но никогда не двигайте её назад.
Читать ответОбъявите удалёнными копирующий и перемещающий конструкторы и оба оператора присваивания. Конструктор без параметров можно оставить доступным.
Читать ответX получит −5: макрос раскрывается в 3-2*3-2, а умножение имеет больший приоритет, чем вычитание. Макрос не вычисляет аргумент до подстановки.
Читать ответБудут напечатаны 4, 12 и 28, каждое число с новой строки. refFunc возвращает ссылку на глобальный counter, поэтому присваивание результату вызова меняет сам counter.
Читать ответОбходите массив и храните индексы уже встреченных значений. Для текущего элемента сначала ищите дополнение до sumTarget, затем сохраняйте сам элемент — так он не используется дважды.
Читать ответПри успешном запуске обеих задач вывод будет 111222. Временный future первого std::async уничтожается в конце выражения и ждёт завершения своей async-задачи до следующего вызова.
Читать ответПоддерживайте начала текущих строго возрастающего и убывающего отрезков. Равные соседние элементы обрывают оба; после каждого шага обновляйте лучший диапазон.
Читать ответВ C++ вызов неоднозначен: преобразования int в double и unsigned int имеют одинаковый ранг, и ни одна перегрузка не лучше. Значение −10 не участвует в выборе по типу.
Читать ответПоследовательно перенаправляйте nxt каждого узла на предыдущий, заранее сохраняя следующий. После завершения предыдущий узел становится новой головой.
Читать ответИспользуйте NOT EXISTS с проверкой материалов по work_id. Он возвращает работы, для которых не найдено ни одной связанной строки, и не страдает от NULL в несвязанных материалах.
Читать ответ