Получить список работников с совокупной зарплатой выше 20
Сгруппируйте выплаты по сотруднику и отберите суммы больше 20 через HAVING. Для вывода сотрудников соедините агрегированные выплаты с Employee.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Сгруппируйте выплаты по сотруднику и отберите суммы больше 20 через HAVING. Для вывода сотрудников соедините агрегированные выплаты с Employee.
Читать ответПеребирайте римские обозначения от большего к меньшему, включая пары CM, CD, XC, XL, IX и IV. Пока значение помещается в остаток, дописывайте символ и вычитайте его стоимость.
Читать ответОбойдите дерево, сохраняя уже встреченные значения в HashSet. Для каждого узла сначала проверьте наличие k − val, затем добавьте val: один узел не используется дважды.
Читать ответДля копии содержимого достаточно new ArrayList<>(elems), независимо от конкретного класса источника. Новый контейнер сохранит все элементы и порядок их обхода.
Читать ответПервое неповторяющееся число в примере — 6. Два прохода позволяют сначала узнать частоты, а затем выбрать первый подходящий элемент в исходном порядке.
Читать ответВ исходнике report может остаться неинициализированным при неизвестном типе. Вынесите ветви в отдельные методы и явно обработайте неподдерживаемые значения.
Читать ответНовый MessageDigest записывается в общее поле, поэтому два create могут использовать один экземпляр после гонки присваиваний. Создание объекта на каждый вызов помогает только при локальной переменной.
Читать ответИспользуйте LinkedHashMap с ключом EventType.id и putIfAbsent. Так сохранятся первое событие каждого типа и порядок первого появления типов.
Читать ответОбойдите все строки и увеличивайте счётчик каждого символа в Map. Для Unicode лучше использовать code points: char может быть только половиной суррогатной пары.
Читать ответНаправление addAll перепутано: добавлять нужно в first, который потребляет T, из second, который производит T. Исходный вызов обычно не компилируется из-за wildcard capture.
Читать ответПри соединении по A.id = B.id INNER вернёт пары (2,2) и (4,4). LEFT добавит (1,NULL), (3,NULL); RIGHT — (NULL,6), (NULL,8); FULL объединит все шесть пар.
Читать ответВычислите максимальную зарплату для каждого department_id и выберите всех сотрудников с этим значением. При равенстве максимума должны остаться несколько работников.
Читать ответ