Мегаполис Бангалор (13,5 млн чел, то есть больше Москвы), «крупнейший в стране научный и промышленный центр, славящийся своими парками и ночными клубами».





Для примера выбрано собеседование в компанию emids Technologies (персонал 3500 человек; работает на западный рынок). Профиль — медицинские системы. «Major Contender in Intelligent Automation in Healthcare».


Собеседование на должность (роль) — Senior QA Analyst / Senior Test Engineer / Test Automation Engineer / SDET, то есть старшего тестировщика, сеньора.
Соискатель. Опыт: в тестировании 5 лет; в автоматизации — примерно 2 года. Работал главным образом с Selenium Webdriver + Java. Перед этим сходил как минимум на 30 собеседований (привередливый).

Первый раунд — 1 час 35 минут.
- Расскажите о себе (краткая самопрезентация).
- Напишите код, автоматизирующий Date Picker.
(то есть

- Опишите ожидания (Wait-функции), которые использовали в своих проектах.
- Расскажите о сериализации и десериализации в Java.
- Опишите, как работает многопоточность в Java.
- Напишите код, который снимает скриншот когда тест-кейс упал.
- Какой максимальный лимит параллельно запущенных тестов в раннере в TestNG?
- Опишите подходы, применённые в параллельном тестировании в вашем проекте.
- Напишите Data-Driven-код, подтягивающий данные из Excel.
- Опишите архитектуру типичного фреймворка автоматизации, и детально расскажите, как его части связаны функционально.
- В чем разница между StringBuffer и StringBuilder?
- Опишите разницу между Hashmap и HashTable.
- Опишите жизненный цикл Maven.
- Какие команды Maven применяли в своем проекте?
- Какова была средняя длительность спринта в вашем прошлом проекте?
- Опишите batch-testing в прошлых проектах (запуск тест-кейсов большими группами).
- Какие существуют ограничения в Selenium WebDriver?
- Как и когда применяли desiredCapabilities?
- Опишите интеграцию JDBC в своем гибридном фреймворке.
- Расскажите о челленджах, которые вы успешно превозмогали в QA-автоматизации; например, о сложностях при создании фреймворка.
- Какие веб-страницы автоматизировали в проектах?
- В каких ситуациях применяется имплицитный wait, WebDriver-wait, и fluent-wait?
- Опишите динамический полиморфизм, имплементированный в вашем фреймворке или сценариях.
- Детально опишите ваш прошлый проект.
- Что такое исследовательское тестирование?
- Какие классы есть в remote Webdriver?
- В каких IDE для Java приходилось работать? Какие IDE применяли в прошлом проекте автоматизации?
- Опишите обработку всплывающих окон в вебе.
- Опишите обработку всплывающих окон в Windows.
- Имели ли опыт с nested frames, детально, с примерами кода.
- Сколько тестовых скриптов можете написать за день?
- Опишите разницу между интерфейсом и абстрактным классом?
- Что такое upcasting в Java?
- Опишите разницу между collection и collections.
- Опишите Collection-концепты, применяемые вами в фреймворке.
- Как устроить параллельный запуск тестов в TestNG?
- В чем разница между hard и soft Assert, когда и как применяются.
- Какие репорты существуют? Что лучше, TestNG HTML или Extent Report, и почему.
- Опишите Extent Report в своем прошлом фреймворке.
- Где хранили свой фреймворк и скрипты, и почему.
- Почему в QA трудно обойтись без Jenkins?
- Как автоматизировать капчу?
- Какие типы багов чаще всего находили при автоматизации?
- Есть ли у вас какие-либо вопросы к нам?
Второй раунд (45 минут)
- Нарисуйте структуру своего последнего фреймворка, и опишите на словах, где и что.
- Ввод: {2,3,-2,7, 56,43}. Отсортируйте этот массив, не используя inbuilt-функцию.
- Есть n шаров в коробке, мы не знаем их цвета каждого, теперь напишите Java-программу определения цветов каждого шара. Знаем, что синих там 3, красных 5, зеленых 7.
- Спросили объектно-ориентированное программирование. Что такое абстракция, наследование, полиморфизм статический и динамический, инкапсуляция.
- Как создать объект интерфейса, если не используется Webdriver driver = new ChromeDriver(); описать детально, и также для абстрактных классов.
- Где и как применяли абстрактные классы и интерфейсы в прошлых проектах.
- Опишите, что такое статические классы и nested-классы.
- Где и как использовали статические переменные и статические методы в своем фреймворке.
- Есть ли опыт работы с Fillo в Data-Driven-тестировании (это такая Excel API для Java)
- Есть ли у вас какие-либо вопросы к нам?
Третий раунд (со старшим менеджером)
- На столе стоял стеклянный переключатель, нужно было описать тестовые сценарии с ним.
- Тестовый сценарий по профилю компании (медицинские системы), и какой фреймворк по моему мнению был бы лучше для такого сценария.
- Скрам-спринты какой длительности были на прошлом месте работы.
- В чем плюсы гибридного фреймворка.
- Очень детально описать Data-Driven-тестирование.
- «Если я скажу, что придется работать с 9 утра до 9 вечера по крайней мере два дня в неделю, вы согласны?».
- Где живете?
- Далеко ли от места работы?
Четвертый раунд, собеседование с HR-ом (10 минут)
- Расскажите о себе.
- Обсуждение зарплаты.
«По итогам 4 раундов был предложен оффер, и он был принят».




***

Зарплаты в Индии тестировщиков и вообще
Что касается зарплат старших тестировщиков в Индии, разброс может быть очень большой; если опыт на такой должности 1-2-3 года, то такой SDET будет получать примерно 900$. Старший тестировщик с опытом 3-5-…10 лет получает около 1500$ в месяц. 10-20 лет на должности SDET это уже 2000-2500$.
(Принято указывать не месячную зарплату, а годовую как в США, и считать рупии сотнями тысяч — «лАхами».)
Обычный тестировщик в Индии, с опытом пару лет, получает около 500-600$. Средняя стартовая зарплата джуна в QA — примерно 300$. (Но половина опрошенных получала лишь $200+ на своей первой работе в этой должности).
Примерно такая же усредненная зарплата по стране (300, в некоторых источниках даже 400$ в месяц). Однако, громадное количество жителей Индии живет на 200$ в месяц и даже меньше, не имеет постоянной работы. Поэтому пробиться в ИТ, хотя бы тестировщиком, тем более в крупную компанию работающую на западный рынок, считается очень ОК, полный lifestyle change.
Также во многих компаниях принято выдавать ежемесячные бонусы на руки, еще около 200-300$, как компенсация аренды жилья и транспорта.
Общепринята 6-дневная рабочая неделя. Рабочий день стандартный, с 8-9 до 17-18, однако хорошим тоном считается работать сверхурочно.
Амбициозные выпускники технических университетов зарабатывают уже на первой работе около 600-700$, но жалуются (особенно женщины) — им не хватает, потому что мегаполис, все очень дорого, не получается экономить.
Аренда жилья очень доступна, даже в мегаполисах — комфортная 1к-квартира от $200-300, 4-комнатная квартира в центре Бангалора обходится примерно в $700.
Зарплаты в IT «вообще», и в Artificial Intelligence, Machine Learning, у квалифицированного индуса — 14-20 «лахов» в год, это получается около 1500-2000$ в месяц. Следует отметить, что при крайне низких ценах на жилье, одежду, автомобили, нянь/садики/школы, и все прочее нужное для жизни — индийский айтишник живет просто отлично. Не хуже чем российский, а может и лучше. Вопреки стереотипам.

***