Описание вакансии
О компании и команде
Приглашаем вас стать частью команды разработчиков Платформы ABCP — ключевого и незаменимого для тысяч клиентов по всему миру SaaS-продукта в сфере торговли автозапчастями.
Ожидания от кандидата
- Отличное знание языка Golang;
- Понимание работы HTTP-протокола и опыт разработки веб-служб;
- Уверенное знание SQL;
- Git;
- Быть внимательным и поэтому в сопроводительном письме Вы напишете слово "ping";
- Способность разбираться в чужом коде.
Дополнительным преимуществом будет:
- Знание PHP;
- Навыки работы с Linux и Docker;
- Опыт работы с AMQP-протоколом;
- Опыт разработки GRPC-приложений.
Условия работы
Почему вам может понравиться работать с нами:
Начали в 2005 году, и более 10 лет являемся примером для конкурентов.
ABCP — это синоним доверия и качества среди всех участников рынка автозапчастей, потому что мы создаем надежные инструменты для эффективного развития их бизнеса.
Из-за предыдущих пунктов наших сотрудников активно хантят более известные IT-компании, но сотрудники не всегда уходят, потому что им нравится, что у нас:
- все работают над созданием реального и востребованного продукта, а не совещаются;
- есть возможность развивать hard и soft-скиллы и сменить стек при желании;
- компанией и командами руководят адекватные айтишники, а не эффективные менеджеры;
- нет “звезд” (хотя есть таланты) и все общаются со всеми;
- понятная, прозрачная и открытая политика и цели компании;
- зарплата регулярно индексируется и соответствует актуальной рыночной стоимости специалиста, а не количеству закрытых тасков;
- гибкий график работы и отпусков, НЕ приветствуются переработки, реальная удаленка;
- аккредитованная IT-компания.
Готовы к нам присоединиться? Для 100% уверенности в своем ответе на втором онлайн-собеседовании вы встретитесь с будущими коллегами по команде, где сможете убедиться, подходим мы вам или нет. Ждём ваш отклик!
Дополнительные инструкции
Резюме без выполненного тестового задания не рассматриваются.
Обращаем ваше внимание, что на втором этапе мы попросим вас выполнить более сложное техническое задание. Это поможет вам оценить сложность работы, которую вам будет необходимо выполнять, если мы будем работать вместе, а нам поможет понять, справитесь ли вы с задачами нашего проекта.
При отклике на вакансию в сопроводительном письме просьба указать ответы на следующие вопросы:
Вопрос №1.
Что делает функция strconv.Atoi ?
1). преобразует целочисленный тип в строку
2). преобразует строку в целое число
3). преобразует IPv4-адрес из десятичной записи в двоичную
4). преобразует IPv4-адрес из двоичной записи в десятичную
5). нет правильного ответа
Вопрос №2.
Функция append добавляет элемент:
1). в конец слайса
2). в конец карты
Вопрос №3.
Функция delete удаляет значение:
1). из массива по индексу
2). из карты по ключу
3). из слайса по индексу
Вопрос №4.
Что важнее, понятность кода или его длина (краткость)?
1). чем понятнее, тем лучше, объем кода не важен
2). чем короче и лаконичнее, тем лучше
Вопрос №5.
Какая запись является чтением строки из канала c chan string?
1). msg := read c
2). msg := read string c
3). msg := <-c
4). msg := c->
Вопрос №6.
Что выведет код?
for _, v := range map[int]int{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5} {
fmt.Println(v)
1). 0, 1, 2, 3, 4, 5
2). 1, 2, 3, 4, 5, 0
3). нет правильного ответа
Вопрос №7.
Как выполнится такой код?
errChan := make(chan error, 1)
close(errChan)
errChan <- errors.New(“bad thing happened”)
1). сообщение с ошибкой не сможет быть записано в канал
2). сообщение запишется в канал, то прочитать его будет невозможно
3). случится паника
4). код будет работать обычно, закрытие канала просто запустит сборщик мусора
Вопрос №8.
Сколько памяти занимает буферизированный канал размера 8 типа uint8?
1). 8 байт
2). 0 байт
3). 64 байт
4). зависит от архитектуры
5). 64 бита
Вопрос №9.
Что должна возвращать функция NewSuperType(), когда SuperType имплементирует интерфейс Intrfc:
1). &SuperType
2). SuperType
3). Intrfc
4). зависит от ситуации
Вопрос №10.
Для чего в golang используются каналы?
1). для передачи данных между процессами
2). для передачи данных между функциями
3). для передачи данных между горутинами
4). для передачи данных по сети
Вопрос №11.
Опыт написания SQL-запросов с джойнами и агрегацией
1). могу составлять подобные запросы
2). могу составлять подобные запросы, но нужно иногда погуглить
3). нет опыта в написании подобных запросов
4). не работал с SQL
Вопрос №12.
Опыт работы в консоли linux/windows
1). знаю основные команды, могу писать bash-скрипты, запускать приложения с параметрами
2). знаю как открыть консоль и запустить команду
3). знаю коллегу, который видел человека, работающего в консоли
Вопрос №13.
Опыт работы с REST API
1). разрабатывал, использовал фреймворки, могу описать структуру запроса и ответа
2). поддерживал написанное или есть пет-проект
3). коммерческого опыта нет, читал про апи