В середине прошлого года я подал заявку на должность старшего инженера полного стека в Atlassian. Сначала мне позвонили из отдела кадров, но мой профиль не был перенесен. Позже я подал заявку на несколько вакансий (в основном фронтенд) через LinkedIn, и в течение ноября мне позвонили из отдела кадров, и они хотели запланировать мои технические собеседования. Насколько мне известно, если кто-то говорит об Atlassian, следующее, что будет мой разум будет Jira.

HR-подборщик был очень дружелюбным, и они сказали мне, что должность, на которую я подал заявку, привязана к команде слияния для роли полного стека. Они попросили 3–4 тайминга на следующей неделе, чтобы запланировать мое первое техническое собеседование. Первым техническим собеседованием было собеседование по системному дизайну (больше о интерфейсе). Это стало для меня неожиданностью, так как большинство технологических компаний проводят раунды решения проблем. Рекрутер четко упомянул для этой должности, что они будут проверять мои навыки работы с интерфейсом, навыки решения проблем и отсутствие вопросов, основанных на DSA.

Первое интервью — проектирование системы переднего плана

Я не нашел какого-либо конкретного формата/материала для проектирования интерфейсной системы. Но я считаю, что материалы с https://www.frontendinterviewhandbook.com/ весьма полезны. Во время интервью интервьюер был вежлив и спросил о моем опыте. Затем он попросил меня разработать функцию, состоящую из списка задач, и для каждой задачи будет несколько тегов. Я потратил некоторое время и задал все возможные вопросы интервьюеру, а затем начал дизайн через онлайн https://witeboard.com/. Сначала я разработал компоненты (флажки и теги) для функции задачи, а затем разработал API, модель данных для этой функции. Интервьюер задал несколько вопросов о дизайне, и я смог дать ответы оптимальным образом. В целом, я чувствовал, что интервью прошло нормально.

Через пару дней я получил положительный отзыв от отдела кадров, и они продвигают мой профиль для собеседования на месте.

Интервью на месте — подготовка

У меня был брифинг с рекрутером о собеседовании на месте, которое состоит из 5 раундов. Интервьюер поделился, какие вопросы я могу ожидать от технических и поведенческих раундов.

  1. Интервью по кодированию
  2. Полный стек Craft Интервью
  3. Интервью по проектированию системы
  4. Ценности Интервью
  5. Интервью с руководством

HR сказал, что интервью можно разделить на две части: в первый день я могу пройти 3 раунда, а во второй день я могу пройти остальные. Я взял передышку 3 недели для подготовки. Я не видел подходящих руководств для интервью, как в других технологических компаниях. Поэтому я решил подготовиться самостоятельно. Интервью в основном сосредоточено на поведенческих, культурных и технических вопросах.

Стеклянная дверь

Самый полезный ресурс, где мы можем найти похожие вопросы, заданные во время интервью. Я ответил более чем на 50 вопросов как по техническим, так и поведенческим вопросам.

Поведенческие

Я считаю, что приведенные ниже материалы действительно полезны не только для Atlassian, но и для других компаний.



Я придумываю 5–10 историй, которые произошли во время моей работы, и готовлю истории с подходом STAR. Это было действительно полезно, так как подходит к большинству поведенческих вопросов.

Значения

Для значений лучшим ресурсом будет веб-сайт atlassian. Для каждого значения я придумываю свою историю, которая может соответствовать значениям

Технические

Через Glassdoor я ответил на несколько технических вопросов и поработал над ними. Помимо этого создано несколько приложений, таких как TicTacToe, TodoList и еще несколько. Я заметил, что интервьюер довольно часто спрашивал о построении структуры файлового дерева с помощью Java Script. И для интервью Craft я подготовился к общим/базовым вещам, таким как, как браузер отображает веб-приложение, как работает интернет и о сценарии Java. Я был уверен в себе и хорошо подготовился.

К сожалению, из-за моей личной проблемы первые 3 интервью были перенесены на другой день. И порядок интервью изменился на 5,4,1,3,2

5. Собеседование с руководством

Это было одночасовое интервью, менеджер по найму рассказывает о себе и своей команде. А потом я рассказал о себе, своем прошлом, текущем опыте работы и о своей цели/амбициях и т. д. Он действительно классный и хороший слушатель. Затем он задал около 5–6 поведенческих вопросов, на которые я очень хорошо ответил. Я забыл большинство вопросов, но один вопрос, который он задал, касался конфликта интересов.

4. Интервью о ценностях

Это снова было часовое интервью, интервьюер был дружелюбен с самого начала. Первые 5–10 минут ушли на введение, а затем он задал вопрос о каждой ценности Atlassian. По сути, это было своего рода поведенческое интервью, но вопросы были связаны с их 5 ценностями.

Первая часть действительно прошла хорошо, как-то я пересёк половину интервью.

1. Интервью по программированию

Для собеседования по кодированию HR ранее сообщил мне, что нужно настроить рабочее пространство локально и структуру по моим предпочтениям. Моя беда, на моем локальном компьютере angular cli и node.js не устанавливались, я воспринял это как беззаботное и больше доверял онлайн-платформам, таким как codeandbox/stackblitz.

Собеседование по кодированию проходило во второй половине дня, и интервьюером был молодой инженер с 2–3-летним опытом работы. Интервьюер был разработчиком React, но я пришел из angular. Интервьюер прислал файл, содержащий данные в формате json. И это был тот же вопрос о структуре дерева файлов, который я нашел на Glassdoor. Цель этого вопроса - разработать древовидную структуру, аналогичную github или bibucket.

Я создал приложение на онлайн-платформе, и с самого начала приложение зависло, и я потерял терпение. С большим трудом я смог отобразить json и отобразить древовидную структуру в браузере без стилей в приложении. Я объяснил подход, почему я придумал этот подход. В какой-то момент я забыл превратить функцию рекурсии в повторно используемый компонент. Поскольку у меня нет времени, я объяснил, как создать повторно используемый компонент без сохранения состояния и поместить его в функцию.

Интервьюер упомянул, что подход был хорошим, но я чувствовал, что интервью прошло не очень хорошо, так как я не смог показать правильно работающее приложение с какими-то стилями.

3. Интервью по проектированию системы

Поскольку мой первый раунд был системным проектированием, я был вполне уверен в этом раунде. Собеседование брали два молодых инженера, и я использовал инструмент для проектирования.

Интервьюер попросил меня разработать функциональность, похожую на Trello. На этот раз системный дизайн был продвинутым, интервьюер искал дизайн компонентов, производительность, управление состоянием, стабильность и кое-что еще. Я спросил все возможные варианты использования дизайна, а затем начал со своего подхода. С ограниченным количеством времени я прихожу с компонентами, дизайном приложения, моделью данных, API. Интервьюер весьма заинтересован узнать о государственном управлении дизайном. Я смог предоставить большую часть информации об управлении состоянием. Интервью даже превышает время, наконец, интервьюер остановился и сказал, что дизайн выглядит хорошо.

Я чувствовал, что интервью было ненормальным, так как интервьюер не был сильно впечатлен и продолжал задавать вопросы. В какой-то момент я почувствовал, что интервьюер пытается меня перехитрить.

1. Полное интервью по крафту

Я понятия не имею, о чем они собираются спросить или как будет проходить собеседование. И снова интервью брали два молодых инженера, оба из разных команд. Они сказали, как будто они новички в команде, и мне нужно объяснить о приложении

Один из них попросил меня пройтись по недавнему приложению, над которым я работал. Я поделился тем, как я создал приложение и какие стеки я использовал для создания приложения. Интервьюер попросил меня рассмотреть возможность аутентификации в дополнение к моему заявлению, и оттуда он попросил продемонстрировать. Я сказал ему, что не знаю о модуле аутентификации/входа, потому что я никогда не работал над функциями модуля аутентификации/входа. Но интервьюер хочет, чтобы я объяснил часть аутентификации. В своей текущей работе я тесно сотрудничаю со своими бэкенд-инженерами, от них я услышал такие термины, как SALT, base 64 для процесса аутентификации. С этим небольшим знанием я поделился тем, как я могу построить логику аутентификации в своем приложении. Оба интервьюера молчали и заметили, что разговор был не очень интересным.

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

Окончательное решение

Через 2-3 дня я не получал обновлений об интервью. Затем, посоветовавшись с ними, они сказали, что не рассматривают эту позицию. Я попросил отзывы у интервьюеров, которые помогут мне в следующий раз. Но из соображений конфиденциальности они не поделились отзывом.

В целом, я считаю Atlassian очень хорошей технологической компанией с отличными ценностями. И у них больше молодых инженеров в качестве рабочей силы.

Посмотрим в следующий раз, моя охота за работой в технологических компаниях продолжается…..