Как стать автором
Обновить

Комментарии 5

Скажу честно — пытался один раз пройти в Улитку, и не прошел. Собеседование выглядело как клоунский отбор, на котором нужно было решать логические задачи со шнурками, веревками и прочим. В связи с этим, пара вопросов:

Как у вас с этим обстоят дела? Задачи на собеседования ТОЛЬКО на логику, алгоритмы, знание БД?

И какой стек используется в современных реалиях в популярных играх типа Warface, Аллоды?

Здравствуйте! Сейчас на онлайн-собеседовании мы даем 1-2 задачи, которые можно решить примерно за 10 минут. Обычно это либо алгоритмические задачи, либо не слишком сложные логические. Задачи на знания мы не даем — вместо этого задаем вопросы: спрашиваем про алгоритмы, структуры языка, проверяем заявленные знания — если человек написал, что знает про деплой, контейнеры, оркестратор, то про это и спрашиваем. Конечно, если это важно для должности, на которую кандидат устраивается.

По поводу стека. В современных сессионных играх («Аллоды», конечно, не сессионная игра) стек определяется движком. Для Cry Engine/Unreal Engine будет примерно следующее. На С++ пишется клиент/сервер миссии. Сервер интермиссии или бэкенд (лобби, инвентарь, магазин, социалка) пишется на том языке, на котором удобно команде.

Если есть какие-то наработки, например, на C#/Java, можно использовать их. При необходимости вокруг этого допиливаются инструменты — обычно это тоже C++. Также настраиватся инфраструктура CI/CD (TeamCity/Jenkins/GitLab CI) и пишутся задачи либо в виде описания (например, в yaml для GitLlab CI), либо в виде непосредственно скриптов (например, на groovy для scripted/declarative пайпланов для Jenkins).

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

Итоговый стек может быть примерно таким:

Клиент/Сервер миссий — C++
Сервер интермиссии — С#, Java или даже C++
CI/CD — GitLab CI/Jenkins/TeamCity
VCS — Git (в большинстве случаев)
Инфраструктура — любой удобный язык (например, Python).
Окружение — какая-то контейнеризация (Docker) и оркестрация (nomad/k8s), если это требуется.

И вот хороший текст на тему стека: https://habr.com/ru/amp/post/686258/

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

Можно просто свести все к обучаемости и интересу. Ну и, наверное, базовым социокультурным установкам человека, которые он зачастую не осознает, но транслирует. А хард скиллы, мне кажется, в настоящее время вещь вторичная. Так как везде все очень специфично и адаптабельность порой куда важнее.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий