что нужно знать unity разработчик
Что нужно для того, чтобы стать успешным игровым разработчиком
Профессиональные игровые разработчики должны обладать творческим и критическим мышлением, не говоря уже о хорошо развитых разнообразных навыках. Кроме того, они должны быть полны решимости и интереса.
Карьера игрового разработчика сильно зависит от двух личных качеств — заинтересованность и решимость.
Решимость — это ваше стремление получать новые знания и развивать навыки, необходимые для вашего путешествия в мире игровой разработки.
Заинтересованность характеризует вас как человека, стремящегося использовать полученные знания и навыки в разработке вашей первой игры.
Мы хотим, чтобы вы знали, какие действия нужно предпринять будущему разработчику, и почему они важны.
Вот небольшой список задач, которые стоят перед всеми, кто хочет стать талантливым игровым разработчиком.
Если вы заглянули на сайт Unity в поиске информации о том, как стать игровым разработчиком, вы наверняка хотите понять, сможете ли вы освоить разработку игр без специального образования. И вам наверняка будет приятно узнать, что ответ на этот вопрос — да!
Люди со всего света приходят в безграничный мир игровой разработки. Более того, разработчики, уже имеющие некоторый опыт, обычно с удовольствием и готовностью делятся своими знаниями с новичками.
В интернете вы найдете все, от общих обзоров до специализированных обучающих ресурсов, на этом и многих других сайтах по всем аспектам игровой разработки.
Есть целые разделы на Reddit, посвященные игровой разработке, где новички и профессионалы делятся своим опытом. Если вы не уверены в том, какую игру вы хотите разработать, то с выбором вам поможет небольшое исследование. Можно учиться программировать игры по бесчисленным онлайн-ресурсам, включая наш собственный бесплатный курс «Творите, программируя».
В интернете полно обучающих ресурсов, которые помогут вам освоить все необходимое, чтобы начать создавать игры. Плюс к этому, общение с единомышленниками поможет вам сосредоточиться на работе над собственным проектом.
Perhaps the most demanding part of becoming a game developer is putting your newfound knowledge and skills to the test. The best way to do this is to start a practice project! Practicing will allow you to familiarize yourself with the working environments and design requirements of your first game.
The single best way to learn game development is by doing, and creating practice projects is the primary way new developers start their journey into game creation. With each attempt you make, you’ll learn something new, and you’ll be ready to take on new challenges the next time.
Why not practice on some games that have already been made? Check out Unity’s microgames and follow our step-by-step walkthroughs to create, modify and share your first game!
Начиная свой путь, не забывайте: каждый когда-то начинал с того же. Игровая разработка кажется сложной каждому новичку. Понимайте свои возможности, ставьте реализуемые задачи и выполняйте их. Достигнув поставленной цели, ставьте новую и двигайтесь к ней. Именно так и выглядит успех в игровой разработке: поднимайтесь, выполняйте работу и оттачивайте навыки.
Со временем практика станет даваться легче, а вы будете знать больше. Постарайтесь не взваливать на себя слишком много и не забывайте получать удовольствие! Вы начинаете делать игры! Процесс должен вызывать восторг, а результаты должны вас радовать.
Unity защищает интересы инди-разработчиков вот уже почти 20 лет. Новички — это соль земли Unity Technologies, и мы думаем, что чем больше творческих людей в мире, тем лучше. Поэтому учитесь, экспериментируйте и, самое главное, начните творить. Только так можно стать великим разработчиком игр.
Базовые навыки для работы с Unity
Доброго времени суток, уважаемые хабаровчане!
Каждый разработчик хочет быстрее создать свою игру, но как сделать это? В этой статье рассмотрены базовые навыки, позволяющие сократить время разработки в среде Unity.
Навык #1 — Работа со структурой проекта
Для поддержания порядка в проекте требуется разобраться с его структурой. Она может быть представлена в следующем виде:
Структура папки персонажа
Другим подходом будет создание вышеописанных папок, и размещение в каждой папке частей объекта, то есть для анимации персонажа будет следующая структура.
Структура папки анимаций
Навык #2 — Работа с иерархией объектов на сцене
Для упрощения работы с наборами одинаковых объектов их можно объединять в группы, где в качестве родителя выступает пустой объект.
Это поможет легко отключить свет на всей локации или в помещении. Узнать месторасположение всех объектов.
Каждый элемент называется относительно того, что он из себя представляет, в конце добавляется постфикс родительского объекта. Например, золотой слиток в пещере будет носить название «goldBar_cv1», где cv1 обозначает cave1, а дерево в лесу «tree_frt1», где frt1 обозначает forest1. Для постфикс берется первая буква слова, первая буква второго слога и последняя буква слова.
Пример иерархии объектов на сцене
Навык #3 — Работа с визуальным представлением
В Unity имеется 3 основных источника света:
Используйте PostProcessing для наложения эффектов.
Сцена без постобработки
Сцена с постобработкой
Кроме визуально представленных источников света есть ещё глобальные настройки света: вкладка сверху Window, пункт Lighting, подпункт Settings. Там можно, например, подкрутить освещение окружения, установить скайбокс, добавить туман. Собственно, именно сюда нужно заглянуть, если вы задались вопросом «удалил все источники света, а на сцене всёравно светло, как днём». Кстати, в эти настройки можно залезать уже во время того, как в редакторе запущена игра, чтобы сразу, на лету, видеть изменения. Правда, после закрытия игрового режима настройки вернутся к тому состоянию, какими они были до запуска игрового теста. Так что придётся снова залезть в это окно и откорректировать значения. Полезная деталь — если вам, допустим, хотелось поменять цвет освещения (Ambient color в группе Environment Lighting), то на панели с палитрой обратите внимание на пункт Hexadecimal — там в окошке указан номер текущего цвета, можно скопировать его и позднее вставить в это же поле, когда игровой режим будет выключен. Этот же трюк пригодится для настройки цвета тумана и так далее.
Подобным же образом, находясь в запущенном в игровом режиме, можно менять какие-то параметры у объектов через редактор — значения переменных скриптов вынесенные в зону видимости, включение/отключение рендера сетки объекта и так далее. Главное не увлекаться, чтобы чего-либо не сломать. После выключения игрового режима изменённые значения восстановятся. Это не касается некоторых отдельных элементов, например, если вы во включенном игровом режиме редактировали текстуру террайна, то её изменения сохранятся.
Навык #4 — Работа с камерой
Нужно найти объект на сцене? Кликните 2 раза по имени объекта в иерархии.
Хотите пролететь по сцене от 1 лица? Зажмите ПКМ и перемещайтесь клавишами WASD, на Shift ускорение.
Требуется посмотреть сцену с разных углов? Воспользуйтесь Гизмо (Gizmos).
Расположение Гизмо
Навык #5 — Работа с объектами
Хотите добавить персонажа на сцену? Добавьте компоненты RigidBody и CapsuleCollaider. RigidBody говорит движку, что к этому объекту должна применяться физика твердого тела.
Хотите проверить столкновение персонажа с объектом? Добавьте объекту компонент MeshCollaider и в скрипте персонажа в функции OnCollisionEnter проверяйте тег (tag) объекта, с которым столкнулся персонаж.
Не всегда для персонажа требуется использовать rigidbody, методы управления могут быть разные. А вот коллайдер для персонажа потребуется почти всегда, если только вы не собрались высчитывать столкновения более хитрым способом. Так же в Unity есть несколько специфических контроллеров/коллайдеров — лучше почитать документацию, чтобы подробнее в них разобраться. Но начать лучше с простых примеров на ютубе.
Что касается тех объектов, с которыми персонаж сталкивается. Mesh Collider обычно следует вешать на те объекты, сложная форма которых вам так или иначе важна для учёта столкновения. Если это просто кнопка, то лучше обойтись коллайдерами попроще, вроде Box Collider. Кроме того вам, возможно, придётся для особо сложных 3д объектов делать более простую, невидимую, сетку столкновений и вешать Mesh Collider на неё, а не на сам видимый объект.
Про кнопки-коллайдеры стоит помнить, что в их компоненте коллайдера нужно поставить флажок на пункт Is Trigger, чтобы скрипт вобще мог обработать событие нажатия. Всяким бочкам, ящикам и прочим объектам, которые должны просто красиво физически реагировать на столкновения и падать под действием гравитации надо назначать компонент rigidbody.
Навык #6 — Импорт моделей
Рассмотрим порядок действий на примере импорта модели из Blender. Предполагается, что Вы уже сделали развертку, нанесли текстуру или выбрали материалы.
Blender
Обратите внимание, что если на модель назначены материалы блендера, то они в упрощённом виде перенесутся тоже и будут захламлять список материалов.
Можно вовсе не делать сложные развёртки и текстурирование в Blender’е — более простой способ это пройтись по всем элементам модели и для каждой выбрать в окне справа пункт Data. Это значок в виде смотрящего вниз треугольника с тремя точками, между пунктами Modifiers (гаечный ключ) и Material (розовый шарик). В нём нажимаете на + рядом с графой UV Maps — там появляется автоматическая развёртка со значком шахматного шарика. Это нужно сделать для каждого элемента модели и только после этого делать экспорт. Тогда уже в Unity на эту деталь можно будет наложить материал с тайловой текстурой, а если этого не сделать, то материал будет лишь окрашивать деталь в сплошной цвет. (Если вы позднее деформировали элемент модели, то сбросьте развёртку и переназначьте заново, чтобы она не была растянутой).
Если ваша модель состоит из разных элементов, то уже в Unity вы можете двигать отдельные элементы своей модели или отключать их. Это может быть полезно в различных ситуациях.
Как по-простому текстурировать модель.
Для начала вам хватит каких-нибудь тайловых текстур 512 на 512. Добавляете её так же, как и 3д модель, через Import New Asset (помните, что должна быть выбрана подходящая папка). При этом справа, в инспекторе, у добавленной текстуры в окне Default выставляете параметр Max Size в 512. И затем жмёте Apply. Теперь текстура готова для того, чтобы добавить её в материал или, допустим, ею теперь можно раскрашивать террайн. Обратите внимание на самый первый пункт — Texture Type, сейчас он в дефолтном режиме, но когда вам понадобится загрузить карту нормали, изображение для полупрозрачного спрайта, и так далее, то потребуется там выставить соответствующую настройку.
Далее нам понадобится создать материал. Заходим опять в меню сверху — Assets, выпадающий список Create, Material (опять не забудьте, что материал создастся в той папке, которая выбрана сейчас). Вбиваете название материала и в инспекторе открываете пункт Albedo (на других параметрах пока не будем останавливаться, но принцип схож), где ищете и назначаете свою ранее загруженную текстуру. Рядом есть окошко цвета, которым можно дополнительно подкрасить вашу текстуру, а также ползунки Metalic и Smoothness, чтобы добавить блики или матовость. Также пригодится параметр размера тайлов Tiling, он находится на несколько строк ниже.
После того как материал создан можно хватать его и перекидывать прямо на модель или её элементы, только не промахнитесь, а то покрасите не то, что нужно.
Не забывайте что одна и та же текстура может быть использована в разных материалах. Допустим, с примесями разного цвета и/или разным размером тайлов.
Префабы.
Обычно префаб делается примерно так — перетащили объект на сцену, потом зацепили его имя в окне иерархии и перетащили внутрь папки. Тогда там появится префаб на основе объекта, в инспекторе у префаба будет значок синего кубика и ниже тега будет так и подписано, Prefab.
Однако, вам незачем обязательно сразу всё делать префабами. Вы можете бросить объект на сцену, затем расклонировать его копипастом и тестировать прямо так. Если всё устраивает, то переводите объект в префаб, если нет, например в модели выявился какой-то баг, то удаляете её копии со сцены, саму модель из папки, исправляете в 3д пакете и импортируете заново.
Вы также можете засунуть внутрь префаба, выставленного на сцену, какие-то новые дочерние элементы. При этом они не станут полноценной его частью, то есть не повлияют на прочие копии этого префаба, пока вы не нажмёте кнопку Apply в инспекторе на строчке с названием Prefab.
Навык #7 — Реализация логики
Избегайте выполнения дорогостоящих операций. Примером может служить определение расстояния до объекта.
Прочитать больше о дорогостоящих операций можно здесь.
Заключение
Вышеперечисленные навыки позволят значительно сократить время как во время разработки, так и во время сопровождения проекта.
Если Вы считаете, что какие-то темы раскрыты поверхностно, просьба написать в комментариях о них поподробнее.
🎲 Разработка игр на Unity: с нуля до профессионала
Игорь Карпекин карпекин
Кто такой разработчик игр Unity/Game Developer
Поддерживаются операционные системы как для ПК, так и мобильных устройств.
Unity-разработчики участвуют во всех этапах жизненного цикла производства игр: создании, тестировании, доработке, поддержке, обновлении и модификации. Работа не останавливается на релизе игры – нужно постоянно тестировать продукт на корректность работы с новыми версиями операционных систем и новым оборудованием, следить за жалобами пользователей и оперативно исправлять ошибки, выпускать дополнения и модификации игры.
Как стать разработчиком игр: где и чему учиться
Где учиться – на курсах по созданию игр, по книгам или видеоурокам на YouTube – сугубо личный выбор. Мы рекомендуем обучение разработке игр на систематических курсах, которые дают представление о геймдеве в целом и разработке игр на Unity в частности.
Язык программирования C#
В дальнейшем понадобится изучить язык в полном объеме, но для начала сгодится следующий набор тем:
Если вы планируете создавать сетевые игры, то крайне желательно знать ASP MVC – фреймворк для создания веб-приложений, который упрощает сетевое взаимодействие и работу с базами данных.
Кроме языка программирования и алгоритмов, обязательны для изучения шаблоны проектирования – используемые программистами продуманные архитектурные решения. Нужно хорошо понимать, как и в какой ситуации использовать тот или иной шаблон.
Большинство обучающих и справочных материалов написаны на английском языке, а потому мы советуем овладеть языком, как минимум на уровне Intermediate. Знание английского языка – не специфическое для Unity-программистов, а стандартное для IT требование.
Редактор Unity3D
Большую часть времени Unity-разработчики проводят в редакторе, так что его нужно изучить досконально. Кроме того, программные библиотеки Unity требуют дополнительного изучения – Unity-проект существенно отличается от обычного C#-приложения. Чтобы стать профессиональным Unity-разработчиком, нужно изучить следующее:
Инструменты командной работы
Нужно иметь представление о следующих инструментах:
Профессиональный Unity-разработчик должен разбираться в том, какие специалисты работают над проектом и каковы их обязанности. Прежде всего это гейм-дизайнеры, обычные и 3D-художники. Надо помнить, что чем крупнее компания, тем более узкой становится специализация конкретного специалиста. Например, программист может заниматься исключительно системой искусственного интеллекта, 3D-художник – только моделированием, над текстурированием и анимацией будут работать другие люди.
Обучающие материалы, курсы по созданию игр
Без качественного и всестороннего обучения стать востребованным Unity-разработчиком невозможно.
Программирование
Unity
Обучение разработке игр, погружение в профессию и карьерные перспективы
Чтобы начать карьеру Unity-разработчика, нужно не только освоить язык и систему, но и иметь практические навыки.
Начинайте с несложных 2D-игр вроде тетриса или flappy bird. Простые игры легче реализовать в одиночку, но они дают навыки работы с базовыми функциями: загрузка сцен, создание интерфейса пользователя, работа с ресурсами. Далее можно переходить к 3D-играм. Здесь тоже лучше начинать с простого, постепенно внедряя новые функции и меняя архитектуру игры. Так вы составите портфолио, с которым в дальнейшем пойдете на собеседование.
По квалификации разработчики делятся на три условных уровня: Junior/Middle/Senior.
Junior – начинающий разработчик, работающий в команде под управлением более опытных коллег. Джуниору чаще всего поручают простые, некритичные задачи. На этом уровне работник обычно держится 1-1.5 года, после чего повышается до Middle. Junior Game Developer должен иметь следующие компетенции:
Middle – опытный специалист, способный выполнить всю порученную работу. Решает как критически важные, так и рутинные задачи. Имеет достаточную квалификацию, чтобы управлять джуниорами. Все основные инструменты и технологии Unity должны быть известны middle-разработчику. Многие работают на уровне middle годами и десятилетиями. Чтобы стать сеньором, нужны большие и целенаправленные усилия.
Senior – программист с высочайшей квалификацией. Может выполнить любую задачу в рамках своего набора технологий. У сеньоров огромный опыт, широкий кругозор, часто – отличные управленческие навыки. Чтобы вырасти от джуниора до сеньора нужно от 6 до 8 лет.
Team Lead Unity Developer – программист уровня middle, который занимается преимущественно управленческой деятельностью. Именно тимлиды создают условия для продуктивной работы команды. Им платят не за написанный код, а за соблюдение сроков и качество проекта в целом.
Также выделяют Unity VR Developer – специалиста, работающего в сфере виртуальной реальности. Такой программист должен иметь специальные знания, связанные со специфическим оборудованием – очками и шлемом виртуальной реальности. Unity AR Developer – похожая специализация, но связана не с виртуальной, а дополненной реальностью.
Востребованность Unity-разработчиков растет, как и количество вакансий. С уверенностью можно говорить, что и через 3-5 лет профессия разработчика игр на этом движке будет перспективна.
Unity-разработчик в среднем получает 65 тыс. руб. в месяц. Минимальная зарплата – 40 тыс. руб. в месяц, максимальная – 135 тыс. руб. в месяц.
Где учиться на разработчика игр
Если вы только начинаете изучать разработку игр, мы рекомендуем обратить внимание на курс Факультета Разработки игр онлайн-университета Geekbrains. В этом курсе систематизирована вся основная информация, необходимая для того, чтобы стать профессиональным Unity-разработчиком.
В курсе уделено большое внимание практике – по окончании обучения у вас в портфолио будет 4 реальных проекта, с которыми можно идти на собеседование. Кроме того, у каждого ученика есть личный наставник-куратор, с которым всегда можно прояснить непонятные места.
Как проходить собеседования на Unity разработчика
Вступление и личные наблюдения
Благодарности
Спасибо Никите и Денису за помощь в оформлении и составлении списка вопросов.
Как правило занимает от 10 до 30 минут. На нём задача рекрутера дать предварительную оценку по кандидату. Обычно просят рассказать о себе.
Из личного опыта пришел к тому что нужно научиться за 3 минуты коротко резюмировать свой опыт, выделить самое главное и уверенно презентовать себя другому человеку. Эта информация должна касаться только вашего пути разработчика. То, что вы умеете кататься на коньках, рисуете маслом или прыгаете с парашютом мало кого интересует на данном этапе. Предполагается, что вам будут платить деньги за выполнение задач, описанных в вакансии, поэтому максимально заинтересуйте рекрутера рассказывая только о релевантных для позиции навыках. Этого будет более чем достаточно. Вас спросят подробнее о ваших увлечениях и других вещах, если это будет необходимо.
Пример ответа на “Расскажите о своем опыте.”:
“Разрабатываю игры со старшей школы как инди разработчик, участвовал в джемах и конкурсах. На первом курсе начал работать в гипер-казуальном стартапе. Разрабатывал проекты на Unity C# и Lens Studio JavaScript. Отвечал за полный цикл разработки и гейм дизайн, общался с заказчиком и т.д. Команда состояла из. Потом принял решение расти как программист дальше, пошел работать в большую компанию для улучшения понимания процессов разработки и технических навыков. Там делал… За время работы научился делать…. На последнем месте работы делаю… Удалось автоматизировать… Предложил варианты решений для. Хочу сменить работу потому, что. ”
Вот мы и прошли скрининг. В целом, вроде бы не сумасшедший, какие-то слова из вашей речи рекрутер смог сопоставить с требованиями в вакансии, “Лондон из зэ кэпитал оф Грейт Британ” смогли из себя выдавить. Супер! Идём дальше!
Интервью обычно делится на такие части:
Общие вопросы по разработке ПО (OOP, algorithms, DI, SOLID, etc.).
Вопросы по C# (boxing/unboxing, GC, async/await, reference types, etc.).
Unity и опыт в конкретном игровом жанре(match 3, slots, AAA, FPS, etc.) или направлении(mobile, PC, consoles, AR/VR, etc.).
Общие вопросы по разработке
Принципы ООП. Рассказать про каждый. Как это реализовано в языке C#? Как применяли на практике?
SOLID. В чем смысл каждого принципа и как применяли на практике?
Структуры данных. Какие структуры данных вы знаете? Для каких задач лучше использовать ту или иную.
В чем разница между array и List?
Что такое хеш-таблица? Что такое хеш-функция? Как обрабатываются коллизии в словарях?
Алгоритмы. Поиск пути в графе, сортировки коллекций, поиск элемента в коллекции. Какие подходы в обработке коллизий объектов в 2д и 3д знаете?
Сложность алгоритма. Big O notation.
Шаблоны проектирования. Архитектурные шаблоны(MVC, MVP, MVVM, компонентный подход, ECS). Шаблоны для решения типовых задач(GoF, GRASP, Game Programming Patterns).
Dependency Injection. Что это за подход разработки и умеете ли работать с Zenject?
Реактивность. Что это за подход разработки и умеете ли работать с UniRx?
Клиент-серверные приложения. В чем основные принципы разработки клиент-серверных игр? Какие типы вы знаете и разрабатывали?
CI/CD окружение. Для чего используется? Есть ли опыт работы с ним?
Вопросы по C#
Чем отличается динамическая типизация от статической?
Значимые и ссылочные типы. Спецификаторы аргументов функций ref, out.
Boxing и unboxing. Что это и почему это плохо?
Строки. Операции над строками, StringBuilder.
Что такое класс? Что такое структура? В чем отличие между структурой и классом?
Что такое интерфейс? Какие члены можно описывать в интерфейсе?
Отличие интерфейса и абстрактного класса.
Обработка исключений. Блок try, catch, finally. Порядок выполнения.
Что такое делегат? Ковариантность, контрвариантность.
Что такое замыкание? Привести пример с замыканием.
Может ли структура реализовывать интерфейс?
Что такое атрибут? Для каких целей используются атрибуты?
Что такое рефлексия? Для решение каких задач приходилось использовать?
LINQ. Extension syntax, query syntax.
Как работает сборщик мусора? Что происходит с объектами которые имеют циклические зависимости?
Есть ли опыт написания авто-тестов и юнит-тестов?
Вопросы по Unity
Игровой движок. Что собой представляет и какие проблемы решает?
Корутины. Что это? Работают в одном потоке или в разных? Какой механизм C# используется для реализации корутин в юнити? Можно ли запустить рутину не из MonoBehaviour? Какие типы yield инструкций вы знаете? Когда они вызываются?
Что такое Game Object? Что такое сцена?
Что такое MonoBehaviour? От чего он наследуется? Можно ли создать тип наследуемый от Component?
Жизненный цикл MonoBehaviour.
Порядок вызова Event функций в runtime режиме Unity.
Физика. Какие компоненты позволяют работать с физикой. Что такое rigid body? Что такое рейкаст? Отличие от лайнкаста?
NavMesh. Поиск пути.
Опыт работы с UI компонентами? Что такое канвас? Что такое панель? Чем плох и хорош канвас? Как верстать адаптивный интерфейс? Что такое LayoutGroup?
Камера. Типы камер, параметры для настройки. Скай бокс, occlusion culling.
Что такое deltaTime и fixedDeltaTime? Отличия между ними.
Аниматор. Можно ли дописывать логику к состояниям аниматора? Что такое Timeline и опыт работы с ним?
Опыт написания кастомного редактора, окна для инструментов, расширения для ускорение и автоматизации рутинных задач.
Ассет бандлы и адрессаблы. Для чего используются и есть ли опыт разработки с их использованием?
Батчинг и Draw calls. Что это? Какие подходы оптимизации вызовов отрисовки вы знаете?
Что такое mesh? Из чего состоит 3д модель?
Опыт работы с шейдерами. Приходилось ли писать шейдеры?
Профайлинг. Какие инструменты для диагностики проблем производительности вы знаете(profiler, deep profiling, frame debugger, memory profiling, profiling on device)?
Unity Web Requests. Что это? Приходилось ли работать с клиент-серверным взаимодействием?
Есть ли опыт работы с нативным слоем? Android Studio, XCode.
Опыт интеграции SDK(реклама, аналитика, конфиги, БД, пуш уведомления).
Test Runner. Опыт работы с тестами в движке.
Конечно же это не полный список того что вас могут спросить на собеседовании. Хотелось показать в какую сторону смотреть и что спрашивают в большинстве случаев на технических интервью. Вас могут попросить решить задачу в реальном времени или написать программу. По моему опыту, очень важным моментом является двустороннее общение. Если на этапе с рекрутером кроме описания вакансии вряд ли вам дадут детальную информацию по будущему проекту, то на техническом собеседовании самое время задавать вопросы вам. Обязательно спросите про состав команды, уровень разработчиков, наличие код ревью. Спросите про организацию процессов, кто за что отвечает и как происходит валидация вашей работы. На какой проект вас рассматривают если вам еще не сказали окончательно. Так же вопросы с вашей стороны дадут понимание компании, что вы действительно заинтересованы в получении работы.
Вопросы
Есть ли опыт провалившихся дедлайнов? Как справлялись с ситуацией?
Как решали задачи которые не могли решить самостоятельно?
Расскажите о самой сложной задаче.
Как вы оцениваете задачи по времени и сложности?
Есть ли опыт менторства? Как работали с джунами?
Приходилось ли работать в стрессовой обстановке перед релизом?
Как относитесь к овертаймам?
По какой методологии работали(agile, scrum, kanban)?