java-interview

Собес в Т1 Иннотех · Java Junior/Middle

Вопросы, задачи и подготовка к live-coding и техническому интервью.

Темы: Java · Spring Boot · Hibernate · PostgreSQL · Kafka · Docker · Microservices

← Ко всем гайдам · Канал JavaJub в Telegram


1. Про Т1 и формат собеса

ИТ-Холдинг Т1 — крупнейший частный IT-интегратор России. 30 000+ сотрудников, проекты для Сбера, ВТБ, Росатома, министерств. Иннотех — дочерняя компания Т1, разрабатывающая продукты для банков (кредиты физлиц, страхование). Вакансия заявлена как «Junior», но требования чётко Middle: 3+ лет коммерческого опыта Java, 2–3 года на высоконагруженных проектах, микросервисы, Kafka. Готовиться нужно на Middle.

Структура собеседования (~1.5–2 часа)

Блок Время Что проверяют
Опыт + проект ~10 мин Стек, нагрузка, зона

ответственности

Java Core + многопоточность ~25 мин equals/hashCode, HashMap, volatile, CAS

Spring + Hibernate + транзакции ~20 мин Жизненный цикл, прокси, N+1, Propagation

Kafka + БД + микросервисы ~20 мин Гарантии, MVCC, Saga, Circuit Breaker

Code Review ~15 мин Найти 5–10 проблем в Spring-сервисе

SQL практика ~15 мин JOIN 3 таблиц + GROUP BY + HAVING

Архитектурный кейс ~10 мин Rate limiting, health checks, UUID vs Long

ФИШКА. Специфика Т1/Иннотех На собесах в Т1 любят: Code Review реального Spring-сервиса, архитектурные кейсы (rate limiting между сервисами с разной TPS, circuit breaker при «моргании сети»), SQL-серию из 4 задач. Сдвиг 2026: от синтаксиса к инженерному мышлению — обоснование выбора через производительность и стоимость.

ВНИМАНИЕ · Заявлен Junior, но… Требования: 3+ лет опыта Java, 2–3 года на высоконагруженных, микросервисы, Kafka/RabbitMQ, Docker, тесты. Это полноценный Middle. Готовьтесь соответственно.

2. Стек по вакансии

Основной стек

Будет плюсом

3. Java Core

4. Многопоточность

Многопоточность — явный фокус вакансии (высоконагруженные проекты). Спрашивают глубоко: volatile, CAS, happens-before, пулы, Virtual Threads.

5. Коллекции

6. JVM, память и GC

7. Spring и транзакции

8. Hibernate и JPA

9. PostgreSQL

PostgreSQL — главная БД вакансии. В Т1/Иннотех SQL-практика обязательна: серия из 4 задач на одном собесе. Спрашивают MVCC глубоко, VACUUM, индексы.

SQL-задачи из собесов Т1

TOP-5 платежей каждого клиента

SELECT * FROM (
  SELECT c.name, p.amount, p.created_at,
    ROW_NUMBER() OVER (
      PARTITION BY c.id ORDER BY p.amount DESC
    ) AS rn
  FROM clients c
  JOIN payments p ON p.client_id = c.id
) t WHERE rn <= 5;

Найти дубли по email

SELECT email, COUNT(*) AS cnt
FROM users
GROUP BY email
HAVING COUNT(*) > 1
ORDER BY cnt DESC;

10. Kafka

11. Микросервисы и архитектура

12. Code Review и практика

В Т1/Иннотех Code Review — обязательная часть собеса (~15 мин). Дают 50–200 строк Spring-сервиса. Нужно найти 5–10 проблем. Вот типичные:

Типичные проблемы в Code Review

Задача: найти проблемы

@Service
public class PaymentService {
    @Autowired private PaymentRepo repo; // ← field injection
    private Map<Long, Payment> cache = new HashMap<>(); // ← no eviction

      @Transactional
      public Payment process(Long id) {
          if (cache.containsKey(id)) return cache.get(id); // ← not atomic
          Payment p = repo.findById(id).get(); // ← NoSuchElement
          double total = p.getAmount() * 1.2; // ← double для денег
          System.out.println("Total: " + total); // ← sout
          String result = callExternalApi(p); // ← долгий REST в @Transactional
          cache.put(id, p); // ← HashMap не потокобезопасен
          return p;
      }
}

8 проблем: 1) field injection, 2) HashMap без eviction, 3) containsKey+get не атомарно, 4) .get() без isPresent, 5) double для денег, 6) sout, 7) REST в @Transactional, 8) HashMap не потокобезопасен.

13. Pet-проекты

Pet-проект покажет, что вы умеете не только отвечать на вопросы. Для Т1 — банковские/страховые проекты в плюс.

Проект 1. Платёжный сервис с идемпотентностью

Проект 2. Кредитный конвейер (мини)

Проект 3. Event-driven уведомления

СОВЕТ. Для Т1 На собесе спросят: что было сложно, почему такой стек, что бы переделал. Для Т1 идеально: показать опыт с транзакциями, Kafka, идемпотентностью — это их ежедневные задачи в банковских проектах.

14. План подготовки + чек-лист

За 2–3 недели

За неделю

В день собеса

ВНИМАНИЕ · Главное для Т1 В Т1/Иннотех Code Review и SQL — обязательные секции. Потренируйтесь находить 5–10 проблем в Spring-сервисе за 15 минут. SQL-серия из 4 задач: JOIN + GROUP BY + HAVING, TOP-N через ROW_NUMBER, дубли, вторая зарплата.

Финальный чек-лист

Блок Готов, если можешь…
Java Core Иммутабельный класс + effectively final + parallel

streams опасность

Многопоточность synchronized(this) vs privateLock + Virtual Threads pinning + Structured Concurrency

Коллекции HashMap расчёт бакета + WeakHashMap + CopyOnWriteArrayList

JVM/GC Generational ZGC + OOM диагностика + ссылочные типы

Spring Singleton НЕ потокобезопасен + @Transactional private + AOP замер времени

Транзакции REQUIRES_NEW для аудита + self-call + connection starvation

Hibernate CascadeType.ALL опасность + entity как ключ HashMap + JdbcTemplate когда

PostgreSQL PG нет Read Uncommitted + MVCC phantom + UUID vs Long + pg_stat_statements

Kafka KRaft vs ZooKeeper + Spring Kafka компоненты + Kafka Streams vs Consumer

Микросервисы Rate limiting кейс + Circuit Breaker 3 состояния + Saga orchestration

Code Review Найти 8 проблем в Spring-сервисе за 15 мин
SQL 4 задачи: JOIN+GROUP BY, TOP-N, дубли, вторая

зарплата


Удачи на собесе!

// git push origin offer


Гайд из канала JavaJub — свежие разборы собесов выходят там первыми: @java_jub.

← Ко всем гайдам