Вопросы на интервью программиста unity3d

Общие вопросы о Unity3D

Re: Вопросы на интервью программиста unity3d

Сообщение snezhok_13 25 янв 2017, 12:59

~AvA~ писал(а):Мне вот больше интересно, есть ли какое-то отличие Unity3D программиста, от программиста C# ?
Это я к тому, что если человек не знает Coroutine в unity, но знает, зачем нужен yield в C# и как с ним работать, должно ли это быть проблемой на собеседовании?
Программисту, разобраться с unity-спецификой не составит особого труда, я так считаю.. не?

В какой-то степени так и есть. Если человек знает как работает iterator в c#, и что делает yield то он знает как работают coroutines в Unity.
НО! Есть ребята, которые делают так: StartCoroutine(MethodName()); StopCoroutine("MethodName"); а coroutine не останавливается (popcorn)
Но ведь понимают как работают...

Разобраться со спецификой Unity? Мне кажется это изучить 3d математику, как устроен приблизительно движок, графический пайплайн (эта часть вопросов), и прожевать много практики попутно: как и что делается непосредственно в Unity

~AvA~ писал(а):Тогда зачем это спрашивать, есть дока, есть гугл, программист это ж не справочник )
Не, ну вы можете спрашивать что угодно конечно, мне просто интересно из чего исходят те, кто проводят такие собесы, кого они хотят нанять, как они видят этого человека, или просто спрашивают что-то , ну надо же что-то спросить..
P.S: Это серьёзная проблема на любых собеседованиях.. Есть люди, которые отлично проходят "справочные" собеседования, и которые нифига не умеют программировать и, что более неприятно, наоборот. Хотя, может оно и к лучшему, прошёл бы такое собеседование , потом страдал фигнёй пару лет)


Даже больше можно добавить мне кажется. Есть люди, которые умеют собеседования проходить (при этом это никак не связано с умением программировать, к сожалению). А есть люди, которые хорошие собеседования умеют проводить, я у таких на интервью бывал. Бывал и на провальных, приходит тим-лид и "пык-мык, что бы у вас спросить", спрашивает про boxing/unboxing и многопоточность и все. И по ответам какое-то решение принимает.
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
Аватара пользователя
snezhok_13
UNIверсал
 
Сообщения: 450
Зарегистрирован: 09 сен 2013, 11:12
Skype: s.coremission
  • Сайт

Re: Вопросы на интервью программиста unity3d

Сообщение Tolking 25 янв 2017, 13:12

Господа, а есть такие, кто считает, что если он правильно ответит на все вопросы то его возьмут на работу?
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Вопросы на интервью программиста unity3d

Сообщение Zaicheg 25 янв 2017, 13:17

~AvA~ писал(а):Мне вот больше интересно, есть ли какое-то отличие Unity3D программиста, от программиста C# ?
Это я к тому, что если человек не знает Coroutine в unity, но знает, зачем нужен yield в C# и как с ним работать, должно ли это быть проблемой на собеседовании?
Программисту, разобраться с unity-спецификой не составит особого труда, я так считаю.. не?
Тогда зачем это спрашивать, есть дока, есть гугл, программист это ж не справочник )

Конечно есть отличие. Первый умеет работать с Unity, второй -- ещё нет, ему надо научиться. Нанимателю надо спрогнозировать скорость этого обучения, заложить это в план работ, а так же учесть связанные с неправильным прогнозом риски. Вариант с наймом уже готового специалиста проще.
Это как нанять на строительство жилого дома ребят, которые до этого только конюшни строили. Гуглить будут, доки читать, разбираться со спецификой...
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Вопросы на интервью программиста unity3d

Сообщение ~AvA~ 25 янв 2017, 15:46

То есть отличие, как его видите вы, в основном в том, что работадателю надо взять человека и включить его в работу сразу, вот прям с первого же дня.
Пробный период не подразумевается, время на изучение проекта/движка - тоже.
Бывает по-нормальному или это почти везде так сейчас? )
Аватара пользователя
~AvA~
UNIверсал
 
Сообщения: 396
Зарегистрирован: 17 фев 2015, 13:09

Re: Вопросы на интервью программиста unity3d

Сообщение ~AvA~ 25 янв 2017, 15:49

snezhok_13 писал(а):НО! Есть ребята, которые делают так: StartCoroutine(MethodName()); StopCoroutine("MethodName"); а coroutine не останавливается (popcorn)
Но ведь понимают как работают...

Запустил проект, корутина не останавливается. Погуглил, разобрался / исправил. 10 мин.. мм, может 30 мин, ну кому сколько. Ок, пошёл дальше)
Аватара пользователя
~AvA~
UNIверсал
 
Сообщения: 396
Зарегистрирован: 17 фев 2015, 13:09

Re: Вопросы на интервью программиста unity3d

Сообщение snezhok_13 25 янв 2017, 16:21

~AvA~ писал(а):Пробный период не подразумевается, время на изучение проекта/движка - тоже.
Бывает по-нормальному или это почти везде так сейчас? )

Геймдев беднее чем веб-разработка или enterprise, поэтому чаще всего никто не берет программистов на обучение.
Подход "возьмите меня, а я разберусь на месте" не работает. Это очень рискованно платить работнику деньги, и обучать за свой же счет, он может не научиться или научиться и уйти :)
Даже обучать и не платить ничего дорого может обойтись, нужно ведь выделить того кто будет обучать. Кто это будет? Лид-разработчик?
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
Аватара пользователя
snezhok_13
UNIверсал
 
Сообщения: 450
Зарегистрирован: 09 сен 2013, 11:12
Skype: s.coremission
  • Сайт

Re: Вопросы на интервью программиста unity3d

Сообщение Tolking 25 янв 2017, 16:52

Учить будет RTFM, если программист не может RTFM, то он не нужен...

Единственный возможный подход это "возьмите меня, а я разберусь на месте" . Нет никаких 100% гарантий, что человек прошедший какие угодно испытания сможет работать над проектом, в коллективе... Для этого есть испытательный срок... Опять же если никто не будет брать новичков откуда возьмутся опытные? Чтобы люди научившись от вас не уходили их нужно мотивировать соответственно... Взяли новичка на N тыс.руб. он научился и стал продвинутым... Либо ты делаешь ему 1.5N тыс.руб. либо он найдет такую зарплату в другом месте...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Вопросы на интервью программиста unity3d

Сообщение snezhok_13 25 янв 2017, 17:47

~AvA~ писал(а):Запустил проект, корутина не останавливается. Погуглил, разобрался / исправил. 10 мин.. мм, может 30 мин, ну кому сколько. Ок, пошёл дальше)

Чаще всего получается по-другому: запустил проект рандомный баг, поотлаживал полчаса-час, понял что похоже корутина не останавливается, понаставил брекпоинтов, облепил Debug.Log'ами, действительно баг где-то здесь. Проверил подозрение, что дело именно в корутине в песочнице (чистом проекте). Пошел гуглить...

Все мы люди. Все ошибаемся. Но заказчикам интереснее ребята, которые не совершают те ошибки которые новички делают по неопытности. Заказчикам интереснее ребята, у которых чистый и безошибочный (в плане именно таких тривиальных ошибок) слетает с кончиков пальцев.
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
Аватара пользователя
snezhok_13
UNIверсал
 
Сообщения: 450
Зарегистрирован: 09 сен 2013, 11:12
Skype: s.coremission
  • Сайт

Re: Вопросы на интервью программиста unity3d

Сообщение Paul Siberdt 25 янв 2017, 18:20

Zaicheg писал(а):Я думаю, что к найму социопатов на работу надо относиться очень осторожно...

Угу, пусть им всякие Нобелевские премии вручают, на работе над социалочками таким нет места. :)
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Вопросы на интервью программиста unity3d

Сообщение Zaicheg 25 янв 2017, 19:42

Paul Siberdt писал(а):
Zaicheg писал(а):Я думаю, что к найму социопатов на работу надо относиться очень осторожно...

Угу, пусть им всякие Нобелевские премии вручают, на работе над социалочками таким нет места. :)

Место есть, а я слишком категорично выразился. Но не везде такого человека можно применить.
В тех случаях, с которыми я сталкиваюсь, задача программиста (применительно к мелкому бизнесу предпочёл бы слово "разработчик", т.к. одним программированием дело никогда не обходится -- придётся и с ТЗ помочь и с презенташками и с техподдержкой, во встречах/выставках поучаствовать) не заключается в том, чтобы написать код. Его задача в том, чтобы помочь одним людям решить проблемы других людей посредством создания ПО. И сделать это вместе с другими специалистами. Без навыков общения, без эмпатии очень сложно справляться с такими вещами.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Вопросы на интервью программиста unity3d

Сообщение jetyb 26 янв 2017, 08:35

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

Что такое lerp? Напишите lerp для float.
Почему slerp работает по кратчайшей дуге?

Большая лажа. Знающий азы математики человек легко напишет аналог этих функций, но может и не узнать функцию по названию.

Кто такой Lambert?

Один мой зарубежный знакомый.
Грамотнее спрашивать о освещении по Ламберту, а еще лучше по известным моделям освещения.
Lambert кстати в юнити уже 3 года как устарел.

Когда GPU делает sample текстуры каким образом выбирается mipmap-уровень?

Вопрос составлен безграмотно.

Напишите матрицу поворота вокруг любой из оси

Зачем писать? 95+% разработчиков не напишут на собеседовании матрицу поворота, когда она на практике гуглится за минуту в википедии и не особо нужна.
Грамонее спросить "а вы могли бы в коде получить матрицу поворота вокруг любой из оси?".
Ответ: Matrix4x4.TRS(Vector3.zero, Quaternion.AngleAxis(angle, axe), Vector3.one).

Рассказать о yield return, yield break и Coroutine в Unity

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

Какие способы вызвать функцию из компонента, вы знаете/используете? Плюсы и минусы данных способов (Варианты: SendMessage, SendMessageUpwards, BroadcastMessage, вызов через GetComponent (GetComponent().CallMethod());

SendMessage и его производные это костыль.
GetComponent().CallMethod() - такого метода нет. Есть только MonoBehaiviour.Invoke()

TComponent t = gameObject.GetComponent();
t.DoSomething();

Данный код вообще бы не скомпилировался.

Какие способы представления ориентации объекта вы знаете?

Смысл вопроса не понятен.

Прокомментируйте разницу в нескольких способах получить первый элемент коллекции.
var element1 = collection.SingleOrDefault();
var element2 = collection.FirstOrDefault();
var element3 = collection.First();

Пошел гуглить никогда не используемый мною метод SingleOrDefault(). Ответ находится за минуту в VisualStudio просмотром комментария к методу.
Но этот вопрос я бы завалил.

В общем:
Много повторяющихся вопросов. Вопросы часто стоят не в своих категориях.
Вопросы по геометрии элементарны, по сути спрашивается про скалярное и векторное произведения, максимум - про матрицы преобразования.
Подобные вопросы оскорбительны для человека с техническим дипломом. Интервьюер не умеет читать резюме? Если у человека есть технический диплом - то он точно учил школьную геометрию и изучал на первом курсе матрицы.
Самый сложный вопрос по геометрии (кстати стоящий в другом разделе):
Даны три числа: a, b, c. Как определить за максимум два сравнения существует ли треугольник со сторонами длиной a, b и с?
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: Вопросы на интервью программиста unity3d

Сообщение bojlahg 26 янв 2017, 09:43

Автор бы лучше ответы написал. А так согласен со многими комментаторами что многие вопросы не правильно заданы. От волнения не сообразив о чем вопрос можно и зафейлить.
Мои проекты: MahJah Star Factory Cop Car Swash! Spline Editor
Аватара пользователя
bojlahg
UNIверсал
 
Сообщения: 392
Зарегистрирован: 13 авг 2011, 10:57
Откуда: Сатка
Skype: bojlahg
  • Сайт

Re: Вопросы на интервью программиста unity3d

Сообщение ~AvA~ 26 янв 2017, 12:17

snezhok_13 писал(а):
~AvA~ писал(а):Пробный период не подразумевается, время на изучение проекта/движка - тоже.
Бывает по-нормальному или это почти везде так сейчас? )

Геймдев беднее чем веб-разработка или enterprise, поэтому чаще всего никто не берет программистов на обучение.
Подход "возьмите меня, а я разберусь на месте" не работает. Это очень рискованно платить работнику деньги, и обучать за свой же счет, он может не научиться или научиться и уйти :)
Даже обучать и не платить ничего дорого может обойтись, нужно ведь выделить того кто будет обучать. Кто это будет? Лид-разработчик?


Не-не-не, мы же говорим про готового спеца (не про студента, просящегося научиться у гуру), программиста (основной язык C#), который каким-то непонятным мне образом вдруг попал на собеседование на unity-программиста.
Как по мне, это лучшее что можно сделать (для компании конечно, не для разработчика) - заманить его в свою студию и обучить какой-то там специфике юнити.
По ходу дискуссии мне просто показалось (может ошибаюсь), что вопросы составлены действительно для ребят, которые "программисты" со спецификой юнити, а не реальные программисты, скажем из какиз-то там enterprise :) То есть на собеседовании проверятеся не то, как человек мыслит, а насколько он в "теме" юнити. Может так и правильно, зп наверное меньше чем у скажемм так "обычных" не юнити-спецов?
Аватара пользователя
~AvA~
UNIверсал
 
Сообщения: 396
Зарегистрирован: 17 фев 2015, 13:09

Re: Вопросы на интервью программиста unity3d

Сообщение snezhok_13 26 янв 2017, 12:20

Я задолбался, ребята.
Мне где-то нужно дисклеймер написать? Что вы все такие нетерпимые, я же написал: не претендую на полноту, академичность. И эти вопросы, это НЕ ТЕСТ!
Это вопросы которые может задавать интервьювер и если кандидат не поймет что такое lerp - ему пояснят, что это линейная интерполяция.

Вопросы составлены безграмотно? Пожалуйста, предложите лучшие формулировки!
Почему почти все только жалуются, что они плохие, плохо сформулированы, "всё для "джунов"" и тому подобное???
Давайте зашлифуем формулировки вместе! Давайте дополним вопросы.

jetyb писал(а):
Когда GPU делает sample текстуры каким образом выбирается mipmap-уровень?

Вопрос составлен безграмотно.

Очень интересно. А какую грамотную формулировку предложите Вы?

jetyb писал(а):
Напишите матрицу поворота вокруг любой из оси

Зачем писать? 95+% разработчиков не напишут на собеседовании матрицу поворота, когда она на практике гуглится за минуту в википедии и не особо нужна.
Грамонее спросить "а вы могли бы в коде получить матрицу поворота вокруг любой из оси?".
Ответ: Matrix4x4.TRS(Vector3.zero, Quaternion.AngleAxis(angle, axe), Vector3.one).

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

jetyb писал(а):
Какие способы представления ориентации объекта вы знаете?

Смысл вопроса не понятен.

Что такое ориентация объекта в пронстранстве не понятно? Надо добавить "в пространстве" чтоли?

jetyb писал(а):В общем:
Много повторяющихся вопросов. Вопросы часто стоят не в своих категориях.
Вопросы по геометрии элементарны, по сути спрашивается про скалярное и векторное произведения, максимум - про матрицы преобразования.

Это здорово, раз вы все это знаете. Но я уверен знают немногие.
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
Аватара пользователя
snezhok_13
UNIверсал
 
Сообщения: 450
Зарегистрирован: 09 сен 2013, 11:12
Skype: s.coremission
  • Сайт

Re: Вопросы на интервью программиста unity3d

Сообщение snezhok_13 26 янв 2017, 12:22

bojlahg писал(а):Автор бы лучше ответы написал. А так согласен со многими комментаторами что многие вопросы не правильно заданы. От волнения не сообразив о чем вопрос можно и зафейлить.


Никаких ответов не хочу приводить. Или вы хотите придти куда-нибудь на собеседование, а Вам вместо беседы с техническим специалистом эйчар тест сунет.
Неправильно заданные вопросы, плз, укажите в комментариях к статье, я все поправлю.
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
Аватара пользователя
snezhok_13
UNIверсал
 
Сообщения: 450
Зарегистрирован: 09 сен 2013, 11:12
Skype: s.coremission
  • Сайт

Пред.След.

Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 18