В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Используйте два указателя: выбирайте меньший текущий элемент и сдвигайте указатель его массива. После исчерпания одного массива перенесите остаток другого; повторы сохраняются.
Сначала проверьте делимость на 15, затем отдельно на 3 и 5; результат кодируйте явно, например UTF-8. При отсутствии делимости бросьте IllegalArgumentException.
Перевод требует одной транзакции, защиты от конкурентного изменения обоих счетов и проверок суммы. Одна аннотация транзакции не устраняет lost update в схеме «прочитал — вычислил — записал».
Отправьте обе функции в executor до ожидания результатов. Если ожидать первую сразу после submit, а вторую запускать потом, параллельного выполнения не получится.
Начните максимум с первого элемента, а не с нуля, иначе массив из отрицательных чисел даст неверный ответ. Для пустого массива явно выберите ошибку или OptionalInt.
Используйте два указателя и каждый раз переносите меньший текущий элемент в результат. Когда один массив закончился, скопируйте остаток другого. Дубликаты сохраняются.
Подсчитайте частоты в HashMap, затем скопируйте их в TreeMap с обратным Comparator. execute и sort могут возвращать this для цепочки вызовов, а get — защищённую копию.