- 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
- java8
- jvm
- multithreading
- numeric
- parser
- proxy
- recursion
- refactoring
- search
- serialization
- sorting
- string
- testing
- 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 | 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 |
The materials folder contains some stashed interview materials & notes