Загрузка…
Загрузка…
qa / middle / tech_screening
Формат
online
Стадия
tech_screening
Когда
within_quarter
Длительность
—
01
Поведенческий
Почему ищете новую работу и чего хотелось бы от нового места?
Интервьюер несколько раз возвращался к вопросу, уточняя мотивацию (новые технологии, бизнес-домен).
02
Поведенческий
Расскажите вкратце про ваш опыт и проекты в EPAM: что за бизнес, чем занимались.
Follow-up: был ли в EPAM только один проект (гемблинг) или другие (CRM на C#).
03
Поведенческий
Что за бизнес у вашей текущей компании и какой там стек/сетап?
Кандидат: digital banking для кредитных юнионов в США; Java, GitLab, UI/API тесты, руководит командой из 6 человек.
04
Поведенческий
Приходилось ли работать с Unix/Linux в консоли? Что делали?
Заметки
Запись технического скрининга из сообщества Criminal IT. Название нанимающей компании в транскрипте не озвучено — известна сфера: электронный трейдинг (e-trading), стек Java/GitLab/облако, микросервисы, работа по Scrum, офис/релокация в Польшу. Кандидат — QA automation engineer (Selenium + Java), ранее 3 года в EPAM (проекты: гемблинг и CRM на C#), сейчас digital banking для кредитных юнионов США, руководит командой из 6 QA. Скрининг включал: мотивацию, практические задачи в консоли Linux (эмулятор), SQL live-задачу, теорию (TCP/UDP, git, БД, ООП), письменное задание на английском и ситуационный кейс по поиску проблем в цепочке сервисов. Дальнейшая воронка: проектное интервью с двумя интервьюерами (возможны вопросы по UI-автоматизации), затем офер.
Подготовка
Из хода интервью видно, что на скрининге проверяют практическую работу в Linux-консоли (ls, cat/less, tail -f, ps/grep, df, netstat, /etc), базовый SQL (JOIN + GROUP BY + SUM), основы git-флоу с code review, отличия TCP/UDP, базовое ООП и письменный английский (деловое письмо о результатах тестирования). Стоит освежить команды Linux и умение рассуждать о локализации дефектов в многокомпонентной системе.
Стиль интервьюера
Интервьюер доброжелательный и разговорный: даёт практические задачи в live-эмуляторе (codeinterview), подсказывает и не давит при незнании ('ладно, не будем гадать, пойдём дальше'), вместе с кандидатом перепроверяет результаты SQL-запроса, в конце сам отвечает на вопрос, на который кандидат не смог ответить. Много уточняющих follow-up'ов про мотивацию и реальный опыт. В конце подробно рассказывает о компании и дальнейших этапах.
Вводный вопрос перед практическими задачами в эмуляторе консоли.
05
Код
Выведите список всех файлов в текущей директории (в эмуляторе консоли).
Практика в bash-режиме платформы codeinterview.
06
Код
Откройте файл (.profile) на чтение и посмотрите, что внутри.
07
Теория
Приложение пишет лог в файл. Как открыть файл так, чтобы видеть в реальном времени добавляющиеся в него сообщения?
Ожидался ответ tail -f (или less с дополнительными опциями). Кандидат не ответил.
08
Код
В системе запущен процесс, в названии которого есть слово 'remote'. Найдите его PID.
09
Код
Follow-up: оставьте в выводе только строчку с нужным процессом (отфильтруйте вывод ps через grep).
Кандидат справился, в том числе без учёта регистра.
10
Теория
Как посмотреть, сколько места осталось на диске?
Ожидался df. Кандидат забыл команду.
11
Теория
Приложение должно прослушивать порт, но клиенты не могут подключиться. Какой командой показать порты, которые в настоящий момент прослушиваются на хосте?
Ожидался netstat/ss. Кандидат не ответил (не работал с этим).
12
Теория
Для чего в Linux нужен каталог /etc? Что там хранится?
Кандидат не ответил уверенно (вспомнил только список хостов).
13
Теория
В реляционных базах данных есть понятия primary key и foreign key. В чём отличие и для чего они нужны?
Follow-up: уточнение про отличие (уникальность primary key vs неуникальность foreign key).
14
Код
SQL-задача: даны таблицы staff (id сотрудника, имя) и payments (id сотрудника, дата выплаты, размер выплаты). Вывести уникальный список имён сотрудников и суммарный размер выплат для каждого (например, за/с 2009 года).
Решалась live в SQL-режиме платформы; вместе проверяли корректность сумм на данных.
15
Поведенческий
Работали ли вы с брокерами сообщений, например JMS, MQ или чем-то подобным?
Кандидат не работал, но хотел бы.
16
Теория
В чём отличие протокола TCP от UDP?
Follow-up: какое принципиальное отличие, кроме того что TCP 'безопаснее' (ожидалась гарантия доставки/отсутствие установления соединения в UDP).
17
Теория
Сценарий с Git: вы пришли на проект, на машине репозитория ещё нет, есть удалённая репа. Задача — взять config-файл из репозитория, поменять его и положить обратно. Какими командами git будете это делать?
Ожидалось: clone → изменение → checkout на нужную ветку → add → commit → push.
18
Теория
Follow-up: как изменятся эти действия, если на проекте есть процесс code review?
Ответ кандидата: отбранчеваться от develop, фича-ветка, add/commit/push, создать merge request, дождаться апрувов, смёржить.
19
Поведенческий
Как у вас с английским? Что лучше — письменный или устный?
Кандидат общается с коллегами из США, письменный лучше.
20
Кейс
Письменное задание на английском: написать письмо PM (Майку) о том, что регрессионное тестирование прошло без проблем, при функциональном тестировании найдена пара незначительных дефектов, вы считаете их некритичными и предлагаете релизить, и уточняете его согласие.
Проверка письменного английского; писалось live в текстовом режиме.
21
Кейс
Кейс: электронная торговая площадка (типа фондовой биржи), цепочка компонентов: внешняя площадка → коннектор → order management → backend → trader UI. Вы отвечаете за тестирование backend и trader UI. При финальном end-to-end чеке кастомер отправляет заявку (обмен 1 млн EUR на USD), а на trader UI ничего не приходит. Как будете искать проблему?
Ответ кандидата: идти по логам по цепочке сверху вниз до компонента с ошибкой.
22
Кейс
Follow-up: вы нашли, что Order Management (чужая система) падает на распарсивании тега, а вам нужно закончить тестирование. Что будете делать?
Ответ кандидата: замокать зависимую систему и закончить тестирование изолированно.
23
Кейс
Follow-up: а если у вас всё-таки задача проверить именно end-to-end флоу, который блокирован чужим багом, и сегодня пятница с релизом вечером — что делать?
Ответ кандидата: завести баг на ответственную команду; это блокер — предложить отложить релиз.
24
Кейс
В стеке пять-шесть приложений, и каждый день на тестовом энвайронменте 'хварает' какое-то из них. Как находить подобные проблемы быстрее?
Follow-ups: чем поможет Consul и как он проверяет здоровье; что делать, если сервис жив, но не обрабатывает сообщения. Ожидаемый ответ интервьюера: автоматизированный интеграционный smoke/happy-path тест по всей цепочке.
25
Поведенческий
Расскажите, как выглядел сетап тестирования у вас в EPAM и в текущей компании: вы тестировали только UI, отдельный модуль или стек приложений?
Follow-ups: насколько стабильно работает тестовый энвайронмент; пробовали ли ускорять процесс поиска ошибок.
26
Поведенческий
Писали ли вы сами такие компонентные/интеграционные тесты, проверяющие здоровье системы?
Кандидат: писал раньше, на текущем месте нет.
27
Теория
Что такое рекурсия? Можете рассказать?
28
Теория
Что такое инкапсуляция?
29
Теория
Follow-up: а зачем скрывают данные (в инкапсуляции)?
Ответ кандидата: работа через геттеры/сеттеры с условиями установки/считывания данных.
30
Поведенческий
Вы занимались автоматизацией веба? На чём писали?
Кандидат: Selenium + Java. Тему UI-автоматизации отложили на проектное интервью.
31
Поведенческий
У вас российский паспорт и российский вуз — вы уверены, что сможете релоцироваться в Польшу? Насколько вы готовы к переезду?
Кандидат сейчас в Черногории, готов к переезду в Польшу.
32
Поведенческий
Если доходим до офера и вы соглашаетесь — какой у вас горизонт выхода на работу?
Кандидат: примерно до месяца.