Что спрашивают на собеседовании у джуна, или как я искала свою вторую работу в ИТ

в 12:19, , рубрики: automation testing, interview, junior, интервью, Карьера в IT-индустрии, собеседование вопросы

Я работаю в сфере IT чуть более 1 года как Test Automation Engineer.

Мое базовое образование никак не способствовало этому, поскольку в моем дипломе написано “Логистик-Экономист”. Тернистный путь в IT я начала с бесплатных курсов при одной крупной компании в моем городе, после них поработала в той же компании на 2х проектах, после чего решила сменить место работы.

image

Я откликнулась на 8 вакансий, еще 4 компании написали мне сами (кадровые агентства не в счет, с ними общаться я не планировала).

Возможно, важную роль сыграло то, что мои поиски пришлись на январь (вроде в этом месяце самый бум в сфере рекрутинга), но после всех телефонных переговоров и переписок у меня было 4 приглашения на собеседование от разных компаний, 3 из которых в итоге предложили мне работу.

Мне было интересно изучить процесс найма в ИТ, поэтому я решила пройти все этапы собеседований у каждого нанимателя опыта ради, даже если сама вакансия сразу не казалась мне привлекательной.

Первая компания очень хотела найти сотрудника со знанием IP-нетворкинга, но таких специалистов на рынке, по их же словам, оказалось мало, поэтому пригласили и меня:) В основном на собеседовании спрашивали о Java: static, == / equals и другие типичные вопросы, которые я не успела записать, потому что идея написать эту статью пришла после второй компании, но они будут упоминаться в описании последующих собеседований. Также были попытки спросить про IP-нектворкинг, но довольно быстро стало понятно, что я в этом не сильна. Тем не менее, техническое интервью, со слов HR, прошло хорошо и меня пригласили поболтать по скайпу с заказчиком, которому не понравилось, что у меня не связанное с ИТ образование, и потому предложения не последовало.

Вторая компания — продуктовая — разработчик онлайн-игр. Кроме обычной работы с тестами частью функционала тестовой команды было написание и поддержка ботов для онлайн-игр. В общем-то команде нужен был специалист со знанием Python, что в итоге и стало основной причиной моего отказа. На собеседовании вопросы мне задавали по Java (тк другим языком не владею, о чем и предупредила по телефону), ниже приведу их списком:

  • Exceptions — какие бывают, иерархия
  • Команды Git — как сделать коммит и тд
  • Может ли блок finally не выполнятся?
  • Постулаты ООП с примерами
  • Что такое конструктор?
  • Как вызвать метод родительского класса в дочернем методе, если этот метод так же переопределен в дочернем методе?
  • написать xpath
  • решить задачку на алгоритмизацию
  • значения примитивных типов по умолчанию
  • ==/equals
  • Написать 2 SQL-запроса (первый содержал join, который я заменила вложенным запросом, второй — ключевые слова limit и desc)
  • слово final — все, что знаешь
  • описать, из чего состоит тест

А также блок про Selenium:

  • Page Object
  • Что такое локаторы
  • findElement и findElements — в чем разница и что будет, если в findElement передан локатор, который возвращает более одного объекта

И еще мог бы быть отдельный вопросик про Линукс, но на момент прохождения собеседования я с ним не сталкивалась, потому и вопросы задавать смысла не было. После этого было еще одно собеседование, скорее, “разговор о жизни” с менеджером команды. Как я писала ранее, приглашение я получила, но не приняла из-за Python.

Третья компания — аутсорсинговая, занимается созданием и поддержкой сайтов для одного авиаперевозчика. Тестовая команда использует связку Selenium+Maven+TestNG, и используя этот же подход мне необходимо было решить тестовую задачу, чтобы попасть уже на техническое интервью. Задача состояла в том, чтобы залогиниться на сайт (юзера создать вручную), открыть почту и проверить количество входящих писем, после чего свое решение прислать ссылкой на Git. Задача была решена, техническое интервью состоялось, вопросы были такие:

  • Разница между List и Set
  • Написать XPath
  • Try-catch-finally
  • ==/equals
  • Слово static
  • Static блок
  • Особенности FluentWait
  • Абстрактные классы и интерфейсы
  • (Внезапно) Что такое полиморфизм
  • (еще более внезапно) Методы класса Object
  • Page Object
  • Какие аннотации TestNG используются для обозначение входных данных
  • Как можно с помощью аннотаций указать последовательность выполнения тестов

В итоге я согласилась на работу именно в этой компании, тк на мой взгляд, их проект максимально соответствовал моим скиллам и опыту. А комфорт и уверенность в себе — мои основные критерии выбора рабочего места. (Тут можно не согласиться с моим подходом, может, кому-то нужен челлендж, это тоже прекрасно).

Четвертая компания снова продуктовая, честно говоря, была моей компанией мечты, потому что работает с AI и Machine Learning. Я уже работала с их технологиями на моем первом проекте на первой работе и прошла ими же разработанную сертификацию, о чем и написала в своем резюме. Возможно, поэтому они и пригласили меня на интервью.

На мой субъективный взгляд, этой компании нужны скорее девеловеперы или автоматизаторы с бОльшим опытом работы, чем у меня. Возможно, моим преимуществом было то, что я несколько лет работала в продажах, поскольку большая часть их проектов on-site и подразумевает постоянное общение с заказчиком.

Среди всех интервью это было, пожалуй, самое сложное. Например, привычное сравнение List и Set перешло в вопрос “В чем разница реализации метода get в ArrayList и LinkedList?”

Из банального были:

  • Иерархия коллекций (неплохо, конечно, было бы повторить перед собеседованием)
  • Слово Static
  • Наследование
  • Слово Super
  • Абстрактные классы и интерфейсы
  • Многопоточность — сразу сказала, что не знаю, и тем самым пресекла все вопросы

Спросили также про SQL, а именно: создавала ли я таблицы сама. Запросы писать не просили.

Кроме того, тут требовалось решить пару задач, одна на алгоритмизацию, а вторая, как оказалось, на знание такой штуки как new Command.execute() (мне любопытно, много ли человек сталкивались с этим).

И — вишенка на торте — тут были задачки на логику! Типа у вас есть ящик с черными и белыми носками, сколько раз нужно достать носок, чтобы гарантированно получить пару одинакового цвета. Ну и так далее, все писать не буду, решила, надо, сказать тоже не все.

На этом собеседовании важное место (минут 20) занимали вопросы про софт скилы, про конфликты, работу в команде и т.д.

И это было единственное место, где со мной хоть кто-то поговорил на английском. (Стоит упомянуть, что у меня B2, возможно, остальные верили на слово).

В общем я очень удивилась, когда мне перезвонили на следующий день уже с оффером, тк интервью с 30-40% (по моим ощущениям) неотвеченных вопросов казалось мне проваленным. Видимо, пройденное мной когда-то обучение их фичам имело ценность. Предложение я все-таки не приняла, потому что не была до конца уверенна в своих силах. Но эта компания все еще кажется мне самой привлекательной в моем городе, возможно, я еще буду на них работать.

В общем, самое важное, что я хотела донести, это то, что не нужно боятся что-то изменить. В итоге я подняла свою зп в 2 раза в сравнении с предыдущим местом работы(да, я сейчас где-то на уровне джуниор-миддл и в числовом выражении это не так уж много, но это только подтверждает мысль, что перемены имели смысл!)
А для тех, кто пока что только смотрит в эту сторону, но не решается сменить сферу деятельности в качестве вывода хочется отметить, что для работы в ИТ в первую очередь нужно уметь учиться. И никогда не прекращать это делать. Тогда и работа будет легкой и зарплаты высокие =)

image

А еще мы сами можем не подозревать о своих сильных сторонах.

Надеюсь мой скромный опыт поможет вам решиться на перемены или будет просто интересным и познавательным.

Автор: Naths

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js