# как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 26.12.10 00:38
Оценка: 3 (2) -10 :)))
Знакомый манагер из Новой Империи Зла (G$$gle) под рождество совсем опечалился, потому как Самый Главный Злодей (HR) бьется головой об стену и просит в качестве выходного пособия выдать ему веревку и ведро мыло.

А все потому что претендентам на Senior C/C++, Senior Java, Senior JavaScript, etc... было предложено следующее задание в стиле "блиц" для решения на бумаге за 30 сек.

Привожу вариант для сишников:

foo(TYPEA a){ return ((a + 1) == a); }

1) определить TYPEA;
2) объяснить смысловую нагрузку данного кода;
3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;
hint: ЦП без багов, язык ансишный, по стандарту.


вариант для JS отличался только тем, что там нету TYPEA

function foo(a){ return ((a + 1) == a); }

ВОПРОС:
Как вы считаете, сколько кандидатов прошло тест даже когда им предоставили комп и минут с полчаса для раздумий и экспериментрв?

ЗЫ. Действие происходило в долине сисек.

ЗЫ.ЗЫ. и это не индусы.

ЗЫ.ЗЫ.ЗЫ. а вы говорите, что за рубежом наших спецов не надо. уверен, что тут на форуме это решат влет (у меня ушло ~5 сек)
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re: # как манагеров достали те, кого достали манагеры
От: -MyXa- Россия  
Дата: 26.12.10 01:25
Оценка:
Про ведро мыло не понятно. Остальное довольно просто.
Если не поможет, будем действовать током... 600 Вольт (C)
Re: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.12.10 01:30
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>ЗЫ.ЗЫ.ЗЫ. а вы говорите, что за рубежом наших спецов не надо. уверен, что тут на форуме это решат влет (у меня ушло ~5 сек)


Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).

Для bool'ов тоже должно работать, но смысл не улавливается.
Re[2]: # как манагеров достали те, кого достали манагеры
От: -MyXa- Россия  
Дата: 26.12.10 01:57
Оценка: -1
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, мыщъх, Вы писали:


М>>ЗЫ.ЗЫ.ЗЫ. а вы говорите, что за рубежом наших спецов не надо. уверен, что тут на форуме это решат влет (у меня ушло ~5 сек)


Pzz>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).


Не обязательно велико. При сильно мало тоже. Но и это ещё не всё.

Pzz>Для bool'ов тоже должно работать, но смысл не улавливается.
Если не поможет, будем действовать током... 600 Вольт (C)
Re[2]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 26.12.10 02:12
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, мыщъх, Вы писали:


М>>ЗЫ.ЗЫ.ЗЫ. а вы говорите, что за рубежом наших спецов не надо. уверен, что тут на форуме это решат влет (у меня ушло ~5 сек)


Pzz>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).

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

Pzz>Для bool'ов тоже должно работать, но смысл не улавливается.

на си есть bool?
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[3]: # как манагеров достали те, кого достали манагеры
От: -MyXa- Россия  
Дата: 26.12.10 02:33
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>на си есть bool?


Гугль набирает сишников?
Если не поможет, будем действовать током... 600 Вольт (C)
Re[3]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 26.12.10 02:53
Оценка:
Здравствуйте, мыщъх, Вы писали:


Pzz>>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).

М>вот видите. все просто.
То есть проверяется опыт работы с вещественными?
Re[4]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 26.12.10 02:59
Оценка: 2 (2) +9
Pzz>>>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).
М>>вот видите. все просто.
Z_>То есть проверяется опыт работы с вещественными?
Имхо кто-то выпендривается.
Re: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 26.12.10 03:02
Оценка: 2 (2) +8
М>Привожу вариант для сишников:
М>foo(TYPEA a){ return ((a + 1) == a); }

М>1) определить TYPEA;

М>2) объяснить смысловую нагрузку данного кода;
М>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;
М>hint: ЦП без багов, язык ансишный, по стандарту.

Практическая ценность сего вопроса?

ЗЫ. Где return type?
Re[4]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 26.12.10 03:03
Оценка:
MX>Гугль набирает сишников?

их интел купил, а не гугл
Re[2]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 26.12.10 03:10
Оценка: -3
Здравствуйте, Олег К., Вы писали:

М>>Привожу вариант для сишников:

М>>foo(TYPEA a){ return ((a + 1) == a); }

М>>1) определить TYPEA;

М>>2) объяснить смысловую нагрузку данного кода;
М>>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;
М>>hint: ЦП без багов, язык ансишный, по стандарту.
ОК>Практическая ценность сего вопроса?
ОК>ЗЫ. Где return type?
Имхо кто-то выпендривается.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Олег К.  
Дата: 26.12.10 03:55
Оценка:
М>>>Привожу вариант для сишников:
М>>>foo(TYPEA a){ return ((a + 1) == a); }

М>>>1) определить TYPEA;

М>>>2) объяснить смысловую нагрузку данного кода;
М>>>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;
М>>>hint: ЦП без багов, язык ансишный, по стандарту.
ОК>>Практическая ценность сего вопроса?
ОК>>ЗЫ. Где return type?
Z_>Имхо кто-то выпендривается.
Вопрос кто?
Re: # как манагеров достали те, кого достали манагеры
От: Pavel_Agurov Россия  
Дата: 26.12.10 06:51
Оценка: 16 (7) +23 -1
М>А все потому что претендентам на Senior C/C++, Senior Java, Senior JavaScript, etc... было предложено следующее задание в стиле "блиц" для решения на бумаге за 30 сек.
М>Привожу вариант для сишников:
М>foo(TYPEA a){ return ((a + 1) == a); }
М>1) определить TYPEA;
М>2) объяснить смысловую нагрузку данного кода;
М>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;

Смысла в этом 0. За такие вопросы на интервью нужно выгоднять манагеров, а не претендентов.
Это из серии — быстро в уме подсчитайте что будет после ++i--i++i--++ или (*p++)-- и
подобный удивительные конструкции. Да это можно в С++, да бывает нужно — ну так и код
тогда должен быть соответствующий.

Тип тут придумать можно. Смысловая нагрузка как-то теряется.

Встречный вопрос — зачем и кто придумал писать код так, чтобы у другого этот код вызывал
размышнения даже на 30 сек? Пишите по-человечески! Так чтобы при чтении кода не возникал вопрос WTF!


P.S. Я манагер. Такие вопросы не задавал и никогда не буду.
Re[2]: # как манагеров достали те, кого достали манагеры
От: Sap78  
Дата: 26.12.10 07:08
Оценка: 1 (1) +3
Здравствуйте, Pzz, Вы писали:

Pzz>Ну осмысленным этот код выглядит, если TYPEA — float или double (проверяет, что значение столь велико, что прибавление 1 тонет в округлении).


Для меня этот код не выглядит осмысленным, даже если TYPEA — float или double.

if(foo(myDoubleVariable))
{
//значение myDoubleVariable столь велико, что прибавление 1 тонет в округлении
//факт, конечно, забавный, но что с этим делать в production code - непонятно.
}
Re: # как манагеров достали те, кого достали манагеры
От: Finder_b  
Дата: 26.12.10 07:19
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>Привожу вариант для сишников:


М>foo(TYPEA a){ return ((a + 1) == a); }


М>1) определить TYPEA;

Double, long double или float

М>2) объяснить смысловую нагрузку данного кода;

Проверка на то превысило ли число допустимый диапазон? Фигня какая то, для финансов надо использовать фиксированную точку или десятичные цифры, для остальной математики не имеет смысла.

М>3) назвать (без компьютера) хотя бы одно 'a' при котором условие истинно;

Бесконечность? Её вроде можно было сравнивать на равенство.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.12.10 08:57
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>вот видите. все просто. но люди режутся на этом только так. кстати, вы число не назвали для которого это выражение истино. а на размышления 30 сек и под рукой только бумага и авторучка.


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

Pzz>>Для bool'ов тоже должно работать, но смысл не улавливается.

М>на си есть bool?

на c99 есть
Re[4]: # как манагеров достали те, кого достали манагеры
От: ylem  
Дата: 26.12.10 09:15
Оценка: :)))
Pzz>чтобы назвать число, человек должен знать, как плавучка внутри себя устроена. думаю, современные соискатели

Гыы, плавучка
Re: # как манагеров достали те, кого достали манагеры
От: SE Украина  
Дата: 26.12.10 09:16
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>вариант для JS отличался только тем, что там нету TYPEA


М>function foo(a){ return ((a + 1) == a); }


1) В С не силен, потому для жабаскрипта.
2) Проверка на NaN, к примеру
3) NaN

А манагера за шкирку и на улицу за такие задачки. Или дать таки ведро мыла.
Re: # как манагеров достали те, кого достали манагеры
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 26.12.10 09:22
Оценка: +5 -3

А все потому что претендентам на Senior C/C++, Senior Java, Senior JavaScript, etc... было предложено следующее задание в стиле "блиц" для решения на бумаге за 30 сек.


Я Senior C/C++. Задачу не решил, потому как ни разу за более чем пятнадцатилетнюю карьеру не пытался переполнить float. Доктор, что я делаю не так?

P.S. Интересно, а вы сами diamond problem наизусть помните?
Re[4]: # как манагеров достали те, кого достали манагеры
От: StandAlone  
Дата: 26.12.10 09:30
Оценка:
Здравствуйте, Pzz, Вы писали:

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


Смутно вспоминается что-то про 11 бит на мантиссу и 29 на порядок.

Интересно, массовый уход сотрудников из Гугла начался до или после введения этих задачек?
И почему бы не просить собеседуемого реализовать swap командой xor?
Или там спеть, станцевать, постоять на голове, показать слона.. по степени осмысленности примерно равнозначно будет.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.