?

Log in

программистское - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

программистское [сент. 23, 2007|08:52 pm]
Anatoly Vorobey
Иногда я на интервью даю кандидатам одну задачу, и когда они ее почти полностью уже решают, у них оказываются известными сумма и произведение двух чисел, которые надо найти.

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

Странно это все-таки.

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

(это праздный вопрос, а не практический. Решаю в итоге все равно не я, я только подробно описываю свои впечатления от интервью и даю свою оценку)
СсылкаОтветить

Comments:
Страница 1 из 2
<<[1] [2] >>
[User Picture]From: solomon2
2007-09-23 07:01 pm
Надо нанимать только тех, кто умнее тебя самого.
(Ответить) (Thread)
[User Picture]From: bortengineer
2007-09-23 08:05 pm
+1
(Ответить) (Parent) (Thread)
From: 9000
2007-09-23 07:05 pm
Сначала прочёл "сумма или произведение" и сурово задумался.
(Ответить) (Thread)
[User Picture]From: esya
2007-09-23 07:07 pm
такую систему уравнений даже биолог решить может :)
(Ответить) (Thread)
[User Picture]From: cmm
2007-09-23 07:11 pm

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

не вспомнил.  удовлетворился умножением в цикле, благо степень по-любому целая.
(Ответить) (Thread)
From: 9000
2007-09-23 07:18 pm
Википедии под рукой не было? 8-)
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: _rowan_tree_
2007-09-23 07:11 pm
Как что делать?? Написать двойной цикл, чтобы пробовать пары значений, пока не найдешь нужную :-)
Если этого не делают, то и слава Богу! Но бывает еще, наверное, эффект интервью - как эффект экзамена. Если бы мне на экзмене 75% студентов не могли бы ответить, совсем не удивилась бы. Половина из неответивших разобрались бы в не-стрессовых условиях.
(Ответить) (Thread)
[User Picture]From: valshooter
2007-09-23 07:26 pm
Угу, особенно если числа не рациональные, а иррациональные.

Тогда придётся сравнивать не с помощью ==, а с определённой степенью точности.

Можно будет выявить уникумов, которые умеют решать уравнения численно, но не умеют решать квадратные уравнения аналитически.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: _rowan_tree_
2007-09-23 07:13 pm

Циклы - это наше всё!

Чес-слово, не видела предыдущего коммента, когда отвечала :-)))
(Ответить) (Thread)
[User Picture]From: trurle
2007-09-23 07:15 pm

Провал

х+y=a
x*y=b

x^2-ax+b=0
И вот тут я понимаю что забыл как решаются квадратные уравнения.
(Ответить) (Thread)
[User Picture]From: cmm
2007-09-23 07:16 pm

Re: Провал

аналогично.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: yakovis
2007-09-23 07:16 pm
С ужасом понял, что забыл и что это называется теорема Виета, и саму теорему.
(Ответить) (Thread)
[User Picture]From: haraz_bey
2007-09-23 10:42 pm
На самом деле, тут вполне достаточно метода подстановки, и можно не вспоминать ни про каких Виетов :)
(Ответить) (Parent) (Thread)
[User Picture]From: haraz_bey
2007-09-23 07:17 pm
Вам шашечки или ехать? :) В конце концов, нанимают же консультантов-бухгалтеров, если делают программу для бухгалтерии. А если надо решать систему уравнений, пусть нанимают консультанта-математика - он решает в общем виде, они алгоритмизируют :) Программирование в чистом виде.
(Ответить) (Thread)
From: (Anonymous)
2007-09-23 08:01 pm
Нам скорее лететь.

Тут что важно: чтобы программист а) не кидался писать код, не понимая смысла; б) чтобы у программиста хватило фантазии понять и взяться за задачу, не выглядящую как сто предыдущих задач.

И кстати, люди, которые вот так встают на дыбы и отказываются думать - вообще не годятся. Я примерно знаю, что с ними бывает через десять лет.
(Ответить) (Parent) (Thread) (Развернуть)
From: (Anonymous)
2007-09-23 07:22 pm
Хороший тест. Я б на балл снижал тут же. На хрен нужны такие кандидаты? С ними потом хрен кашу сваришь - они будут ориентироваться не на здравый смысл, а на мнение начальства.

Эх... была б моя воля, я б спрашивал ну хотя б синус двойного угла... с доказательством. :)
(Ответить) (Thread)
[User Picture]From: michk
2007-09-23 07:31 pm
Это, как говорится, зависит.
(Ответить) (Thread)
[User Picture]From: michk
2007-09-23 09:00 pm
Хотя если не знает что делать - то это значит, что он даже до квадратного уровнения не может дойти? Но тут ничего помнить не надо, кроме правил арифметики. В таком случае я бы не взял.
(Ответить) (Parent) (Thread)
[User Picture]From: yanis
2007-09-23 07:35 pm
я думаю что человек, который в принципе не может хотя бы довести это до квадратного урванения, - темен и глуп. нанимать его можно только если совсем в организации жопа с кадрами.
там где накапливается критическая масса (небольшая совсем) таких болванов, очень быстро настает пиздец
(Ответить) (Thread)
[User Picture]From: french_man
2007-09-24 12:20 am
Согласен. Еще вещи, которые не знать запрещается.
(Ответить) (Parent) (Thread)
[User Picture]From: autrement_que
2007-09-23 07:39 pm
я однажды завалила экзамен, т.к. свела задачу к геометрической прогрессии, и не смогла найти ее сумму :(
(Ответить) (Thread)
[User Picture]From: egorfine
2007-09-23 07:40 pm
дело в том, что эта задача в итоге не из ежедневной жизненной (програмистской) практики.

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

Как Джоэль писал, что вопрос, например, "сколько весит боинг" надо решать путем поиска ответа в интернете, и это будет самый практичный способ решить проблему; а кандидат, который начнет придумывать способ взвесить самолет - это человек, который тратит силы и блестяще решает несуществующую проблему, мол, такой человек не нужен в коллективе, где цели ясны.


(Ответить) (Thread)
From: 9000
2007-09-23 07:50 pm
+1

Любимый способ "измерить высоту здания с помощью барометра" -- предложить барометр коменданту здания в обмен на точную информацию о высоте.

Разумеется, есть случаи, когда надо именно взвесить некоторый уникальный аэроплан, и их тоже неплохо уметь решать. Но только тогда, когда удовлетворительного ответа в сети быть не может.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: alta_voce
2007-09-23 07:49 pm
Если есть выбор, то, конечно, таких не брать.
Слишком много глобальных глупостей происходит от таких вот, локальных.
(Ответить) (Thread)
[User Picture]From: nazarovsky
2007-09-23 08:07 pm
я немного не понял какой из трех вариантов, они не могут решить квадратное уравнение, но знают что это такое, не знают как решать квадратное уравнение или даже не могут свести это к квадратному уравнению?
(Ответить) (Thread)
[User Picture]From: bortengineer
2007-09-23 08:13 pm
Не брать. Лично я весьма либерально отношусь к знанию тех или иных технологий и языков программирования. Но элементарный математический базис должен быть. Знать что такое неподвижная точка сжимающего отображения не обязательно, но квадратные уравнения над уметь решать.
(Ответить) (Thread)
[User Picture]From: cmm
2007-09-23 08:19 pm

хехе

квадратные уравнения над уметь решать.

подумаешь, в Вашем возрасте и я умел.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: slobin
2007-09-23 08:27 pm
А ещё они латыни не знают! ;-)

... Nec tempora mutantur, sed mutamus tempora ...

(Ответить) (Thread)
[User Picture]From: vodianoj
2007-09-23 09:03 pm
Ну, абсолютно позволительно не помнить формулу корней квадратного уравнения.
Однако, человек должен быть способен хотя бы как Трурль записать квадратное уравнение.
Следующий этап, требующий немного смекалки - догадаться привести его к виду (х-d)^2 - e = 0, что в общем не очень сложно, если задаться целью.
Ну и последний этап правильно записать оба решения.
Так, что решение квадратного уравнения является не плохим тестом само по себе.
Оно требует умение разбивать сложную задачу на последовательность простых.
(Ответить) (Thread)
[User Picture]From: gaus
2007-09-23 09:21 pm
Мне кажется, что полезно несколько сместить акценты в вопросе из заглавного поста: не "cчитать ли неумение недостатком", а "считать ли умение преимуществом".

Если кандидат решает квадратное ураавнение, интересоваться каким методом оно решено. Если он/она рассказывает про "бе плюс-минус корень из дискримананта поделить на два-а" и при этом не в состоянии связно объяснить, откуда взялась эта формула, cтавим минус такой же, как если бы он/она вообще не решил(а) бы это уравнение (остаточные знания после школьной зубрёжкм ничего не стоят). Если кандидат в состоянии получить эту формулу (или решать уравнение другим методом, получив этот метод in-place), cтавим плюсик.
(Ответить) (Thread)
[User Picture]From: komar_off
2007-09-23 09:22 pm
это тут все типа умными кидаются? забавно
(Ответить) (Thread)
[User Picture]From: pingva
2007-09-23 10:08 pm
если у кандидата в резюме написано что-то вроде BS CS/EE (не говоря уж, упаси господь, Math) -- это полная клиника, мне кажется.

если монстар-самоучка-хакор -- то может и ничего страшного.

(Ответить) (Thread)
[User Picture]From: vnarod
2007-09-23 11:07 pm
При приёме на работу программиста, надо давать ему задачку по программированию. Причём на том языке, на котором он должен будет работать. Если человека берут работать на VB.NET, а спрашивают про "виртуальные функции" или про квадратные корни, то получите совсем не того, кто Вам нужен.
(Ответить) (Thread)
[User Picture]From: mummy1
2007-09-23 11:43 pm
А если думать берут?
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: mister_hide
2007-09-24 03:18 am
за все время работы мне понадобилось "из математики" только вычисление дисперсии - ну, я посмотрел в справочнике и опять забыл.

ну, естественно, я не помню курс математики за 6-й класс - ergo не гожусь в программисты?
(Ответить) (Thread)
[User Picture]From: msh
2007-09-24 04:25 am
Конечно, надо считать это серьезным недостатком! Конечно, дисквалифицируйте, другим тоже нужны программисты ;-)

На самом деле, серьезная проблема при наборе на работу это то, что интервьюеры tend to (как это по русски будет?) выбирать не "такого умного, как надо" а "такого умного, как я сам". Ну вот вы знаете математику, считаете важным и делаете на нее упор. Я считаю это неверным и необъективным и всегда стараюсь следить за собой (у меня упор в другом месте ;-) чтобы не делать этой ошибки
(Ответить) (Thread)
From: 9000
2007-09-24 06:23 am
"...склонны к"?

Надо интервью проводить двоим-троим людям с разными упорами, для компенсации.
(Ответить) (Parent) (Thread) (Развернуть)
Страница 1 из 2
<<[1] [2] >>