/java-coding

Coding playground

Primary LanguageJavaMIT LicenseMIT

Java interview tasks solutions

Java CI with Gradle Coverage Branches

Java interview FAQ Donate

Prerequisites

  • JDK 21
  • Gradle isn't required because of embedded Gradle presence in the project

How to build

./gradlew clean build

List of Java packages

Sure, we have tests; they contain enough code which describes implementation in a natural way.

SQL-related stuff

SQL folder contains tasks which require writing SQL queries to solve them.

Videos on YouTube channel (in chronological order)

Название Youtube Code
Определение максимального количества зрителей стрима Youtube Code
Корзинная сортировка: подсчет количества людей каждого возраста Youtube Code
Файловая система: структура данных и подсчет размера содержимого Youtube Code
Подсчет количества кораблей на поле морского боя Youtube Code
Сортировка выбором (Selection sort) Youtube Code
Роняем JVM (2 решения) Youtube Code
Самодельный Enum (Яндекс) Youtube Code
Числа Фибоначчи (2 решения) Youtube Code
Поиск второго по величине элемента массива (2 решения) Youtube Code
Многопоточный стек Youtube Code
Нахождение наибольшего общего делителя (2 решения) Youtube Code
Поиск максимального произведения трех чисел в массиве Youtube Code
Композитный итератор (Яндекс) Youtube Code
Пузырьковая сортировка (2 решения) (Bubble sort) Youtube Code
Бинарное дерево поиска Youtube Code
Рекурсивный итератор (Яндекс) Youtube Code
Поиск трех чисел с заданной суммой (2 решения) Youtube Code
Валидация имени пользователя Youtube Code
Поиск цикла в связном списке (алгоритм Флойда) Youtube Code
Реализация cd для абстрактной файловой системы Youtube Code
LRU кэш (Least Recently Used) (leetcode) Youtube Code
Обход конем шахматной доски (Horse walk) Youtube Code
Подсчет строк из InputStream, удовлетворяющих условию Youtube Code
Поиск уникальных элементов в коллекции Youtube Code
Изменение формата страхового номера при помощи регулярных выражений Youtube Code
Определение бита в бесконечной последовательности Youtube Code
Запуск параллельного выполнения нескольких задач (3 решения) Youtube Code
Четный итератор Youtube Code
Задачи с палиндромами Youtube Code
Расстановка ферзей на шахматной доске (N-Queens) (leetcode) Youtube Code
Печать foobar из разных потоков Youtube Code
Проверка симметричности матрицы Youtube Code
Расчет давления в кирпичной пирамиде с помощью рекурсии Youtube Code
Поиск подмножества с максимальной четной суммой за O(n) Youtube Code
Обход бинарного дерева (4 способа) (Binary tree walk) Youtube Code
Разворот односвязного списка (3 способа) (Reverse linked list) Youtube Code
Самодельная аннотация Youtube Code
Самодельный Atomic Youtube Code
Поиск простых делителей числа (Simple dividers) Youtube Code
Сортировка вставками (Insertion sort) Youtube Code
Подсчет количества съеденных конфет Youtube Code
Составление поезда из вагонов Youtube Code
Очередь в прачечную Youtube Code
Реализация целочисленного деления (2 решения) Youtube Code
Ревью кода из интервью #1 Youtube -
Ханойские башни (Hanoi towers) Youtube Code
Быстрая сортировка (Quick sort) Youtube Code
Генерация перестановок (leetcode) Youtube Code
Интерполяционный поиск в упорядоченном массиве Youtube Code
Птицеферма (с элементами ООП) Youtube Code
Определение более длинного конца цепи Youtube Code
Прыжки по разрушающимся платформам Youtube Code
Сортировка квадратов упорядоченного массива (3 способа) (leetcode) Youtube Code
Поиск пары непересекающихся отрезков Youtube Code
Определение сплошных интервалов для числового массива Youtube Code
Поиск в массиве пары чисел с заданной суммой за O(n) Youtube Code
Поиск k максимальных чисел в массиве за O(kn) Youtube Code
Поиск пропущенного минимального положительного элемента в несортированном массиве за O(n) Youtube Code
Два секретных Git-репозитория, посвященных Java-интервью Youtube Repo Repo2
Сократитель ссылок (Яндекс) Youtube Code
Определение минимального произведения пары элементов несортированного массива за O(n) Youtube Code
Возведение числа в степень (2 способа) (leetcode) Youtube Code
Сортировка анаграмм Youtube Code
Создаем deadlock Youtube Code
Замена последовательных пробелов в строке одним за O(n) Youtube Code
Как собрать Java-проект без JDK, Maven и Gradle Youtube Repo
Сортировка слиянием (Merge sort) Youtube Code
Стек с поддержкой определения минимального элемента за O(1) Youtube Code
Рефакторинг кода из интервью Youtube Code
Кодирование строки Youtube Code
Реверсирование последовательности (3 способа) Youtube Code
Программист в кино в эпоху COVID Youtube Code
LFU кэш (Least Frequently Used) (leetcode) Youtube Code
Поиск элементов одного массива, отсутствующих в другом за O(n) Youtube Code
Киномарафон Youtube Code
Самодельный Stream с filter и map операциями Youtube Code
Брутфорс пароля по хэшу и хэш-функции (Ozon) Youtube Code
Упаковка товаров для доставки Youtube Code
Самодельный Stream (часть 2): of, limit, skip, takeWhile, dropWhile, distinct, sorted, forEach и т.д Youtube Code
Определение оптимального времени покупки и продажи акций (2 решения) (leetcode) Youtube Code
Разбиение здания на апартаменты (Workfusion) Youtube Code
Самодельный BlockingQueue (2 решения) Youtube Code
Самодельный ThreadPoolExecutor Youtube Code
Восстановление IP-адреса (leetcode) Youtube Code
Определение лучшего среднего значения в массиве оценок (2 решения) Youtube Code
Создание объекта по типу, указанному как generic (2 решения) Youtube Code
Порядок инициализации полей и блоков Java-класса Youtube Code
Самодельный LinkedList Youtube Code
Самодельный ArrayList Youtube Code
Самодельный HashMap Youtube Code
Три задачи из интервью на парсинг файлов Youtube Code
Робот двуногий шагающий (Яндекс) Youtube Code
Самодельный HashSet Youtube Code
Самодельный LinkedHashSet Youtube Code
Неизменяемая нода и сумма ее вложенных элементов (3 способа) Youtube Code
Топологическая сортировка. Нахождение цикла в графе Youtube Code
Удаление N-го элемента с конца односвязного списка (leetcode) Youtube Code
Самодельный Lock Youtube Code
Печать строк в заданном порядке из разных потоков (leetcode) Youtube Code
Многопоточное получение H₂O из водорода и кислорода (leetcode) Youtube Code
Удаление элемента заданной величины из массива (leetcode) Youtube Code
ДВЕ задачи про ДВЕри Youtube Code Code2
Добавление многопоточности при параллельных запросах в разные системы Youtube Code
Распространение чумы между городами (2 решения) Youtube Code
Реверсирование порядка цифр в числе (2 решения) Youtube Code
Поиск среди пар чисел значения, встречающегося однажды: магия XOR (2 решения) (leetcode) Youtube Code
Удаление дубликатов в сортированном связном списке (2 задачи) (leetcode) Youtube Code Code2
Генерация валидных комбинаций скобок (leetcode) Youtube Code
Валидация записи числа регулярным выражением (leetcode) Youtube Code
Проверка, является ли число степенью заданного числа (2 решения) (leetcode) Youtube Code
Прокрутка односвязного списка (leetcode) Youtube Code
Поиск подстроки в строке за O(N+M): алгоритм Бойера-Мура (2 решения) (leetcode) Youtube Code Code2
Задачи из интервью на написание SQL-запросов Youtube Code
Поиск слова в матрице букв (leetcode) Youtube Code
Сжатие строки (Яндекс) Youtube Code
Самодельный Stack Youtube Code
Выдача купюр банкоматом (Яндекс) Youtube Code
Поиск набора слов в матрице букв (2 решения) (leetcode) Youtube Code Code2
Поиск набора слов в матрице букв (часть 2): префиксное дерево (leetcode) Youtube Code
Поиск в строке наиболее длинной подстроки без повторений (leetcode) Youtube Code
Сумма двух чисел без использования + и - (2 решения) (leetcode) Youtube Code
Длина последнего слова в строке (3 решения) (leetcode) Youtube Code
Парсинг списка строк в структуру данных (Яндекс) Youtube Code
Перемещение нулей к концу массива (leetcode) Youtube Code
Проверка правильности использования заглавных букв (2 решения) (leetcode) Youtube Code
Цифровой корень (итеративная сумма цифр) числа (2 решения) (leetcode) Youtube Code
Удаление дубликатов из сортированного массива, ч.I, II (leetcode) Youtube Code Code2
Определение размера окрестности для элементов массива чисел Youtube Code
Сортировка Шелла (Shell sort) Youtube Code
Размен минимальным количеством монет (2 решения) Youtube Code
Замена всех '?' в строке, избегая повторяющихся последовательных символов (leetcode) Youtube Code
Заказ фурнитуры: добавить пропущенный код Youtube Code
Поиск в сортированном массиве количества элементов меньших заданного (3 решения) Youtube Code
Факториал (4 решения) Youtube Code
Вычисление среднего, медианы, моды, квартилей Youtube Code
Обзор содержимого моих GitHub репозиториев Youtube GitHub
Перемешивание массива: алгоритм тасования Фишера-Йетса Youtube Code
Валидация скобочного выражения (leetcode) Youtube Code
Объединение упорядоченных массивов в массив без дубликатов Youtube Code
Каверзный finally / Каверзный stream: предсказать, что произойдет Youtube Code Code2
Как успеть посмотреть все обучающие ролики на YouTube (Ускорение выше 2х) Youtube -
Генерация CV в PDF из Markdown и автоматизация взаимодействия с рекрутером Youtube CV repo
Перестановка пары цифр числа для получения максимального значения (leetcode) Youtube Code
Бинарный поиск в упорядоченном массиве Youtube Code
Поиск первой и последней позиции элемента в упорядоченном массиве (leetcode) Youtube Code
Подсчет отрицательных чисел в сортированной матрице за O(N+M) (2 решения) (leetcode) Youtube Code
Избавление от дублирования в тестах посредством перехода к параметризованным тестам Youtube Code
Поиск пропущенных чисел в массиве без использования дополнительной памяти Youtube Code
Поиск следующей ноды для заданной ноды бинарного дерева поиска Youtube Code
Ревью кода из интервью #2 Youtube -
Задачи на логику из BA-интервью Youtube -
Ревью кода из интервью #3 Youtube -
Поиск позиций больших групп в строке (leetcode) Youtube Code
Подсчет способов подъема по лестнице (leetcode) Youtube Code
Преобразование римской записи числа в арабскую (leetcode) Youtube Code
Преобразование арабской записи числа в римскую (leetcode) Youtube Code
Поиск анаграммы (leetcode) (2 решения) Youtube Code

Materials & notes

The materials folder contains some stashed interview materials & notes