- JDK 21
Gradle isn't required because of embedded Gradle presence in the project
./gradlew clean build
- annotation
- cache
- collections
- common (some uncategorized stuff)
- core (Java core stuff)
- dynamic
- iterators
- jvm
- multithreading
- numeric
- parser
- proxy
- recursion
- refactoring
- search
- serialization
- sorting
- string
- tree
Sure, we have tests; they contain enough code which describes implementation in a natural way.
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 | - |
Поиск цикла в связном списке (алгоритм Флойда) | Youtube | Code |
Реализация cd для абстрактной файловой системы | Youtube | Code |
LRU кэш (Least Recently Used) (leetcode) | Youtube | Code |
Обход конем шахматной доски (Horse walk) | Youtube | Code |
Подсчет строк из InputStream, удовлетворяющих условию | Youtube | Code |
Поиск уникальных элементов в коллекции | Youtube | - |
Изменение формата страхового номера при помощи регулярных выражений | 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 |
Поиск простых делителей числа (Prime dividers of number) | 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 | - |
Прыжки по разрушающимся платформам | Youtube | - |
Сортировка квадратов упорядоченного массива (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 | - |
Самодельный Stream 2: of, limit, skip, takeWhile, dropWhile, distinct, sorted, forEach, toList | Youtube | Code |
Определение оптимального времени покупки и продажи акций (2 решения) (leetcode) | Youtube | Code |
Разбиение здания на апартаменты | 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 |
Удаление дубликатов в сортированном связном списке ч.I,II (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 |
Поиск анаграммы (2 решения) (leetcode) | Youtube | Code |
Поиск наиболее длинного слова из словаря, которое можно сложить из заданного набора символов | Youtube | Code |
Определение простых делителей, меньших заданного числа. Решето Эратосфена (4 решения) | Youtube | Code |
Поиск для заданного элемента массива k соседних элементов, ближайших к нему по величине (Яндекс) | Youtube | Code |
Поиск максимальной суммы двух элементов в неупорядоченном списке за O(n) | Youtube | Code |
Инкремент большого целого, представленного в виде массива цифр (leetcode) | Youtube | Code |
Определение года с максимальным количеством живущих людей (2 решения) | Youtube | Code |
Обращение строки символов | Youtube | Code |
Вывод уникальных значений для коллекции двойной вложенности (2 решения) | Youtube | Code |
Паспортный контроль (2 решения) | Youtube | Code |
Вращение матрицы (hackerrank) | Youtube | Code |
Подсчет единиц в бинарной записи числа (leetcode) | Youtube | Code |
Ревью кода из интервью 4 (LIVE) | Youtube | - |
Ревью кода из интервью 5 (LIVE) | Youtube | - |
Проверка возможности получения одной строки из другой за одно изменение | Youtube | Code |
Проверка наличия дубликатов в несортированном массиве (2 решения) | Youtube | Code |
Самодельные equals() и hashCode() | Youtube | Code Code2 |
LFU кэш 2 (Least Frequently Used) (leetcode) | Youtube | Code |
Слияние k упорядоченных массивов быстрее, чем за kN*log(kN) | Youtube | Code |
Водительский экзамен | Youtube | - |
Рефакторинг Spring Boot сервиса из тестового задания | Youtube | Repo |
Ревью кода из интервью 6 (LIVE) | Youtube | - |
Поиск маршрута спуска золотоискателя с горы | Youtube | Code |
Счастливое число (2 решения) (leetcode) | Youtube | Code |
Spring Boot приложение с использованием PostgreSQL JSONB | Youtube | Repo |
Настройка Win OS для разработки на Java | Youtube | Repo |
Realtime анализатор спектра звука на Java | Youtube | Repo |
Как найти утерянный коммит: Git reflog | Youtube | - |
Java интервью 1 | Youtube | - |
Java интервью 2 | Youtube | - |
Java интервью 3 | Youtube | - |
Java интервью 4 | Youtube | - |
Java интервью 5 | Youtube | - |
Java интервью 6 | Youtube | - |
Java интервью 7 | Youtube | - |
Java интервью 8 | Youtube | - |
Java интервью 9 | Youtube | - |
Java интервью 10 | Youtube | - |
Java интервью 11 | Youtube | - |
Java интервью 12 | Youtube | - |
Функциональные тесты REST API с помощью Spock | Youtube | - |
Вавилонский метод вычисления квадратного корня (leetcode) | Youtube | Code |
Определение высоты бинарного дерева | Youtube | Code |
Dummy, Fake, Stub, Spy, Mock | Youtube | - |
Нагрузочное тестирование Spring Boot сервиса с помощью Gatling | Youtube | Repo |
Отражение бинарного дерева | Youtube | Code |
Web crawler (парсер сайта) на Java | Youtube | Repo |
Как скачать видео с Boosty | Youtube | Boosty |
Прохождение теста подтверждения практического навыка "средний" по Java на hh.ru | Youtube | - |
Декодирование шифра Цезаря | Youtube | Code |
Прохождение теста подтверждения практического навыка "продвинутый" по Java на hh.ru | Youtube | - |
The materials folder contains some stashed interview materials & notes