Изучали ли Java?
Что проверяют
Хватит ли вам Java, чтобы писать и поддерживать автотесты, и насколько честно вы оцениваете свой уровень. Следом почти наверняка зададут пару базовых вопросов по языку или попросят показать код, поэтому ответ должен совпадать с тем, что вы сможете подтвердить.
Как отвечать
Назовите уровень конкретно: где учили, сколько кода написали, что именно автоматизировали. Для автоматизатора на Java обычно ожидают:
- основы языка: типы, классы, наследование и интерфейсы (на них держится Page Object), исключения,
static, разница между==иequals()для строк; - коллекции и современный синтаксис:
List,Map,Set, лямбды и Stream API для работы с тестовыми данными, дженерики хотя бы на уровне чтения чужого кода; - тестовый стек: JUnit 5 (
@Test,@BeforeEach,@ParameterizedTest) или TestNG, AssertJ для проверок, Selenide или Selenium WebDriver для UI, REST Assured для API, Allure для отчётов; - сборка: Maven или Gradle, запуск тестов из командной строки и в CI.
Опирайтесь на свои примеры: сколько тестов написали, что покрывали, сколько времени сэкономили на регрессе. Цифры должны быть вашими, а не из шаблона.
Если Java не изучали, так и скажите и сразу покажите, что есть взамен: «Автотесты пишу на Python с pytest, Java читаю, сейчас прохожу курс и перевёл пару своих API-тестов на REST Assured, код лежит на GitHub». Это звучит сильнее попытки изобразить опыт. Для ручного тестировщика честный ответ «на уровне чтения кода и логов» тоже нормален, если в вакансии не заявлена автоматизация.
Где спотыкаются
Говорят «знаю Java» и тут же не могут объяснить, чем ArrayList отличается от LinkedList или почему строки сравнивают через equals().
Перечисляют инструменты без своего кода. Selenium, TestNG и SonarQube в одном предложении ничего не говорят о том, что вы делали руками.
Отмахиваются фразой «тестировщику программировать не нужно». Для позиции с автоматизацией это конец разговора, а для ручной позиции минус к перспективам роста.