Единственное непарное число: решение через XOR
Используйте XOR всех элементов: x ^ x = 0, а 0 ^ x = x. Парные значения сократятся, и останется единственное непарное число — в примере 3.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Используйте XOR всех элементов: x ^ x = 0, а 0 ^ x = x. Парные значения сократятся, и останется единственное непарное число — в примере 3.
Читать ответНужно отфильтровать пользователей, у которых хотя бы одна группа имеет имя с префиксом X. Для коллекции групп подходит anyMatch, после чего результат собирают в список.
Читать ответДля замены только значения 150 используйте CASE WHEN amount = 150 THEN 100 ELSE amount END. Это меняет результат SELECT, но не данные в таблице.
Читать ответПо примерам нужен симметричный обход: левое поддерево, текущий узел, правое поддерево. Для пустого дерева возвращаем пустую строку; значения собираем в один StringBuilder.
Читать ответРезультат не гарантированно равен 10000: counter++ не атомарен, и потоки могут терять обновления. join обеспечивает завершение и видимость, но не исправляет гонку инкремента.
Читать ответИспользуйте DelegatingSecurityContextExecutor или DelegatingSecurityContextRunnable: они переносят текущий SecurityContext в задачу и очищают его после выполнения. Обычный ThreadLocal сам в пул не переносится.
Читать ответint[] хранит значения плотно, Integer[] — ссылки на отдельные объекты. В цикле new Integer создаёт миллион обёрток за проход, постоянно заменяя предыдущие и увеличивая давление на GC.
Читать ответДля заданных номиналов можно идти от крупных купюр к мелким, сначала рассчитать выдачу, а затем списать остатки. Операция должна быть атомарной, валюты — храниться раздельно.
Читать ответНужно отфильтровать завершённые заказы за согласованный интервал, сгруппировать по user_id и отсортировать SUM(amount) по убыванию. «Последний месяц» важно уточнить: календарный или скользящий.
Читать ответВ показанном фрагменте выдача увеличивает остатки через Integer::sum, хотя должна уменьшать их. Расчёт набора купюр и его списание необходимо выполнять атомарно; код также содержит необъявленные переменные.
Читать ответЕсли задача — проверить существование элемента по предикату, anyMatch можно заменить обычным циклом с ранним return. Для проверки конкретного значения в коллекции иногда достаточно contains.
Читать ответЕсли вызвать a(x), программа напечатает x в методе d, а затем x в методе a. Присваивание item = 20L меняет только локальный параметр d: long передаётся по значению.
Читать ответ