Карта / Подготовка к собесу / Вопросы по грейдам

Вопросы по грейдам

На собесе проверяют не знание фактов, а понимание причин. «Что такое HashMap» — слабый вопрос. «Почему HashMap не синхронизирован и что делать в многопоточной среде» — хороший вопрос. Готовьтесь объяснять «зачем», а не только «что».

Junior — базовые конструкции и Spring:

  • Отличия == и .equals(), контракт equals/hashCode
  • Коллекции: ArrayList vs LinkedList, HashMap internals
  • ООП: наследование, полиморфизм, интерфейсы vs абстрактные классы
  • Spring IoC, @Component/@Service/@Bean, жизненный цикл бина
  • REST: HTTP методы, коды ответов, @RestController
  • Транзакции: @Transactional, ACID

Middle — глубже в Java и распределённые системы:

  • Многопоточность: synchronized, volatile, ThreadLocal, ExecutorService
  • JVM: GC (типы, когда срабатывает), ClassLoader, JIT
  • JPA: N+1, fetch типы, кэши первого/второго уровня
  • Kafka/RabbitMQ: гарантии доставки, consumer groups, offset
  • Паттерны: какие использовал на практике и зачем

Senior — архитектура и системное мышление:

  • CAP-теорема, eventual consistency, saga pattern
  • System design: как спроектировать URL shortener / чат / feed
  • Оптимизация: как находите bottleneck, опыт с индексами, кэшем
  • Лидерство: как принимаете технические решения в команде
Копнуть глубже

Формат STAR для технических вопросов. «Расскажи о сложной задаче» — отвечайте по STAR: Situation (контекст), Task (что нужно было сделать), Action (что конкретно вы сделали), Result (что получилось, в цифрах если возможно). Интервьюер слушает не задачу — он слушает как вы думаете и что вы сделали лично.

Глубина vs ширина. Лучше глубоко знать меньше тем, чем поверхностно — всё. Если назвали HashMap — будьте готовы объяснить реализацию (buckets, load factor, treeification в Java 8). Если сказали «использовал Kafka» — как именно, что случалось при сбоях, как настраивали.

System Design собес. Обычно: «спроектируй X за 45 минут». Алгоритм:

  1. Уточните требования: сколько пользователей, read/write ratio, latency требования
  2. Высокоуровневая схема: компоненты и их связи
  3. Углубитесь в самые нагруженные части
  4. Обсудите trade-offs: выбрали SQL — почему не NoSQL?

Не ищите «правильного ответа» — его нет. Оценивают процесс мышления.

Частая ошибка: выучить ответы. Интервьюеры чувствуют заученность. Лучше понять принципы и строить ответ на ходу, иногда ошибаясь — это выглядит честнее, чем идеально зазубренный текст с запинками при уточняющем вопросе.

🎤 Закрыл тему, если можешь объяснить:
• три-четыре ключевых темы для своего текущего грейда и можешь объяснить их без шпаргалки;
• формат STAR и как отвечать на «расскажи о сложной задаче» (если дошёл до 2-го слоя).