Загрузка…
Загрузка…
qa / middle / tech_screening
Формат
online
Стадия
tech_screening
Когда
within_quarter
Длительность
49 мин
01
Поведенческий
Почему ищете новую работу / что не устраивает на текущем месте?
Интервьюер уточнял, чего конкретно хочется: новые технологии, новый бизнес-домен, брокеры сообщений.
02
Поведенческий
Расскажите про ваш опыт в EPAM: про проекты, бизнес-домен и чем приходилось заниматься.
Кандидат рассказал про gambling-проект (автотесты, требования, Jenkins, SSH, UI/API, Sauce Labs) и CRM-систему на C#.
03
Поведенческий
Расскажите про текущую компанию: чем занимается бизнес и какой стек используете.
Digital banking для кредитных юнионов в США; Java, GitLab, UI/API тесты, руководит командой из 6 человек.
04
Теория
Приходилось ли работать с Unix/Linux в консоли? Что именно делали?
Заметки
Кандидат — Роман, QA/AQA. Опыт: EPAM (~3 года, gambling-проект и CRM на C#: автотесты, требования, Jenkins, SSH, Ansible, UI/API, Sauce Labs), текущая компания — digital banking для кредитных юнионов в США (Java, GitLab, UI/API, руководит командой из 6 человек). Интервьюер — компания из сферы e-trading/биржевой торговли (Java, GitLab, облако), рассматривается релокация в Польшу (у кандидата российский паспорт, сейчас в Черногории). Названия компаний-работодателей и нанимающей компании в транскрипте явно не указаны.
Подготовка
Подтянуть базовый Linux/Unix (tail -f, ps/grep, df, netstat, назначение /etc), SQL (JOIN + GROUP BY + агрегаты, primary/foreign key), сети (принципиальные отличия TCP/UDP), брокеры сообщений. Полезно уметь рассуждать о троблшутинге распределённой системы (логи сверху вниз, моки, health-check, интеграционные happy-path тесты для ускорения диагностики).
Стиль интервьюера
Доброжелательный, практико-ориентированный формат: много живых заданий в эмуляторе консоли и SQL-редакторе, проверка широты кругозора, а не глубины по одной теме. Часто задаёт уточняющие follow-up ('а в чём отличие?', 'что дальше будете делать?'), подсказывает и не давит при незнании, разбирает реальные кейсы из домена трейдинга. Несколько раз отвлекался на рабочие сообщения.
Кандидат упомянул работу с текстом, curl, фильтрацию вывода в пайплайнах.
05
Код
Выведите список всех файлов в текущей директории (в эмуляторе консоли).
Практическое задание в эмуляторе bash.
06
Код
Откройте файл (например .profile) на чтение и покажите его содержимое.
07
Теория
Как открыть лог-файл так, чтобы видеть, как в него в реальном времени дописываются новые сообщения (без дополнительных приседаний)?
Ожидался tail -f; кандидат не смог ответить.
08
Код
Найдите среди запущенных процессов процесс, в названии которого есть слово 'remote' (например через ps).
09
Код
Как из вывода списка процессов оставить только строку с нужным процессом (фильтрация, в т.ч. без учёта регистра)?
Кандидат справился через grep.
10
Теория
Как посмотреть, сколько места осталось на диске?
Ожидался df; кандидат забыл команду.
11
Теория
Как вывести список портов, которые в настоящий момент прослушиваются на хосте?
Кандидат не работал с этим.
12
Теория
Для чего нужен каталог /etc и что в нём хранится?
Кандидат не смог точно ответить.
13
Теория
В чём отличие primary key от foreign key и для чего они нужны в реляционных БД?
14
Код
Есть таблицы staff (id сотрудника, имя) и payments (id сотрудника, дата выплаты, размер выплаты). Напишите запрос, который выведет уникальный список имён и суммарный размер выплат для каждого сотрудника (например за/с 2009 года).
Задача на JOIN + GROUP BY + SUM с фильтром по дате. Кандидат решал с трудом.
15
Теория
Работали ли вы с брокерами сообщений (JMS, MQ и т.п.)?
Не работал, хотел бы попробовать.
16
Теория
В чём принципиальное отличие протокола TCP от UDP?
Кандидат упомянул установление соединения (3-way handshake) и 'безопасность'.
17
Кейс
Вы пришли на проект, на чистой машине только git. Первая задача — взять config-файл из репозитория, поменять его и положить обратно. Опишите в терминах git-команд, что будете делать.
Ожидалась последовательность clone → изменить → add → commit → push.
18
Теория
Как изменится этот процесс, если на проекте есть процесс code review (через ветки и merge/pull request)?
Ответ: отбранчеваться от develop, фича-ветка, add/commit/push, создать merge request, дождаться апрува, смержить.
19
Кейс
Напишите письмо PM (Майку): регрессионное тестирование прошло без проблем, при функциональном найдено пару незначительных дефектов; вы считаете их некритичными и предлагаете релизить, уточняя согласие.
Проверка письменного английского.
20
Кейс
Кейс: торговая платформа (биржа), есть коннектор, order management (бэкенд) и trader UI. Кастомер отправляет заявку (евро→USD), трейдер должен это увидеть на trader UI, но ничего не приходит. Как будете искать проблему?
Основной кейс с несколькими follow-up.
21
Кейс
В какие логи полезете и в каком порядке при поиске этой проблемы?
Ответ: сверху вниз — от верхнеуровневого к order management и коннектору.
22
Кейс
Допустим, в Order Management ошибка (падает на парсинге тега), это не ваша система, но она блокирует тестирование. Что будете делать, чтобы закончить тестирование?
Ответ: использовать моки; завести баг на ответственную команду; если блокер перед релизом — отложить релиз.
23
Кейс
Если в стеке 5-6 приложений и каждый день что-то разное падает, как находить подобные проблемы быстрее на тестовом окружении?
Обсуждали health-check (Consul, пинги) и почему этого недостаточно; интервьюер подвёл к написанию интеграционного happy-path теста / автоматизации ручной проверки.
24
Теория
Что такое рекурсия?
25
Теория
Что такое инкапсуляция и зачем скрывают данные?
Follow-up: зачем скрывают — ответ про геттеры/сеттеры с условиями.
26
Поведенческий
Чем занимались в автоматизации веба и на чём писали тесты?
Ответ: Selenium + Java.