13/09/2026

ЗОНА 1. «Деревня Java Core»

ЗОНА 1. «Деревня Java Core» (Уровень 1–2)

~14–21 день | Макс. XP: 2000

📌 Глава 1.1 — Основы синтаксиса (300 XP)

  • Шаг 1. Установи JDK 17+ и IntelliJ IDEA Community (10 XP)
  • Шаг 2. Напиши Hello World и запусти из консоли (10 XP)
  • Шаг 3. Разберись с типами данных: int, double, boolean, char, String (20 XP)
  • Шаг 4. Напиши 5 программ с арифметическими операциями (20 XP)
  • Шаг 5. Изучи приведение типов (casting): int → double, double → int (15 XP)
  • Шаг 6. Разберись, чем == отличается от .equals() для String (25 XP)
  • Шаг 7. Напиши программу, сравнивающую два String через == и .equals() (20 XP)
  • Шаг 8. Изучи String pool — почему "abc" == "abc" это true (25 XP)
  • Шаг 9. Разбери методы String: substring, split, trim, replace, contains, indexOf (30 XP)
  • Шаг 10. Реши 10 задач на String на Codewars/LeetCode Easy (50 XP)
  • Шаг 11. Изучи StringBuilder vs StringBuffer vs String (25 XP)
  • Шаг 12. Напиши программу, конкатенирующую 10 000 строк тремя способами, сравни время (30 XP)

📌 Глава 1.2 — Управляющие конструкции (200 XP)

  • Шаг 13. Напиши 3 программы с if / else if / else (15 XP)
  • Шаг 14. Напиши калькулятор с switch-case (20 XP)
  • Шаг 15. Изучи тернарный оператор ? :, перепиши калькулятор с ним (15 XP)
  • Шаг 16. Напиши for, while, do-while — выведи таблицу умножения (20 XP)
  • Шаг 17. Разберись с break и continue на примерах (15 XP)
  • Шаг 18. Реши 5 задач на циклы (FizzBuzz, факториал, палиндром, простые числа, Fibonacci) (50 XP)
  • Шаг 19. Изучи for-each цикл (15 XP)
  • Шаг 20. Напиши программу с вложенными циклами (рисунок «ёлочка» из *) (20 XP)
  • Шаг 21. Реши 5 задач на Codewars уровня 8kyu (30 XP)

📌 Глава 1.3 — Массивы (150 XP)

  • Шаг 22. Создай массив int[], заполни вручную и через Arrays.fill() (15 XP)
  • Шаг 23. Напиши поиск максимума и минимума в массиве (20 XP)
  • Шаг 24. Напиши реверс массива без Collections.reverse() (20 XP)
  • Шаг 25. Изучи Arrays.sort(), Arrays.binarySearch(), Arrays.toString() (20 XP)
  • Шаг 26. Разберись с двумерными массивами int[][] (20 XP)
  • Шаг 27. Реши 5 задач на массивы (два числа с суммой X, дубликаты, сдвиг) (55 XP)

📌 Глава 1.4 — ООП (500 XP) 🔥 Ключевая глава

  • Шаг 28. Создай класс Dog с полями name, age, breed и методом bark() (20 XP)
  • Шаг 29. Разберись с конструкторами: дефолтный, параметризованный, перегрузка (25 XP)
  • Шаг 30. Добавь getter/setter, объясни инкапсуляцию вслух (20 XP)
  • Шаг 31. Изучи модификаторы доступа: private, default, protected, public (25 XP)
  • Шаг 32. Создай иерархию: Animal → Dog, Cat, Bird. Переопредели makeSound() (30 XP)
  • Шаг 33. Объясни 4 принципа ООП вслух, как на собеседовании (запиши на диктофон!) (40 XP)
  • Шаг 34. Разберись: abstract class vs interface. Создай пример каждого (30 XP)
  • Шаг 35. Напиши класс, реализующий 2 интерфейса одновременно (20 XP)
  • Шаг 36. Изучи default и static методы в интерфейсах (Java 8+) (20 XP)
  • Шаг 37. Разберись с static: поля, методы, блоки инициализации (25 XP)
  • Шаг 38. Изучи final: переменные, методы, классы (20 XP)
  • Шаг 39. Разберись с this и super (20 XP)
  • Шаг 40. Изучи порядок инициализации объектов (статик → блок → конструктор) (25 XP)
  • Шаг 41. Разберись с enum. Создай enum Browser { CHROME, FIREFOX, EDGE } (20 XP)
  • Шаг 42. Переопредели toString(), equals(), hashCode() в своём классе (30 XP)
  • Шаг 43. Объясни контракт equals/hashCode вслух (25 XP)
  • Шаг 44. Изучи record (Java 14+), сравни с обычным классом (15 XP)
  • Шаг 45. Реши 5 ООП-задач (спроектируй систему «Библиотека», «Парковка») (50 XP)

📌 Глава 1.5 — Коллекции (400 XP) 🔥

  • Шаг 46. Нарисуй иерархию коллекций от руки (Collection → List, Set, Queue; Map) (30 XP)
  • Шаг 47. Изучи ArrayList: как устроен внутри (массив + resize) (25 XP)
  • Шаг 48. Изучи LinkedList: как устроен внутри (двусвязный список) (25 XP)
  • Шаг 49. Напиши бенчмарк: вставка в начало ArrayList vs LinkedList (100k элементов) (25 XP)
  • Шаг 50. Изучи HashSet: как работает через HashMap, роль hashCode (25 XP)
  • Шаг 51. Изучи LinkedHashSet и TreeSet, когда какой использовать (20 XP)
  • Шаг 52. Изучи HashMap: бакеты, коллизии, деревья (Java 8+) (30 XP)
  • Шаг 53. Изучи LinkedHashMap и TreeMap (20 XP)
  • Шаг 54. Разберись: Comparable vs Comparator. Напиши оба (30 XP)
  • Шаг 55. Отсортируй список объектов Employee по зарплате, потом по имени (25 XP)
  • Шаг 56. Изучи Collections.unmodifiableList(), List.of(), Map.of() (15 XP)
  • Шаг 57. Разберись с Iterator и ListIterator (15 XP)
  • Шаг 58. Изучи ConcurrentHashMap (базово, для собеседования) (20 XP)
  • Шаг 59. Реши 10 задач на коллекции (группировка, фильтрация, подсчёт дубликатов) (50 XP)
  • Шаг 60. Ответь вслух на 10 типовых вопросов по коллекциям (25 XP)

📌 Глава 1.6 — Исключения (150 XP)

  • Шаг 61. Нарисуй иерархию: Throwable → Error / Exception → RuntimeException (20 XP)
  • Шаг 62. Разберись: checked vs unchecked исключения, приведи по 3 примера (25 XP)
  • Шаг 63. Напиши try-catch-finally с несколькими catch (20 XP)
  • Шаг 64. Изучи try-with-resources, напиши пример с файлом (20 XP)
  • Шаг 65. Создай своё кастомное исключение InvalidTestDataException (20 XP)
  • Шаг 66. Разберись: throw vs throws (15 XP)
  • Шаг 67. Ответь вслух: «Что произойдёт, если в finally стоит return?» (15 XP)
  • Шаг 68. Реши 3 задачи на исключения (15 XP)

📌 Глава 1.7 — Generics, Stream API, Lambda (250 XP)

  • Шаг 69. Изучи generics: <T>, ? extends, ? super (PECS) (30 XP)
  • Шаг 70. Напиши generic-метод, меняющий местами два элемента в списке (20 XP)
  • Шаг 71. Изучи лямбда-выражения: синтаксис, @FunctionalInterface (25 XP)
  • Шаг 72. Изучи Predicate, Function, Consumer, Supplier (25 XP)
  • Шаг 73. Напиши Stream.of().filter().map().collect() — отфильтруй чётные, возведи в квадрат (25 XP)
  • Шаг 74. Изучи flatMap, distinct, sorted, limit, skip (20 XP)
  • Шаг 75. Изучи Collectors: groupingBy, joining, toMap, counting (25 XP)
  • Шаг 76. Изучи Optional: of, ofNullable, orElse, ifPresent (20 XP)
  • Шаг 77. Реши 10 задач на Stream API (40 XP)

📌 Глава 1.8 — Многопоточность (базово, 100 XP)

  • Шаг 78. Изучи Thread и Runnable, запусти 2 потока (20 XP)
  • Шаг 79. Разберись: synchronized, volatile (20 XP)
  • Шаг 80. Изучи ExecutorService, submit(), shutdown() (20 XP)
  • Шаг 81. Разберись с CompletableFuture (базово: supplyAsync, thenApply) (20 XP)
  • Шаг 82. Ответь вслух: «Чем sleep() отличается от wait()?» (20 XP)

👹 БОСС ЗОНЫ 1: «Java-Голем»

  • Шаг 83. Пройди мок-собеседование по Java Core (60 мин). Попроси друга или используй AI (0 XP, но +500 XP если пройдёшь!)
  • Шаг 84. Набери ≥ 80% правильных ответов → Босс повержен!

🎖️ Ачивка: «Java-подмастерье» — завершена Зона 1
🎖️ Ачивка: «Коллекционер» — можешь объяснить HashMap за 2 минуты