andrei-punko/java-interview-coding

Repository files navigation

Java CI with GradleCoverageBranches

  • JDK 21
  • Gradle (embedded in the project)
./gradlew clean build

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

SQL folder contains tasks which require writing SQL queries to solve them. Check appropriate video on YouTube

The interview-materials folder contains some notes about interview preparation and useful links. We can perceive materials in this folder as project backlog or "box with other stuff"

Expand me
TitleYouTube video linkCode / Repo link
Определение максимального количества зрителей стримаYouTubeCode
Подсчет количества людей каждого возраста (корзинная сортировка)YouTubeCode
Файловая система: структура данных и подсчет размера содержимогоYouTubeCode
Подсчет количества кораблей на поле морского бояYouTubeCode
Сортировка выбором (Selection sort)YouTubeCode
Роняем JVM (2 решения)YouTubeCode
Самодельный Enum (Яндекс)YouTubeCode
Числа Фибоначчи (2 решения)YouTubeCode
Поиск второго по величине элемента массива (2 решения)YouTubeCode
Многопоточный стекYouTubeCode
Нахождение наибольшего общего делителя (2 решения)YouTubeCode
Поиск максимального произведения трех чисел в массивеYouTubeCode
Композитный итератор (Яндекс)YouTubeCode
Пузырьковая сортировка (2 решения) (Bubble sort)YouTubeCode
Бинарное дерево поискаYouTubeCode
Рекурсивный итератор (Яндекс)YouTubeCode
Поиск трех чисел с заданной суммой (2 решения)YouTubeCode
Валидация имени пользователяYouTube-
Поиск цикла в связном списке: алгоритм ФлойдаYouTubeCode
Реализация cd для абстрактной файловой системыYouTubeCode
LRU кэш (Least Recently Used) (leetcode)YouTubeCode
Обход конем шахматной доски (Horse walk)YouTubeCode
Подсчет строк из InputStream, удовлетворяющих условиюYouTubeCode
Поиск уникальных элементов в коллекцииYouTube-
Изменение формата страхового номера при помощи регулярных выраженийYouTubeCode
Определение бита в бесконечной последовательностиYouTubeCode
Запуск параллельного выполнения нескольких задач (3 решения)YouTubeCode
Четный итераторYouTubeCode
Задачи с палиндромамиYouTubeCode
Расстановка ферзей на шахматной доске (N-Queens) (leetcode)YouTubeCode
Печать foobar из разных потоковYouTubeCode
Проверка симметричности матрицыYouTubeCode
Расчет давления в кирпичной пирамиде с помощью рекурсииYouTubeCode
Поиск подмножества с максимальной четной суммой за O(n)YouTubeCode
Обход бинарного дерева (4 способа) (Binary tree walk)YouTubeCode
Разворот односвязного списка (3 способа) (Reverse linked list)YouTubeCode
Самодельная аннотацияYouTubeCode
Самодельный AtomicYouTubeCode
Поиск простых делителей числа (Prime dividers of number)YouTubeCode
Сортировка вставками (Insertion sort)YouTubeCode
Подсчет количества съеденных конфетYouTubeCode
Составление поезда из вагоновYouTubeCode
Очередь в прачечнуюYouTubeCode
Реализация целочисленного деления (2 решения)YouTubeCode
Ханойские башни (Hanoi towers)YouTubeCode
Быстрая сортировка (Quick sort)YouTubeCode
Генерация перестановок (leetcode)YouTubeCode
Интерполяционный поиск в упорядоченном массивеYouTubeCode
Птицеферма (с элементами ООП)YouTubeCode
Определение более длинного конца цепиYouTube-
Прыжки по разрушающимся платформамYouTube-
Сортировка квадратов упорядоченного массива (3 способа) (leetcode)YouTubeCode
Поиск пары непересекающихся отрезковYouTubeCode
Определение непрерывных интервалов для числового массиваYouTubeCode
Поиск в массиве пары чисел с заданной суммой за O(n)YouTubeCode
Поиск k максимальных чисел в массиве за O(kn)YouTubeCode
Поиск пропущенного минимального положительного элемента в несортированном массиве за O(n)YouTubeCode
Два секретных Git-репозитория, посвященных Java-интервьюYouTubeRepo1 Repo2
Сократитель ссылок (Яндекс)YouTubeCode
Определение минимального произведения пары элементов несортированного массива за O(n)YouTubeCode
Возведение числа в степень (2 способа) (leetcode)YouTubeCode
Сортировка анаграммYouTubeCode
Создаем deadlockYouTubeCode
Замена последовательных пробелов в строке одним за O(n)YouTubeCode
Как собрать Java-проект без JDK, Maven и GradleYouTubeRepo
Сортировка слиянием (Merge sort)YouTubeCode
Стек с поддержкой определения минимального элемента за O(1)YouTubeCode
Рефакторинг кода из интервью 1YouTubeCode
Кодирование строкиYouTubeCode
Реверсирование последовательности (3 способа)YouTubeCode
Программист в кино в эпоху COVIDYouTubeCode
LFU кэш (Least Frequently Used) (leetcode)YouTubeCode
Поиск элементов одного массива, отсутствующих в другом за O(n)YouTubeCode
КиномарафонYouTubeCode
Самодельный Stream с filter и map операциямиYouTubeCode
Брутфорс пароля по хэшу и хэш-функции (Ozon)YouTubeCode
Упаковка товаров для доставкиYouTube-
Самодельный Stream 2: of, limit, skip, takeWhile, dropWhile, distinct, sorted, forEach, toListYouTubeCode
Определение оптимального времени покупки и продажи акций (2 решения) (leetcode)YouTubeCode
Разбиение здания на апартаментыYouTubeCode
Самодельный BlockingQueue (2 решения)YouTubeCode
Самодельный ThreadPoolExecutorYouTubeCode
Восстановление IP-адреса (leetcode)YouTubeCode
Определение лучшего среднего значения в массиве оценок (2 решения)YouTubeCode
Создание объекта по типу, указанному как generic (2 решения)YouTubeCode
Порядок инициализации полей и блоков Java-классаYouTubeCode
Самодельный LinkedListYouTubeCode
Самодельный ArrayListYouTubeCode
Самодельный HashMapYouTubeCode
Три задачи из интервью на парсинг файловYouTubeCode
Робот двуногий шагающий (Яндекс)YouTubeCode
Самодельный HashSetYouTubeCode
Самодельный LinkedHashSetYouTubeCode
Неизменяемая нода и сумма ее вложенных элементов (3 способа)YouTubeCode
Топологическая сортировка. Нахождение цикла в графеYouTubeCode
Удаление N-го элемента с конца односвязного списка (leetcode)YouTubeCode
Самодельный LockYouTubeCode
Печать строк в заданном порядке из разных потоков (leetcode)YouTubeCode
Многопоточное получение H₂O из водорода и кислорода (leetcode)YouTubeCode
Удаление элемента заданной величины из массива (leetcode)YouTubeCode
ДВЕ задачи про ДВЕриYouTubeCode1 Code2
Добавление многопоточности при параллельных запросах в разные системыYouTubeCode
Распространение заражения между городами (2 решения)YouTube-
Реверсирование порядка цифр в числе (2 решения)YouTubeCode
Поиск среди пар чисел значения, встречающегося однажды: магия XOR (2 решения) (leetcode)YouTubeCode
Удаление дубликатов в сортированном связном списке ч.I, II (leetcode)YouTubeCode1 Code2
Генерация валидных комбинаций скобок (leetcode)YouTubeCode
Валидация записи числа регулярным выражением (leetcode)YouTubeCode
Проверка, является ли число степенью заданного числа (2 решения) (leetcode)YouTubeCode
Прокрутка односвязного списка (leetcode)YouTubeCode
Поиск подстроки в строке за O(N+M): алгоритм Бойера-Мура (2 решения) (leetcode)YouTubeCode1 Code2
Задачи из интервью на написание SQL-запросовYouTubeCode
Поиск слова в матрице букв (leetcode)YouTubeCode
Сжатие строки (Яндекс)YouTubeCode
Самодельный StackYouTubeCode
Выдача купюр банкоматом (Яндекс)YouTube-
Поиск набора слов в матрице букв (2 решения) (leetcode)YouTubeCode1 Code2
Поиск набора слов в матрице букв 2: префиксное дерево (leetcode)YouTubeCode
Поиск в строке наиболее длинной подстроки без повторений (leetcode)YouTubeCode
Сумма двух чисел без использования + и - (2 решения) (leetcode)YouTubeCode
Длина последнего слова в строке (3 решения) (leetcode)YouTubeCode
Парсинг списка строк в структуру данных (Яндекс)YouTubeCode
Перемещение нулей к концу массива (leetcode)YouTubeCode
Проверка правильности использования заглавных букв (2 решения) (leetcode)YouTubeCode
Цифровой корень (итеративная сумма цифр) числа (2 решения) (leetcode)YouTubeCode
Удаление дубликатов из сортированного массива, ч.I, II (leetcode)YouTubeCode1 Code2
Определение размера окрестности для элементов массива чиселYouTubeCode
Сортировка Шелла (Shell sort)YouTubeCode
Размен минимальным количеством монет (2 решения)YouTubeCode
Замена всех '?' в строке, избегая повторяющихся последовательных символов (leetcode)YouTubeCode
Заказ фурнитуры: добавить пропущенный кодYouTubeCode
Поиск в сортированном массиве количества элементов меньших заданного (3 решения)YouTubeCode
Факториал (4 решения)YouTubeCode
Вычисление среднего, медианы, моды, квартилейYouTubeCode
Обзор содержимого моих репозиториевYouTube
Перемешивание массива: алгоритм тасования Фишера-ЙетсаYouTubeCode
Валидация скобочного выражения (leetcode)YouTubeCode
Объединение упорядоченных массивов в массив без дубликатовYouTubeCode
Каверзный finally / Каверзный stream: предсказать, что произойдетYouTubeCode1 Code2
Как успеть посмотреть все обучающие ролики на YouTube (Ускорение выше 2х)YouTube-
Генерация CV в PDF из Markdown и автоматизация взаимодействия с рекрутеромYouTubeRepo
Перестановка пары цифр числа для получения максимального значения (leetcode)YouTubeCode
Бинарный поиск в упорядоченном массивеYouTubeCode
Поиск первой и последней позиции элемента в упорядоченном массиве (leetcode)YouTubeCode
Подсчет отрицательных чисел в сортированной матрице за O(N+M) (2 решения) (leetcode)YouTubeCode
Избавление от дублирования в тестах посредством перехода к параметризованным тестамYouTubeCode
Поиск пропущенных чисел в массиве без использования дополнительной памятиYouTubeCode
Поиск следующей ноды для заданной ноды бинарного дерева поискаYouTubeCode
Задачи на логику из BA-интервьюYouTube-
Поиск позиций больших групп в строке (leetcode)YouTubeCode
Подсчет способов подъема по лестнице (leetcode)YouTubeCode
Преобразование римской записи числа в арабскую (leetcode)YouTubeCode
Преобразование арабской записи числа в римскую (leetcode)YouTubeCode
Поиск анаграммы (2 решения) (leetcode)YouTubeCode
Поиск наиболее длинного слова из словаря, которое можно сложить из заданного набора символовYouTubeCode
Определение простых делителей, меньших заданного числа. Решето Эратосфена (4 решения)YouTubeCode
Поиск для заданного элемента массива k соседних элементов, ближайших к нему по величине (Яндекс)YouTubeCode
Поиск максимальной суммы двух элементов в неупорядоченном списке за O(n)YouTubeCode
Инкремент большого целого, представленного в виде массива цифр (leetcode)YouTubeCode
Определение года с максимальным количеством живущих людей (2 решения)YouTubeCode
Обращение строки символовYouTubeCode
Вывод уникальных значений для коллекции двойной вложенности (2 решения)YouTubeCode
Паспортный контроль (2 решения)YouTubeCode
Вращение матрицы (hackerrank)YouTubeCode
Подсчет единиц в бинарной записи числа (leetcode)YouTubeCode
Получение одной строки из другой за одно изменениеYouTubeCode
Проверка наличия дубликатов в несортированном массиве (2 решения)YouTubeCode
Самодельные equals() и hashCode()YouTubeCode1 Code2
LFU кэш 2 (Least Frequently Used) (leetcode)YouTubeCode
Слияние k упорядоченных массивов быстрее, чем за kN*log(kN)YouTubeCode
Водительский экзаменYouTube-
Рефакторинг Spring Boot сервиса из тестового заданияYouTubeRepo
Поиск маршрута спуска золотоискателя с горыYouTubeCode
Счастливое число (2 решения) (leetcode)YouTubeCode
Spring Boot приложение с использованием PostgreSQL JSONBYouTubeRepo
Настройка Win OS для разработки на JavaYouTubeRepo
Realtime анализатор спектра звука на JavaYouTubeRepo
Как найти утерянный коммит: Git reflogYouTube-
Функциональные тесты REST API с помощью SpockYouTube-
Вавилонский метод вычисления квадратного корня (leetcode)YouTubeCode
Определение высоты бинарного дереваYouTubeCode
Dummy, Fake, Stub, Spy, MockYouTube-
Нагрузочное тестирование Spring Boot сервиса с помощью GatlingYouTubeRepo
Отражение бинарного дереваYouTubeCode
Web crawler (парсер сайта) на JavaYouTubeRepo
Как скачать видео с BoostyYouTube-
Декодирование шифра ЦезаряYouTubeCode
Поиск НОК для набора чиселYouTubeCode
Число Фробениуса и задача Чикена МакНаггетсаYouTubeCode
Java interview Q & A collectionYouTubeRepo
Выдача купюр банкоматом 2 (Яндекс)YouTubeCode1 Code2
Поиск эквивалентных вершин бинарного дерева с макс. размером поддеревьевYouTubeCode
Как выпустить релиз наYouTubeRepo
Редакционное расстояние. Получение одной строки из другой за одно изменение 2YouTubeCode
Обзор плейлистов на каналеYouTube-
AI чат с помощью Spring AI и OllamaYouTubeRepo
7 классических задач (музыкальный выпуск)YouTube-
Решение дифф. уравнений в ЧП на Java численноYouTubeRepo
5 сортировок (музыкальный выпуск)YouTube-
Матрица смежности. Распространение заражения между городами 2YouTubeCode
Сборка и запуск Java-проекта без помощи IDE и средств сборкиYouTube-
Три типа аспектов на примере AspectJYouTubeRepo
Actions: workflows, coverage, badgesYouTubeRepo1 Repo2 Repo3 Repo4
Самодельный ArrayList 2YouTubeCode
TitleYouTube video link
Ревью кода из интервью 1YouTube
Ревью кода из интервью 2YouTube
Ревью кода из интервью 3YouTube
Ревью кода из интервью 4 (LIVE)YouTube
Ревью кода из интервью 5 (LIVE)YouTube
Ревью кода из интервью 6 (LIVE)YouTube
TitleYouTube video link
Прохождение практического теста "средний" по Java на hh.ruYouTube
Прохождение практического теста "продвинутый" по Java на hh.ruYouTube
Прохождение теста "средний" по Git на hh.ruYouTube
Прохождение теста "базовый" по Linux на hh.ruYouTube
Прохождение теста "базовый" по Docker на hh.ruYouTube
Прохождение теста "базовый" по ООП на hh.ruYouTube
Прохождение теоретического теста "базовый" по Java на hh.ruYouTube
Прохождение теста "средний" по ООП на hh.ruYouTube
Прохождение теста "продвинутый" по ООП на hh.ruYouTube

Check this repo to get materials for preparation to Java verbal interview