ENIGMA AI
ENIGMA AI
Собеседование 5 мин чтения

Собеседование в Т-банк разработчиком этапы, вопросы, подготовка

Собеседование в Т-банк разработчиком этапы, вопросы, подготовка

Т-банк — один из технологических лидеров российского финтеха. Сильная инженерная культура, современный стек, хорошие условия. Неудивительно, что конкуренция за позиции высокая.

В этом гайде — детальный разбор процесса найма: от отклика до оффера. С реальными вопросами и советами от тех, кто прошёл.

Почему разработчики выбирают Т-банк

Прежде чем готовиться — стоит понять, куда вы идёте:

Технологии:

  • Java/Kotlin, Scala для бэкенда
  • React, TypeScript для фронтенда
  • Kubernetes, Kafka, PostgreSQL
  • Собственные инструменты и платформы

Культура:

  • Плоская структура, минимум бюрократии
  • Сильный акцент на автоматизацию
  • A/B тесты, data-driven решения
  • Внутренние митапы и обучение

Условия:

  • Конкурентные зарплаты (верхняя часть рынка)
  • ДМС со стоматологией
  • Гибкий график, возможность удалёнки
  • Бонусы и опционы

Этапы отбора

Этап 1: Заявка и скрининг резюме

Как откликнуться:

  • Через сайт tinkoff.ru/career
  • Через LinkedIn (рекрутеры активно ищут)
  • По реферальной программе (лучший способ)

На что смотрят:

  • Релевантный опыт работы
  • Технологический стек, соответствующий вакансии
  • Понятное описание проектов и достижений
  • Образование (не критично, но смотрят)

Совет: В резюме указывайте конкретные метрики. Не «Оптимизировал запросы», а «Снизил время ответа API с 500ms до 50ms».

Этап 2: HR-интервью (30 минут)

Телефонный или видео-звонок с рекрутером.

Типичные вопросы:

  • Расскажите о себе и текущей работе
  • Почему хотите в Тинькофф?
  • Что знаете о компании и продуктах?
  • Какие зарплатные ожидания?
  • Готовы ли к работе в офисе/гибриду?

Что оценивают:

  • Адекватность и коммуникабельность
  • Мотивацию (не только деньги)
  • Совпадение ожиданий

Совет: Изучите продукты Тинькофф — приложение банка, инвестиции, страхование. Покажите, что вы не просто «ищете работу», а хотите именно сюда.

Этап 3: Техническое интервью (1.5-2 часа)

Главный этап. Может быть один или два раунда в зависимости от позиции.

Формат:

  • Видео-звонок в Zoom
  • Кодинг в онлайн-редакторе или IDE с шарингом экрана
  • 1-2 интервьюера (обычно будущие коллеги)

Структура:

  1. Разминка (10-15 минут): обсуждение опыта, технологий
  2. Теоретические вопросы (20-30 минут): по стеку позиции
  3. Практические задачи (40-60 минут): алгоритмы и/или проектирование
  4. Ваши вопросы (10-15 минут)

Этап 4: Финальное интервью (45-60 минут)

Разговор с руководителем команды или направления.

Что обсуждают:

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

Формат: более разговорный, меньше «задач».

Технические вопросы по направлениям

Java/Kotlin Backend

Теория:

  • Как работает JVM, garbage collection?
  • В чём разница между Java и Kotlin?
  • Расскажите про Spring: IoC, DI, AOP
  • Как устроены HashMap, ConcurrentHashMap?
  • Что такое volatile, synchronized, locks?
  • Reactive programming: Project Reactor, WebFlux

Практика:

  • Реализовать thread-safe singleton
  • Найти deadlock в коде
  • Оптимизировать SQL-запрос
  • Спроектировать REST API для платёжной системы

Пример вопроса:

«Есть сервис, который обрабатывает 10K RPS. Иногда под нагрузкой начинает тормозить. Как будете искать проблему? Какие метрики смотреть? Какие инструменты использовать?»

Frontend (React/TypeScript)

Теория:

  • Жизненный цикл React-компонентов
  • Hooks: useState, useEffect, useMemo, useCallback
  • Virtual DOM, reconciliation
  • State management: Redux, MobX, Zustand
  • TypeScript: generics, utility types, type guards
  • Web Vitals, оптимизация производительности

Практика:

  • Реализовать кастомный хук
  • Оптимизировать рендеринг списка
  • Написать компонент с debounce/throttle
  • Исправить утечку памяти в useEffect

Пример вопроса:

«У нас есть таблица с 10 000 строк. Пользователи жалуются на тормоза. Как оптимизируете? Что такое виртуализация и как её применить?»

Data Engineering / Analytics

Теория:

  • Разница между OLTP и OLAP
  • Как устроен Kafka, партиционирование
  • ClickHouse vs PostgreSQL: когда что использовать
  • ETL vs ELT
  • Data Lake, Data Warehouse, Data Lakehouse

Практика:

  • Написать SQL-запрос с оконными функциями
  • Спроектировать pipeline обработки данных
  • Оптимизировать запрос к аналитической БД

System Design (для Senior)

Типичные задачи:

  • Спроектировать платёжный шлюз
  • Спроектировать систему уведомлений (push, SMS, email)
  • Спроектировать антифрод-систему
  • Спроектировать сервис котировок в реальном времени

Что важно показать:

  • Умение оценивать нагрузку (RPS, storage)
  • Понимание CAP-теоремы и trade-offs
  • Знание паттернов: CQRS, Event Sourcing, Saga
  • Опыт с Kafka, Redis, PostgreSQL

Алгоритмические задачи: примеры

Задача 1: Валидные скобки (Easy)

Условие: Дана строка со скобками ()[]{}. Проверить, что скобки расставлены корректно.

public boolean isValid(String s) {
    Stack stack = new Stack<>();
    Map pairs = Map.of(')', '(', ']', '[', '}', '{');
    
    for (char c : s.toCharArray()) {
        if (pairs.containsValue(c)) {
            stack.push(c);
        } else if (pairs.containsKey(c)) {
            if (stack.isEmpty() || stack.pop() != pairs.get(c)) {
                return false;
            }
        }
    }
    return stack.isEmpty();
}

Задача 2: Слияние интервалов (Medium)

Условие: Дан список интервалов, объединить пересекающиеся.

public int[][] merge(int[][] intervals) {
    Arrays.sort(intervals, (a, b) -> a[0] - b[0]);
    List result = new ArrayList<>();
    
    for (int[] interval : intervals) {
        if (result.isEmpty() || result.get(result.size() - 1)[1] < interval[0]) {
            result.add(interval);
        } else {
            result.get(result.size() - 1)[1] = 
                Math.max(result.get(result.size() - 1)[1], interval[1]);
        }
    }
    return result.toArray(new int[result.size()][]);
}

Задача 3: Rate Limiter (Medium/Hard)

Условие: Реализовать rate limiter: не более N запросов за M секунд.

public class RateLimiter {
    private final int maxRequests;
    private final long windowMs;
    private final Queue timestamps = new LinkedList<>();
    
    public RateLimiter(int maxRequests, long windowMs) {
        this.maxRequests = maxRequests;
        this.windowMs = windowMs;
    }
    
    public synchronized boolean allowRequest() {
        long now = System.currentTimeMillis();
        
        // Удаляем устаревшие запросы
        while (!timestamps.isEmpty() && timestamps.peek() < now - windowMs) {
            timestamps.poll();
        }
        
        if (timestamps.size() < maxRequests) {
            timestamps.add(now);
            return true;
        }
        return false;
    }
}

Поведенческие вопросы

Тинькофф обращает внимание на soft skills. Подготовьте истории по STAR:

Вопросы, которые задают:

  • Расскажите о самом сложном проекте
  • Как вы справляетесь с дедлайнами?
  • Был ли конфликт с коллегой? Как решили?
  • Когда последний раз вы ошиблись? Какие выводы?
  • Как вы изучаете новые технологии?

Пример хорошего ответа:

Вопрос: Расскажите о сложном баге, который долго искали.

Ответ: На прошлом проекте у нас периодически падала производительность — раз в 2-3 дня latency вырастал в 10 раз. Логи ничего не показывали.

Я взял на себя расследование. Добавил метрики на каждый этап обработки запроса, настроил алерты. Через неделю поймал момент деградации — проблема была в GC паузах из-за утечки памяти в кеше.

Нашёл, что при определённом паттерне запросов объекты не удалялись из WeakHashMap. Пофиксил, добавил мониторинг heap usage. После этого проблема не повторялась.

Выводы: важно иметь observability с первого дня, не ждать проблем.

Красные флаги: почему отказывают

  1. Поверхностные знания стека

    • Пишете на Java, но не знаете, как работает GC
    • Используете Spring, но не понимаете, что такое DI
  2. Неумение рассуждать вслух

    • Молча пишете код
    • Не объясняете свой ход мыслей
  3. Нет вопросов к интервьюеру

    • Создаёт впечатление незаинтересованности
    • Подготовьте 5-7 вопросов о команде, проекте, процессах
  4. Негатив о прошлых работодателях

    • Даже если они это заслужили — держите при себе
    • Фокусируйтесь на том, что хотите, а не от чего бежите
  5. Завышенные/заниженные ожидания

    • Изучите рынок, назовите адекватную вилку
    • «Сколько дадите» — плохой ответ

Стратегия подготовки: 3 недели

Неделя 1: Теория и основы

  • Повторите основы вашего стека (Java/Kotlin/React/etc.)
  • Прочитайте про архитектуру Тинькофф (есть статьи на Хабре)
  • Изучите продукты компании, скачайте приложение

Неделя 2: Алгоритмы и практика

  • 2-3 задачи в день на LeetCode (Medium)
  • Фокус: массивы, строки, хеш-таблицы, деревья
  • Практикуйтесь писать код без автодополнения

Неделя 3: Симуляция

  • 2-3 мок-интервью с друзьями или на Pramp
  • Подготовьте STAR-истории
  • Отрепетируйте ответ на «Расскажите о себе»

Как ENIGMA AI помогает на собеседовании в Тинькофф

Даже с хорошей подготовкой можно забыть синтаксис или запутаться в алгоритме под стрессом. ENIGMA AI работает как подстраховка:

  • Мгновенные подсказки — если забыли, как работает Stream API или хук useCallback
  • Помощь с алгоритмами — напомнит паттерн решения
  • Stealth mode — полностью невидим при шаринге экрана в Zoom

Это не замена знаниям, но отличная страховка от «знаю, но забыл».

Попробовать ENIGMA AI бесплатно →

FAQ

Сколько длится процесс найма?

От 2 до 4 недель. Иногда быстрее, если срочно нужен человек в команду.

Можно ли пересдать?

Да, обычно через 6 месяцев. За это время нужно серьёзно подтянуть слабые места.

Что если я не знаю ответ на вопрос?

Лучше честно сказать: «С этим не работал, но вот как бы подошёл к изучению…» Попытки блефовать обычно видны.

Есть ли тестовое задание?

Иногда да, особенно для junior-позиций. Обычно это небольшая задача на 2-4 часа.

Какой уровень английского нужен?

Для большинства позиций — чтение документации. Для международных проектов — разговорный.

Удалёнка или офис?

Зависит от команды. Многие работают в гибридном формате. Уточняйте на HR-скрининге.


Собеседование в Тинькофф — это проверка не только знаний, но и способа мышления. Показывайте, как вы рассуждаете, и не бойтесь задавать уточняющие вопросы.

Похожие статьи

Все статьи