Какие темы затрагивались на ваших последних технических собеседованиях?

«Какие темы затрагивались на ваших последних технических собеседованиях?» — вопрос из категории Софт-скиллы, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

За последние несколько месяцев собеседования были сфокусированы на следующих ключевых областях для Backend-разработчика:

Основные темы:

  1. Core Java: Коллекции, многопоточность, JVM (память, сборка мусора).
  2. Spring Framework: Spring Boot, MVC, Security, транзакции.
  3. Базы данных: SQL, оптимизация запросов, индексы.
  4. Архитектура: Микросервисы, паттерны проектирования, REST API.
  5. Алгоритмы: Базовые структуры данных и их сложность.

Пример практического вопроса:

Map<String, String> map = new HashMap<>();
map.put(new String("key"), "value1");
map.put(new String("key"), "value2");
System.out.println(map.size());

Ответ: 2 Объяснение: Ключи new String("key") — это два разных объекта. HashMap вычисляет хэш-код для каждого ключа при добавлении (метод hashCode()). Поскольку это разные объекты, их хэш-коды могут быть разными (если не переопределен hashCode), и они размещаются в разных «корзинах» (buckets) мапы.