Re[5]: # как манагеров достали те, кого достали манагеры
От: MescalitoPeyot Украина  
Дата: 27.12.10 10:04
Оценка: +3 :)
Здравствуйте, Cyberax, Вы писали:

C>1) Проверяет знакомство с базовыми понятиями в программировании. Всё-таки представление чисел — это то, что программисты обязаны знать.


Ну я вот знаком с базовыми понятиями о представлении флоатов (еше со времен спектрумовского и x86 FPU ассемблера теоретически, пару багов с эпсилон приходилось фиксить на практике) и что помогло это мне? Черт с два, я принялся искать группу с нейтральным элементом 1. За 30 секунд на собеседовании точно не сообразил бы что от меня хотят ибо у самого в коде только + 1.0f, да и в чужом не часто +1 для флоата видишь, так что просто не проскакивает нужная ассоциация.

C>2) Это реально может встретится на практике в неожиданных контекстах. Например, в JavaScript'е.


Уже прочитал выше про JS. Содрогнулся. Хорошо что я плюсовик.

C>3) Вопрос помогает найти тех, кто способен решать проблемы, которые ВНЕЗАПНО возникают на ровном месте.


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

Еще раз: быстрые задачки несколько-ходовки определяют только имеет ли кандидат ожидаемые ассоциации, а также уровень его волнения/мотивации и, в меньшей степени, скорость мышления — если оставлено время на откат и проверку версий.
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re[5]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 10:19
Оценка: 3 (2) +4 :)
Здравствуйте, мыщъх, Вы писали:

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

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

Мее кажется, такого рода тесты очень хорошо отличают людей типа "я 20 лет уже этим гаечным ключом гайки кручу, и ничего подобного мне никогда знать было не надо" от людей, которых любопытство заставляет заглядывать за пределы своего гаечного ключа.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 10:50
Оценка:
Здравствуйте, мыщъх, Вы писали:

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

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

Мой ход рассуждений был более простым: перебираем все типы. Для целочисленных это не может быть справедливо для любого диапазона, в котором два и более значений. Следовательно код бессмысленный. С bool вопрос остался открытым (ибо любую операцию можно выразить проще). Потом рассмотрел действительный числа, где у кода хорошая смысловая нагрузка. Ну а использовать в принципе можно в какой-нить математике, в общем возможны варианты.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 10:56
Оценка:
Здравствуйте, Sap78, Вы писали:

S>Здравствуйте, Pzz, Вы писали:


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


S>
S>if(foo(myDoubleVariable))
S>{
S>//значение myDoubleVariable столь велико, что прибавление 1 тонет в округлении
S>//факт, конечно, забавный, но что с этим делать в production code - непонятно.
S>}
S>


  float sup = estimate_supremum(arg_list);
  if (can_be_used(sup))
    float_algorithm(arg_list);
  else
    general_slow_algorithm(arg_list);
Re[4]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:14
Оценка: :)
Здравствуйте, Pzz, Вы писали:

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


Те, кто работает с вычислительными задачами, осведомлены об этом еще со времен программируемых калькуляторов. В других сферах подобное знание особой ценности не имеет вообще — исключительно для тех, кто пишет числодробилки. Но они, как я уже и сказал, с детства об этом и так знают. Вменяемый человек под профессией "программер профессиональный" ознакамливается с подобными фокусами буквально за полчаса путем чтения методички, которая несомненно должна быть в конторе, которая а) занимается написанием числодробилок; б) хочет нанять себе "программиста профессионального обыкновенного".

ЗЫ: возвращаемое значение насколько я помню по-умолчанию void — в сях традиционно не указывалось, это "плюсы" всех испортили более строгим синтаксисом. В этом плане — собеседования — более интересным вопрос будет понимания разницы си и си++ и что где будет компилироваться, а что — нет. Это — более практическое знание для _программиста_. Где-то так...
Голь на выдумку хитра, однако...
Re[2]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:17
Оценка: -1
Здравствуйте, Eye of Hell, Вы писали:

EOH>

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


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


EOH>P.S. Интересно, а вы сами diamond problem наизусть помните?


Там не в переполнении фокус, а в сложении чисел сильно разной величины — крайне давно известная вычислительная проблема при работе с числами ограниченной точности. Вы всего-то не работали в этой области — мощные математические вычисления — не более того. Как я уже говорил, "даймонд проблем" вычитывается по методичке за полчаса. А вот если кто хочет реальный математический аппарат от кандидата — так это уже совсем другая история. Данная "задача" к этому отношения не имеет ни малейшего.
Голь на выдумку хитра, однако...
Re[6]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:21
Оценка: :)
Здравствуйте, Pzz, Вы писали:

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


Pzz>Ответ не верный. По крайней мере, для x86.


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

SA>>И почему бы не просить собеседуемого реализовать swap командой xor?


Pzz>Потому что ответ все знают наизусть.


Не все. Я все время забываю, когда в очередной раз на бОмажке пишу функцию разворота строки в обратную сторону.

SA>>Или там спеть, станцевать, постоять на голове, показать слона.. по степени осмысленности примерно равнозначно будет.


Pzz>Потому что в гугле нет пока циркового отделения.


А я на фото у них шары всякие видел и клоунская раскраска везде...
Голь на выдумку хитра, однако...
Re: # как манагеров достали те, кого достали манагеры
От: Michael7 Россия  
Дата: 27.12.10 11:25
Оценка:
Здравствуйте, мыщъх, Вы писали:


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


М>ВОПРОС:

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

А что про машинное эпсилон уже перестали рассказывать? Дауж. Может мне в гугль наняться, вроде чувствую еще не все из матмоделирования забыл
Re[4]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:28
Оценка: +1
Здравствуйте, мыщъх, Вы писали:

М>внимание, правильный ответ:

М>(ну может не совсем правильный, но это то, что ответил я и мне сказали -- угу, это мы и хотели бы услышать). этот код проверят -- не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой, но этот код кривой и делает это неправильно, поскольку операция сравнения с плавучкой оператором == не делаются и в продакшене этому коду не место, конечно. с другой стороны, касательно js и других языков где типы невозможно задать явно это вполне сносный способ оценки с каким типом мы имеем дело, при условии, что интерпретатор языка не будет менять типы на лету.

Можно встречный вопрос: какая практическая ценность от такой проверки — в смысле от знания, что "не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой"?

М>это было то, что ответил я. и мне сказали "угу", а "угу" это по крайней мере "уд".
Голь на выдумку хитра, однако...
Re[5]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:31
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

C>3) Вопрос помогает найти тех, кто способен решать проблемы, которые ВНЕЗАПНО возникают на ровном месте.


Причем "проблемы" специально "отфильтрованные креативными умами". И тратит на это не более 30 секунд.
Голь на выдумку хитра, однако...
Re[8]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:32
Оценка:
Здравствуйте, StandAlone, Вы писали:

SA>Все, не сдал я экзамен ни Лаптёву, ни Pzz. Бида-бида.


Бида-бида — иметь подобных умников на проекте и встречать такой код в продакшине.
Голь на выдумку хитра, однако...
Re[2]: # как манагеров достали те, кого достали манагеры
От: Michael7 Россия  
Дата: 27.12.10 11:34
Оценка:
Здравствуйте, Michael7, Вы писали:

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



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


М>>ВОПРОС:

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

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


Упс, не сразу обратил внимание, что сравнение не с 1-цей, а с a. Тогда это должно быть большое вещественное число любого знака, что-то по модулю, навскидку большее 10^12 степени, точно не вспомню сейчас, смысл, что самый младший разряд мантисы становится больше 10.

Вообще, в свое время, у нас в институте курс прикладной математики как раз начали с машинной арифметики и довольно долго мучили.
Re[6]: # как манагеров достали те, кого достали манагеры
От: The Lex Украина  
Дата: 27.12.10 11:36
Оценка: :)
Здравствуйте, Pzz, Вы писали:

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


Невероятно задалбывают такие люди почему-то. Когда ты ему говоришь, что вместо изобретения велосипеда "за пределами своего гаечного ключа" лучше бы он занялся как раз именно "гаечным ключом" — ответ... не помню. Что-то вроде "но ведь это так классно — заглядывать за пределы своего гаечного ключа!" (к)
Голь на выдумку хитра, однако...
Re[7]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 27.12.10 11:37
Оценка: +1
SA>>>Смутно вспоминается что-то про 11 бит на мантиссу и 29 на порядок.

Pzz>>Ответ не верный. По крайней мере, для x86.


TL>Да, кстати: встречал данный вопрос на собеседованиях. Вот скажите честно: кому он может понадобиться в качестве "активного знания наизусть" — кроме самого представления что там есть две части числа и знак.


конечно, вряд ли нужно знание точного кол-ва бит.
Но на собеседовании смотрят на общую адекватность, а адекватность включает в себя умение делать всякие прикидки, оценки, сэнити чеки.
Данные числа (11 бит на мантиссу и 29 на порядок) бредовы. Во-первых, они в сумме дают 40 бит, это первый звоночек. Во-вторых, 11 бит на мантиссу это 3 с половиной десятичных цифры. Ну по моему любой кто простейшим образом использовал флоаты должен понимать что 3 с половиной значащих десятичных цифры это слишком мало.
Re[5]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 27.12.10 11:44
Оценка: 3 (1) +3
TL>ЗЫ: возвращаемое значение насколько я помню по-умолчанию void — в сях традиционно не указывалось

неправильно помнишь. По умолчанию именно int.
А void в первых версиях С вообще не было. Вместо void* использовали char*
Re[5]: # как манагеров достали те, кого достали манагеры
От: Skelterer Россия  
Дата: 27.12.10 11:45
Оценка:
Здравствуйте, dilmah, Вы писали:


MX>>Гугль набирает сишников?


D>их интел купил, а не гугл


мыщх писал:
М>Знакомый манагер из Новой Империи Зла (G$$gle) под рождество совсем опечалился
Re[4]: # как манагеров достали те, кого достали манагеры
От: Sap78  
Дата: 27.12.10 11:52
Оценка:
Здравствуйте, Mystic, Вы писали:

M>
M>  float sup = estimate_supremum(arg_list);
M>  if (can_be_used(sup))
M>    float_algorithm(arg_list);
M>  else
M>    general_slow_algorithm(arg_list);
M>


Если can_be_used это foo(TYPEA a), то баги уже прут:
1) Исходя из foo's body: foo(TYPEA a){ return ((a + 1) == a); } это скорее cant_be_used для float_algorithm.

2) IMO выбор алгоритма должен осуществляться в estimate_supremum(arg_list). Уже при конвертации string -> float должно быть понятно, можно ли представить arg_list в float с достаточной точностью или нет.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 11:52
Оценка:
Здравствуйте, The Lex, Вы писали:

TL>Можно встречный вопрос: какая практическая ценность от такой проверки — в смысле от знания, что "не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой"?


Например, в MATLAB по умолчанию используется один тип float, в том числе и для индексации матриц. Соответственно, если размер массива превышает это значение, то нам нужно хотя бы предупреждение вывести, например...
Re[6]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 27.12.10 11:52
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>За 30 секунд на собеседовании точно не сообразил бы что от меня хотят ибо у самого в коде только + 1.0f, да и в чужом не часто +1 для флоата видишь, так что просто не проскакивает нужная ассоциация.


Ну так тест как раз на то, что в ЧГК называют "умение выйти из плоскости"...

MP>Ни разу. Это помогает выявить тех у кого на данное выражение возникают ассоциации сходные с таковыми у автора задачки. И всё. Более того, автор задачки мог сочинять ее полчаса или увидеть в интернете или она могла прийти ему в голову при просмотре кода т. е. данный тест вообще может быть тестом на сферичность в вакууме.


Я не согласен.
Во-вторых,
выделенный тези противоречит тому, что обсуждаемый персонаж -- автор задачки.
Во-первых, задачка как раз на то, как быстро чел начинает тупить. Типа нет решения в лоб. Нет и всё, и никто его не видит, а решение таки есть.
Так, кстати, при всяких запутанных эффектах реально бывает, что людям не хватает для решения проблемы вовсе и не званий, а некоторой незашоренности, что ли, универсальности, фантазии, наконец.
Бывают такие сверхнеожиданные баги, например, которые просто нереально трудно себе ПРЕДСТАВИТЬ, а пока не представишь -- не поймёшь.
Вот тут Кочетков недавно в этюдах игруху предлагал -- расследовать реальную проблему. И там тоже они несколько дней отделом рыли, пока не допёрли до того, как воспроизводится эффект. А ларчик просто открывался. Просто трудно было себе ВООБРАЗИТЬ, что такой ход может на что-то влиять. и это при том, что лни смотрели несколько дней в логи, где ход был хронометрирован и записан по лолям секунды...

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

Но для контроля можно аналогичную задачку из другой совсем области дать...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 27.12.10 11:58
Оценка:
Здравствуйте, The Lex, Вы писали:

TL>Вменяемый человек под профессией "программер профессиональный" ознакамливается с подобными фокусами буквально за полчаса путем чтения методички, которая несомненно должна быть в конторе, которая а) занимается написанием числодробилок; б) хочет нанять себе "программиста профессионального обыкновенного".


Э-э-э, тут вопрос про другое совсем. Вот ты не знал о том, что если взять достаточно больше число, то 1 уже не прибавится? Если не щнал, то как это может быть? Как ты себе вообще представлял работу дабла? Ну хотя бы в общих чертах? А если знал, то решил ли ты задачку за 30 сек?
Я вот решил не до конца. Я не мог вспомнить, как точно константа называется, но это потому, что я ий очень давно не пользовался...

TL>ЗЫ: возвращаемое значение насколько я помню по-умолчанию void — в сях традиционно не указывалось,

Ты помнишь всё неаерно. В С неуказанный тип был всегда int.
например:
static count = 10;


TL>это "плюсы" всех испортили более строгим синтаксисом. В этом плане — собеседования — более интересным вопрос будет понимания разницы си и си++ и что где будет компилироваться, а что — нет. Это — более практическое знание для _программиста_. Где-то так...


Нафига бы и кому нужен спец сразу по обоим языкам?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.