суббота, 15 января 2011 г.

Собеседование в EA Korea

В настоящее время усиленно занимаюсь поиском работы. На неделе со мной связался hr (не из ЕА, а из левой фирмы) и предложил подать на позицию гейм-программера в EA Korea. Я решил попробовать, тем более я им напрямую писал, но безуспешно. В общем, написал согласие, и через 4 дня мне уже назначили собеседование в Сеуле.

К собеседованию не готовился, но до этого 3 дня решал задачи, которые прислали из Nexon Korea, как второй этап отбора (об этом позже). В общем, сидел до 3-х ночи 3 дня подряд и кодил на питоне и С++ :).

С небольшим опозданием, прибыл в Сеул, встретился в вышеопомянутым hrом и мы вместе пошли в офис EA. Как оказалось, у них два офиса в одном здании, один на этаж выше Oracle (ака империя зла), чтобы добраться до другого офиса, надо спуститься на первый этаж, а потом сесть в другой лифт (наверное, нагрузку балансируют).

Там встретили два корейцы средних лет, с моим распечатанным резюме и листками с задачками и провели меня в комнату для совещаний (там был большой телевизор и шкавчик, в котором лежали XBOX, PS3 и Wii + гора различных дисков). Еще hrу я сказал, что понимаю почти все на корейском, но говорить мне удобнее на английском. Интервьюверы говорили со мной на корейском, я на английском, с корейскими вставками.

После рассказа о себе на корейком (они меня попросили на корейском, чтобы оценить мой уровень), начали выдавать мне задания. Интервьюверы спрашивали если, что непонятно, а потом выходили. Так что решал я в комфортном одиночестве.

В общем заданий было 4, очень легкие, уровня первого курса ХИРЭ. Я долго не думал, и писал первоe пришедшее в голову решение. Все по программированию Си:

1. Написать реализацию int strcmp(char *s1, char *s2).
Ну эт легко и без вопросов.

2. Написать функцию bool isValidNumber(int n), где n - должен состоять из 9 цифр, и каждая цифра должна встречаться один раз.

Я решил не мудрить, перевел в строку, а потом проверил через int check_array[9], чтобы число встречалось только один раз. В итоге, они сказали, что тут надо математически вывести, а не через перевод в строку, и нашли overflow, так как я не делал декремент.

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

3. Написать функцию bool isRotation(char *s1, char* s2). В общем функцию проверяет, что "CDAB" это rotation "ABCD".

Опять решив не мудрить, я написал функцию, которая находит первый символ в другой строке, а потом в forе смотрит одинаковы ли они. Индексацию по второй строке была круговая. Как оказалось, не учел случай типа ABCА и СААВ, хотя перед решением думал об этом.

После того, как я быстро исправил, мне намекнули, что можно легко решить с помощью strcat и strstr, и спросили как. Я ответил.

4. Чему равен y в следующем коде?
struct Foo
{
int x, y, z;
};

Foo foos[50];

Foo* p1 = &foos[6];
Foo* p2 = &foos[10];
int y = p2-p1;

Я сначала подумал, что подвох какой-то есть, но ничего не нашев, ответил "ну 4". Мне ответили "Правильно, а многие нам отвечают 48, почему?". Оправившись после удивления, я посчитал им возможный ход мыслей многих (sizeof(int)*3*4).

На этом тесты закончились, и начались другие вопросы:
- Во что я играю?
- Над какими играми я хочу работать?
- Над какими компонентами я хочу работать?
...

И, наконец, настала моя очередь задавать вопросы.
Q: Сколько у вас работает иностранцев?
A: Только 2-е, корейцы из Америки. Общаются с ними сказал аналогичным со мной образом (они - на английском, к ним - на корейском). Что меня немного удивило, так как корейцы из Америки обычно хорошо знают корейский.

Q: Над каким проектами работает ваша студия?
A: Battlefield Online, Fifa Online, Some baseball Online, Some racing Online, Some game for girls Online.

Q: Используете ли вы какие-либо сторонние движки, или все in-house?
A: Все in-house.

На этом собеседование закончилось. Сказали, что свяжутся через неделю, скажут результаты.


Конечно меня сильно удивил легкий уровень задач, меня на собеседовании в program-ace мучали в раз 10 сильнее. Неужели настолько кризис с разработчиками, и остается вопросом над чем работают новобранцы, на ANSI-C чтоли кодят.

Но вскоре мне предстоят еще интервью, где мне точно мозг взорвут.
Пожелайте мне удачи :)

6 комментариев: