информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяСтрашный баг в WindowsГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модель надежности отказоустойчивой... 
 Попасть под лошадь 
 Последний спокойный день для сайтов... 
 Google по-тихому включила изоляцию... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / humor
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Я бы с тобой как обычно поспорил бы :) 21.10.08 10:50  Число просмотров: 2770
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
Собеседование - это для интервьюируваемого определенный стресс. Даже очень умный человек может растеряться от немного необычной постановки задачи и сесть в лужу, и даже полный дурак может сосредоточиться и решить недоступную его мозгам в обычных условиях задачу. Это раз.

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

Даже не в состоянии стресса (а просто спать хочется) я вот сейчас прочитав твой пост пропустил, что реверс списка должен быть за O(const) по памяти, и сильно удивился, зная, что реверс списка может быть проведен лишь за O(N) по времени. Я не дурак - просто в определенных ситуациях (скажем, человек ехал на собеседование на электричке из другого штата пять часов) может быть погрешность в работе мозгов. Погрешность эта весьма велика для большинства человек. Это три.

Человеческое мышление, еще раз, очень сложно. Вот задача со стеклянными шарами: кидаем со 100-этажного здания стеклянные шары, надо узнать начиная с какого этажа шары начнут биться. Надо найти наибыстрейший алгоритм при наличии двух шаров. Дурак пропустит мимо ушей слово "наибыстрейший", и будет кидать шары с первого, пока не дойдет до номера этажа. Потом будет чесать репу и думать зачем нужен второй шар. Математик же, зная, что множество этажей упорядочено по принципу "бьется-не бьется" и надо найти наискорейший алгоритм, кинет шар сразу по методу дихотомии с пятидесятого этажа и шар разобьется. Математик подумает, что это подъебка, и скажет, что задачу нельзя решить (я однажды так и сказал на собеседовании, не спав перед собеседованием двое суток, ибо играл в стрип-покер). Даже если математику подсказать решение, то он может отказаться от нахождения производной, ибо знает, что потом придется решать уравнение, а это чаще всего занимает много времени (если он видел задачки сложнее чем в учебнике). Это четыре.

Все задачи разноплановые. Вот лично у меня не особо хорошо мозги работают в сторону дискретной математики и вообще практически не умеют решать геометрию, зато замечательно воспринимают математику непрерывную, а так же теорию вероятностей. Задашь мне простейшую задачку по геометрии - придешь к выводу, что я полный идиот. Задашь мне весьма трудную задачу по терверу - придешь к выводу, что гениальный мальчик. А на самом деле я всего лишь посередине. То есть задание задачек - это со статистической точки зрения не совсем корректный метод оценки интеллектуального потенциала человека. Это пять.


Ну а по поводу senior php'шника, в принципе, его алгоритм безусловно плох, и я банально не верю, что у него 10 лет разработки за плечами. Однако если говорить о подходе, то если мне на собеседовании зададут написать дерево поиска, то я не буду писать АВЛ-дерево, а если зададут отсортировать массив, то я применю метод прямого выбора либо пузырька. Я знаю и о других алгоритмах, но пока у меня нет в них необходимости, я не буду их писать.

В нашей компании был такой случай - программисту надо было на КПК'шной версии продукта нарисовать кнопку со стрелочкой ">". Так как экран можно "перевернуть", то и знак на кнопке можно перевернуть. За четрые дня он написал алгоритм преобразования битмапы используя умножение на матрицу (он слегка подзабыл теорию, поэтому провозился долго). Скажем, даже если бы это было эффективней, чем подставить бникодовский символ в кнопочку, или уж если работать с битмапой, то просто сделать тупо в цикле ряд swap-пов, это все равно плохое решение. Потому что долгое и неоправданно сложное. Поэтому стремление программиста всегда найти "лучшее" решение меня лично очень настораживает.
<humor> Поиск 








Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2018 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach