Определение и подсчёт повторяющихся имён в таблице
Сгруппируйте строки по name и оставьте только группы с COUNT(*) > 1. Агрегация вернёт одно значение имени и число его вхождений.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Сгруппируйте строки по name и оставьте только группы с COUNT(*) > 1. Агрегация вернёт одно значение имени и число его вхождений.
Читать ответСравните частоты символов двух строк. Для общего Unicode-варианта удобно считать code points, а не ограничиваться массивом из 26 букв; регистр и пробелы считаются значимыми.
Читать ответСоедините сотрудников с выплатами, сгруппируйте по идентификатору и имени, затем используйте HAVING SUM(...) > N. Группировать только по имени нельзя: однофамильцы могут объединиться.
Читать ответИспользуйте Fisher–Yates: идите с конца и меняйте элемент i со случайным элементом от 0 до i включительно. Чтобы тесты не меняли общий INPUT_VALUES, перемешивайте копию.
Читать ответРазбейте очищенную строку по одному или нескольким пробельным символам, переверните список слов и соедините одним пробелом. Пустую строку обработайте отдельно.
Читать ответСначала исключите null-пользователей и неподходящее имя, затем проверьте наличие продуктов. Для нечувствительного к регистру префикса A не нужно преобразовывать всю строку.
Читать ответИспользуйте NOT EXISTS: выберите жанры, для которых нет связанной строки книги. Таблица авторов для этой проверки не нужна, если связь книги с жанром хранится непосредственно.
Читать ответСоздайте отсортированную копию через stream.sorted() либо ArrayList с последующим sort. TreeSet неэквивалентен списку, поскольку дополнительно удаляет дубликаты.
Читать ответИспользуйте скользящее окно, содержащее не более одного нуля. Из длины каждого допустимого окна вычитайте один, потому что удалить нужно ровно один элемент.
Читать ответСначала инициализируйте inventory, затем увеличьте стоимость каждого входящего компьютера в 1,1 раза и добавьте его. Условие предполагает изменение переданных объектов, а не их копирование.
Читать ответПри равенстве id INNER JOIN даст 2 строки, LEFT — 4, RIGHT — 4, FULL — 6. CROSS JOIN даст 16 пар, потому что сочетает каждую строку A с каждой строкой B.
Читать ответСоздайте HashSet из исходной коллекции: он оставит уникальные строки по equals/hashCode. Если нужно сохранить порядок первого появления, используйте LinkedHashSet.
Читать ответ