О собеседованиях программистов
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 18.02.11 23:31
Оценка: 59 (11) +9 -4 :))) :)
Читал очередной псто на тему "байки интервьюеров" и задался вопросом: а вот почему на 99% собеседований на программистов в РФ людей спрашивают:
Как отсортировать массив
Как объявить хитровывернутый указатель на хитровывернутый массив функций
Как называется какой-нибудь редкоиспользуемый exception из недр std
Сколько параметров у IoCreateFile()
и т.п.
но никто, никто, чёрт возьми, не задает такие вопросы, как:
Как бы Вы разбили эту задачу на адекватные подзадачи, чтобы минимизировать риски
Как бы организовали систему тестов, если бы пришлось разрабатывать такую-то систему
Как бы пошагово локализовывали такой-то баг в некоторой системе
Даже при собеседовании на архитекторские позиции с большей вероятности будут вопросы а-ля назовите 15 паттернов за 10 секунд и чочо обозначает мохнато-пунктирная линия в UML, чем опять-таки умение оценивать проблему и разбивать "неохватываемое" решение на реалистичные шаги.
Может быть, в этом причина того, что работать приходят сплошные задроты, зазубрившие учебник, а люди, способные думать, уходят из индустрии, либо садятся в трактор?
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re: О собеседованиях программистов
От: AlexFox  
Дата: 19.02.11 00:10
Оценка: 6 (3) +3
Здравствуйте, Wissenschaftler, Вы писали:

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

P.S. Последний свежий "прикол" на эту тему. Контора пересаживается с VSS 6 версии на CVS. Уж пересели бы на VSS 2005.
Глупо и безграмотно.
Re: О собеседованиях программистов
От: Lloyd Россия  
Дата: 19.02.11 00:16
Оценка:
Здравствуйте, Wissenschaftler, Вы писали:

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


Потому что правильность ответов на такие вопросы проще проверить. На чуть более сложных вещах уже нельзя однозначно сказать, правильный ответ или нет; более того, правильными могут быть прямо-противоположные ответы.
Re: О собеседованиях программистов
От: мыщъх США http://nezumi-lab.org
Дата: 19.02.11 00:42
Оценка: 14 (4) +3
Здравствуйте, Wissenschaftler, Вы писали:

W>Читал очередной псто на тему "байки интервьюеров" и задался вопросом: а вот почему на 99% собеседований на программистов в РФ людей спрашивают:

W>Как отсортировать массив
-- а почему 99% людей перечисляют в резюме все языки о которых они когда-то слышали?
-- а почему 99% людей пишут си и плюсы через слеш, при этом не представляя чем они отличаются?
-- а почему 99% людей обижаются когда их просят еще раз перечислить свои знания и навыки не подглядывая в резюме?

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

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


W>Как объявить хитровывернутый указатель на хитровывернутый массив функций

W>Как называется какой-нибудь редкоиспользуемый exception из недр std
W>Сколько параметров у IoCreateFile()
тут еще следует учесть, что собеседование это как X-лучи, зондирующие кандидата. ответ "не знаю" это не приговор, это лишь информация к размышлению -- что курит кандидат и как его заюзать.


W>и т.п

W>но никто, никто, чёрт возьми, не задает такие вопросы, как:
W>Как бы Вы разбили эту задачу на адекватные подзадачи, чтобы минимизировать риски
почему не задают таких вопросов. задают. но это как бы в другой плоскости совсем.

W>Как бы организовали систему тестов, если бы пришлось разрабатывать такую-то систему

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

W>Как бы пошагово локализовывали такой-то баг в некоторой системе

поиск багов -- это так же отдельная большая тема.

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

W> а люди, способные думать, уходят из индустрии, либо садятся в трактор?
что они забыли за трактором? а индустрии по в рф нет. именно индустрии. программисты есть, а индустрии нет.
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[2]: О собеседованиях программистов
От: ettcat США  
Дата: 19.02.11 03:45
Оценка: 1 (1) +3
L>Потому что правильность ответов на такие вопросы проще проверить. На чуть более сложных вещах уже нельзя однозначно сказать, правильный ответ или нет; более того, правильными могут быть прямо-противоположные ответы.

По моему это как раз плюс таким вопросам — можно послушать как кандидат рассуждает и сделать выводы. Правильные ответы и заучить можно, а вот рассуждать самому придется.
Re[2]: О собеседованиях программистов
От: Klatu  
Дата: 19.02.11 04:42
Оценка: +3
Здравствуйте, Lloyd, Вы писали:

L>Потому что правильность ответов на такие вопросы проще проверить.


А толку от правильности, если в 99,9% случаев этот ответ вызубрен?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: О собеседованиях программистов
От: Klatu  
Дата: 19.02.11 04:42
Оценка: -2
Здравствуйте, Wissenschaftler, Вы писали:

W>Читал очередной псто на тему "байки интервьюеров" и задался вопросом: а вот почему на 99% собеседований на программистов в РФ людей спрашивают:


Это не только в РФ. Просто в буржуиндии вопросы немного другие.
Типа
— сколько полосок у зебры
— почему дырка от бублика круглая
И так далее.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 19.02.11 05:03
Оценка:
Здравствуйте, Klatu, Вы писали:

L>>Потому что правильность ответов на такие вопросы проще проверить.


K>А толку от правильности, если в 99,9% случаев этот ответ вызубрен?


Пока вопросы задает человек, зубрить особого смысла нет, т.к. поверхностность все равно быстро вскроется.
Но в данном случае, мне кажется, обсуждается другая проблема.
Re[4]: О собеседованиях программистов
От: Klatu  
Дата: 19.02.11 05:05
Оценка:
Здравствуйте, Lloyd, Вы писали:

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


Ой святая простота
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: О собеседованиях программистов
От: De-Bill  
Дата: 19.02.11 05:16
Оценка: +2
W>Как отсортировать массив
W>Как объявить хитровывернутый указатель на хитровывернутый массив функций
W>Как называется какой-нибудь редкоиспользуемый exception из недр std
W>Сколько параметров у IoCreateFile()

Никогда не спрашивали.

W>Как бы Вы разбили эту задачу на адекватные подзадачи, чтобы минимизировать риски


90% программистов не умеет толком оценить сроки, а ты про риски. Тем более, что риски — это уровень ответственности лида и менеджера, а не программиста.

W>Как бы организовали систему тестов, если бы пришлось разрабатывать такую-то систему


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

W>Как бы пошагово локализовывали такой-то баг в некоторой системе


Плохой вопрос. Простые ситуации обсуждать не имеет смысла, а для сложных ситуаций собеседования не достаточно. В любом случае, локализация сложных багов — скорее череда проб и ошибок, чем последовательность определённых действий, которая приведёт к результату. Как-то поучаствовал в поиске бага, на который в общей сложности был потрачен приблизительно 6-9 человеко-месяцев.
Re[5]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 19.02.11 05:23
Оценка:
Здравствуйте, Klatu, Вы писали:

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


K>Ой святая простота


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

Если же у вас другое понимание понятия "вызубренный", то было бы неплохо его услышать.
Re[6]: О собеседованиях программистов
От: Klatu  
Дата: 19.02.11 05:51
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>В рамках этого определения "разоблачить" такого человека очень легко. Или вы считаете иначе?


Чтобы разоблачить такого человека, надо самому отойти от шаблонных вопросов и ответов. Придумывать для каждого уникальные вопросы ты замучаешься, а если они будут не уникальными... ну ты понял.
Именно поэтому вопросы такого типа не работают
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 19.02.11 05:55
Оценка: 1 (1) +1 :)
Здравствуйте, Klatu, Вы писали:

L>>В рамках этого определения "разоблачить" такого человека очень легко. Или вы считаете иначе?


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


Вы в институте учились? У вас когда экзамены принимали ни разу не просили подробнее объяснить детали или не просили привести док-во использованной теоремы?
И это никак не противоречило тому, что список билетов был изначально известен.

Вот и тут то же сам

K>Именно поэтому вопросы такого типа не работают
Re[8]: О собеседованиях программистов
От: Klatu  
Дата: 19.02.11 06:06
Оценка: +2
Здравствуйте, Lloyd, Вы писали:

L>И это никак не противоречило тому, что список билетов был изначально известен.


И никак не мешало зубрилам.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 19.02.11 06:09
Оценка:
Здравствуйте, Klatu, Вы писали:

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


L>>И это никак не противоречило тому, что список билетов был изначально известен.


K>И никак не мешало зубрилам.


Видимо у нас слишком разный специальности. Я по образованию математик, там зубрить, имхо, затруднительно. Понять и запомнить — проще.
Re: [img] О собеседованиях программистов
От: 0rc Украина  
Дата: 19.02.11 06:13
Оценка: :))) :)
Здравствуйте, Wissenschaftler, Вы писали:

W>и задался вопросом: а вот почему


  Скрытый текст
Re: О собеседованиях программистов
От: elmal  
Дата: 19.02.11 06:46
Оценка: 20 (7) +4
Здравствуйте, Wissenschaftler, Вы писали:

W>Даже при собеседовании на архитекторские позиции с большей вероятности будут вопросы а-ля назовите 15 паттернов за 10 секунд и чочо обозначает мохнато-пунктирная линия в UML, чем опять-таки умение оценивать проблему и разбивать "неохватываемое" решение на реалистичные шаги.

На деле все просто. Представим себя с позиции типичного интервьюера в крупной компании. И мы видим, что:
1) у интервьюера есть список вопросов, которые нужно задать, на основании которых будет определяться крутизна кандидата. Также есть бумажка, где сверху спущено, что можно задавать, а что нет, как себя вести и тому подобное. Все формализованно, все правильно, все по процессу;
2) зачастую сами интервьюеры это собеседование не проходили, их взяли по знакомству, не сомневаясь в их высокой квалификации. Нет, погоняли конечно чуток, но так, больше для вида. Нормально знать ответы на вопросы, которые они задают, они стали только проведя n-е количество собеседований. Как только запомнят ответы на эти вопросы (а запоминаются они быстро), они начинают искренне считать, что родились с тайным знанием, а кандидаты сплошь идиоты. При этом если им задать самому нестандартный вопрос (из другой бумажки) — будут плавать. Правда бумажка похожая во всех конторах, запросто можно найти другую контору, где бумажка такая же, и сразу посчитаться там мегагуру .

Ну и в заключении, смех в том, что сам интервьюер не знает, куда и для чего он собеседует человека. От него единственное, что требуется, это проставить абстрактные оценки по знаниям конкретных баззвордов. Типа процесс и все такое, все должно быть формализовано. А ответ на главный вопрос — будет ли человек хорошо работать, будет ли он нормально решать рабочие проблемы, этого пока в мегапроцессах не предусмотрено, да и не нужно это — посадят потом говнокод разгребать, и пусть педалит, пока не надоест до такой степени, что желание поскорее свалить пересилит нежелание портить трудовую частой сменой работы. Пока то рабочих мест для разработчиков мало, а кандидатов много, дисбаланс, особой квалификации не требуется, нужен винтик, так что фильтровать можно как угодно, качество не пострадает.
Re[10]: О собеседованиях программистов
От: Klatu  
Дата: 19.02.11 07:20
Оценка: +1
Здравствуйте, Lloyd, Вы писали:

L>Видимо у нас слишком разный специальности. Я по образованию математик, там зубрить, имхо, затруднительно. Понять и запомнить — проще.


Видимо, ты просто не сталкивался с настоящими мастерами зубрежки. Объем памяти у них отличный, только с самостоятельным мышлением проблемы.
Но и на собеседованиях подавляющее большинство вопросов шаблонны. Поищи тут темы типа "завтра надо проводить собеседование, подскажите хорошие задачки"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 19.02.11 07:27
Оценка:
Здравствуйте, Klatu, Вы писали:

L>>Видимо у нас слишком разный специальности. Я по образованию математик, там зубрить, имхо, затруднительно. Понять и запомнить — проще.


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


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

K>Но и на собеседованиях подавляющее большинство вопросов шаблонны. Поищи тут темы типа "завтра надо проводить собеседование, подскажите хорошие задачки"


Это только отправные точки, от которых можно вести беседу. Никто же не заставляет интервьюера придерживаться только этих вопросов.
У меня конечно не ахти какой опыт, но какой-никакой опыт был, причем с обоих сторон, и никто никогда не следовал догматично списку вопросов.
Хотя, не исключаю, что мне просто везло.
Re[12]: О собеседованиях программистов
От: Klatu  
Дата: 19.02.11 07:45
Оценка:
Здравствуйте, Lloyd, Вы писали:

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


Никто не заставляет, но как правило все схемы шаблонны. Потому что с другой стороны стола сидит такой же зубрила.
Почитай например "как передвинуть Фудзи", насколько у M$ на собеседовании всё жестко формализовано и шаблонизировано, вплоть до психологических ролей интервьюеров.
У них довольно небольшой пул задач, которые время от времени обновляют. И есть целые блоги со списками задач и ответов, которые популярны в текущем сезоне, чтобы индусам было проще зубрить

L>У меня конечно не ахти какой опыт, но какой-никакой опыт был, причем с обоих сторон, и никто никогда не следовал догматично списку вопросов.


За добрую полсотню раз, когда я ходил на собеседования, адекватное было только 1 (один) раз. И то — в очень маленькую конторку.
А в подавляющем большинстве случаев хрюши и тимлиды просто копипастят чужие схемы и списки задач, чтобы "всё было как у людей"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 19.02.11 07:49
Оценка:
Здравствуйте, Klatu, Вы писали:

L>>У меня конечно не ахти какой опыт, но какой-никакой опыт был, причем с обоих сторон, и никто никогда не следовал догматично списку вопросов.


K>За добрую полсотню раз, когда я ходил на собеседования, адекватное было только 1 (один) раз. И то — в очень маленькую конторку.

K>А в подавляющем большинстве случаев хрюши и тимлиды просто копипастят чужие схемы и списки задач, чтобы "всё было как у людей"

Значит мне просто везло. Полсотни у меня конечно не наберется, но десятка полтора — это точно. Строго по спискам — вообще практически ни одного не было, а неадекватных можно было по пальцам одной руки пересчитать.
Re[14]: О собеседованиях программистов
От: Klatu  
Дата: 19.02.11 07:53
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Значит мне просто везло. Полсотни у меня конечно не наберется, но десятка полтора — это точно. Строго по спискам — вообще практически ни одного не было, а неадекватных можно было по пальцам одной руки пересчитать.


Тут все зависит от личного взгляда. Многие например пищат в восторге от майкрсофтовского собеседования, а на мой взгляд — оно чудовищно неудачно.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: О собеседованиях программистов
От: kosmik Россия http://www.linkedin.com/in/kosmik
Дата: 19.02.11 08:32
Оценка:
Здравствуйте, Wissenschaftler, Вы писали:

W>Читал очередной псто на тему "байки интервьюеров" и задался вопросом: а вот почему на 99% собеседований на программистов в РФ людей спрашивают:

W>Как отсортировать массив
W>Как объявить хитровывернутый указатель на хитровывернутый массив функций
W>Как называется какой-нибудь редкоиспользуемый exception из недр std
W>Сколько параметров у IoCreateFile()\

IMHO имеет смысл проверять _как_минимум_ базовый навык программиста, без достаточного уровня которого нет смысла брать человека вообще: умение писать код. Умеет писать код — можно о чем-то говорить, не умеет писать код — смысл говорить об архитектуре (я так понимаю что речь идет о найме программиста, а не выделенного архитектора)?

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

W>и т.п.

W>но никто, никто, чёрт возьми, не задает такие вопросы, как:
W>Как бы Вы разбили эту задачу на адекватные подзадачи, чтобы минимизировать риски
W>Как бы организовали систему тестов, если бы пришлось разрабатывать такую-то систему
W>Как бы пошагово локализовывали такой-то баг в некоторой системе

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

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


Это сильное утверждение, я бы не стал его делать даже при 99% отказов. Может быть это неправильно позиционирование на рынке труда, например.
Re: О собеседованиях программистов
От: minorlogic Украина  
Дата: 19.02.11 08:32
Оценка: 1 (1) +2
Зря вы обобщаете, вы же не были на всех собеседованиях.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[6]: О собеседованиях программистов
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 19.02.11 08:39
Оценка: +2
Здравствуйте, Lloyd, Вы писали:

L>Если же у вас другое понимание понятия "вызубренный", то было бы неплохо его услышать.

Получивший знания, достаточные для идеального ответа на вопросы интервюьера, но не достаточные для решения практических задач.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[7]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 19.02.11 08:41
Оценка:
Здравствуйте, Wissenschaftler, Вы писали:

L>>Если же у вас другое понимание понятия "вызубренный", то было бы неплохо его услышать.

W>Получивший знания, достаточные для идеального ответа на вопросы интервюьера, но не достаточные для решения практических задач.

На любые вопросы интервьюера?
Re[2]: О собеседованиях программистов
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 19.02.11 08:47
Оценка: 1 (1)
Здравствуйте, minorlogic, Вы писали:

M>Зря вы обобщаете, вы же не были на всех собеседованиях.

За время получения откоса от армиивысшего образования в РФ, успел поработать в трех с половиной конторах и пройти около 10 собеседований. Везде, где собеседование проводили технари, вопросы были тупо-синтаксические. В одном случае собеведование проводил техдир (контора состояла из 5 человек) и вопрос был "у нас есть конкретная задача, как быстро сможешь решить, и как нас убедишь, что не сорвешь сроки". В итоге, оказалось самое адекватное место.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[3]: О собеседованиях программистов
От: minorlogic Украина  
Дата: 19.02.11 09:01
Оценка:
Здравствуйте, Wissenschaftler, Вы писали:

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


M>>Зря вы обобщаете, вы же не были на всех собеседованиях.

W>За время получения откоса от армиивысшего образования в РФ, успел поработать в трех с половиной конторах и пройти около 10 собеседований. Везде, где собеседование проводили технари, вопросы были тупо-синтаксические. В одном случае собеведование проводил техдир (контора состояла из 5 человек) и вопрос был "у нас есть конкретная задача, как быстро сможешь решить, и как нас убедишь, что не сорвешь сроки". В итоге, оказалось самое адекватное место.

если 1 из 10 контор с адекватным подходом это замечательно. Потому что процент контор с аутсорсом, веб шлепанием , БД формами, непрофильное програмирование и т.п. может быть гораздо выше. А там другая бизнес модель , там не требуются специалисты.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: О собеседованиях программистов
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 19.02.11 09:03
Оценка:
Здравствуйте, мыщъх, Вы писали:

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

Вот мне тоже так показалось.

W>>Как бы организовали систему тестов, если бы пришлось разрабатывать такую-то систему

М>такие вопросы в приличных домах решаются на высоком политическом уровне и если каждый программист даже в небольшой компании начнет разрабатывать что-то свое это будет такой бардак, что ой-ой-ой. тестирование это отдельное направление вообще-то.
Согласен, но за годы разработки у человека появляется опыт, позволяющий делать многие вещи эффективно. А современная российская система рекрутинга этот опыт игнорирует, ранжируя людей вместо этого по количеству заученных функций, что потом сказывается на качестве продукта. Плюс, получается, что инвестировать собственное время в работу программистом глупо, так как полученный опыт никому не будет нужен и профессионального роста как такового не будет.

W>>Как бы пошагово локализовывали такой-то баг в некоторой системе

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

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

W>> а люди, способные думать, уходят из индустрии, либо садятся в трактор?
М>что они забыли за трактором? а индустрии по в рф нет. именно индустрии. программисты есть, а индустрии нет.
Индустрию? Я про этот трактор (если вылезет forbidden, перезагрузи страницу, чтобы обнулить Referrer), если чо.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[8]: О собеседованиях программистов
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 19.02.11 09:04
Оценка: +1
Здравствуйте, Lloyd, Вы писали:

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


L>>>Если же у вас другое понимание понятия "вызубренный", то было бы неплохо его услышать.

W>>Получивший знания, достаточные для идеального ответа на вопросы интервюьера, но не достаточные для решения практических задач.

L>На любые вопросы интервьюера?

На предсказуемые, исходя из опыта других собеседований и прочей доступной информации.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[4]: О собеседованиях программистов
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 19.02.11 09:05
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>если 1 из 10 контор с адекватным подходом это замечательно. Потому что процент контор с аутсорсом, веб шлепанием , БД формами, непрофильное програмирование и т.п. может быть гораздо выше. А там другая бизнес модель , там не требуются специалисты.

К счастью, в области kernel-mode хардкора и мелкого embedded ситуация немного лучше, чем в области веб-форм.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[3]: О собеседованиях программистов
От: Andrey.V.Lobanov  
Дата: 19.02.11 10:41
Оценка:
Здравствуйте, Wissenschaftler, Вы писали:

W>>>Как бы организовали систему тестов, если бы пришлось разрабатывать такую-то систему

М>>такие вопросы в приличных домах решаются на высоком политическом уровне и если каждый программист даже в небольшой компании начнет разрабатывать что-то свое это будет такой бардак, что ой-ой-ой. тестирование это отдельное направление вообще-то.
W>Согласен, но за годы разработки у человека появляется опыт, позволяющий делать многие вещи эффективно.
ну какие годы разработки! заходишь в соседний подфорум с объявами, и что там? посмотрел три верхние — 1-2-3 года требуют.
Re[3]: О собеседованиях программистов
От: MescalitoPeyot Украина  
Дата: 19.02.11 11:08
Оценка:
Здравствуйте, Wissenschaftler, Вы писали:

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


W>За время получения откоса от армиивысшего образования в РФ, успел поработать в трех с половиной конторах и пройти около 10 собеседований. Везде, где собеседование проводили технари, вопросы были тупо-синтаксические. В одном случае собеседование проводил техдир (контора состояла из 5 человек) и вопрос был "у нас есть конкретная задача, как быстро сможешь решить, и как нас убедишь, что не сорвешь сроки". В итоге, оказалось самое адекватное место.


Не вижу никакой разницы между собеседованием построенным на "тупых синтаксических вопросах" и собеседованием построенным на "трындеже". В обоих случаях результат собеседования будет в некоторой степени коррелировать со сферическим "качеством программиста", но отнюдь не стопроцентно. В первом случае можно обломать всяких нестандартно мыслящих и универсалов, зато взять студенто-подобного зубрилу (язык знает, программировать не умеет). Во-втором можно отвергнуть хорошего технаря до мозга костей, зато взять профессионального трындежника. С тем же успехом можно просто тест IQ давать на входе или brainbench или через студентку 2-го курса психфака и разговоры "за жисть" пропускать.

Короче, двухфазное собеседование рулит. На входе — тесты или виртуальный деструктор, на выходе — трындеж.
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re: О собеседованиях программистов
От: Ромашка Украина  
Дата: 19.02.11 12:00
Оценка: 3 (3)
19.02.2011 1:31, Здравствуйте, Wissenschaftler:
> вот почему на 99% собеседований на программистов в РФ людей спрашивают:
> но никто, *никто*, чёрт возьми, не задает такие вопросы, как:

Ты неправильно выбираешь вакансии. Спрашивают и так и так. По вакансии
обычно видно кого ищут — зубрилу или программиста. Да, вторых исчезающе
мало, но они есть.

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

> зазубрившие учебник, а люди, способные думать, уходят из индустрии, либо
> садятся в трактор?

Нет. Из индустрии уходят потому, что культура (бизнеса вообще и
разработки в частности) на нуле. И берут задротов именно поэтому — при
сложившейся культуре нормальные люди просто не нужны. И это касается не
только программистов -- обратите внимание какие "профессионалы" вас
окружают, например, в банках.
Posted via RSDN NNTP Server 2.1 beta


Всё, что нас не убивает, ещё горько об этом пожалеет.
Re: О собеседованиях программистов
От: MasterZiv СССР  
Дата: 19.02.11 13:13
Оценка: -1
On 19.02.2011 2:31, Wissenschaftler wrote:

> но никто, *никто*, чёрт возьми, не задает такие вопросы, как:


Ну меня например на собеседованиях спрашивали что-то такое.
И я иногда спрашиваю.

А "Как отсортировать массив" и "Как объявить хитровывернутый указатель"
-- это основы, их надо проверять, чтобы идти дальше. Если этого
нет -- остальное спрашивать бессмысленно. Ну и разумеется,
если чел. что-то там незначительное забыл -- это не так и важно.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: О собеседованиях программистов
От: MasterZiv СССР  
Дата: 19.02.11 13:15
Оценка: 3 (2) +4 -1 :))
On 19.02.2011 3:10, AlexFox wrote:

> P.S. Последний свежий "прикол" на эту тему. Контора пересаживается с VSS 6

> версии на CVS. Уж пересели бы на VSS 2005.
> Глупо и безграмотно.

Даже говёный замшелый CVS лучше в 100 раз самого разнового VSS-а.
Posted via RSDN NNTP Server 2.1 beta
Re: О собеседованиях программистов
От: UA Украина  
Дата: 19.02.11 13:53
Оценка:
Здравствуйте, Wissenschaftler, Вы писали:

Это такой себе FireWall для неизвестных людей с улици в основном для студентов, так как кроме них никто в такие конторы не ломится, а с опытом проходят по знакомству — типа убеди нас что ты мегакрутой перец и достоен работать с нами за копейки.
Re[2]: О собеседованиях программистов
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 19.02.11 14:00
Оценка: 4 (4) +10
Здравствуйте, MasterZiv, Вы писали:

MZ>А "Как отсортировать массив" и "Как объявить хитровывернутый указатель"

MZ>-- это основы, их надо проверять, чтобы идти дальше. Если этого
MZ>нет -- остальное спрашивать бессмысленно. Ну и разумеется,
MZ>если чел. что-то там незначительное забыл -- это не так и важно.
"Основы" бывают используемые на практике и нет. Скажем, я пару раз за 10+ лет разработки использовал С++-ные указатели на методы (pObject->(*pMethod)). И если они мне понадобятся в третий раз, я за минуту найду этот фрагмент в моем старом коде и скопипащу его в новый. А если на собеседовании мне дадут лист бумаги и ручку и попросят нарисовать по-памяти синтаксис указателей на методы, мой ответ будет — к гуглу. Соответственно, ваш тест на "основы" я проавлю. Зато, свежий выпускник, вызубривший книжку типа "С++ за 21 день" пройдет с результатом 100%, хотя в реальном проекте толку от него будет мало.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[2]: О собеседованиях программистов
От: landerhigh Пират  
Дата: 19.02.11 14:39
Оценка: 2 (2) +4 :)
Здравствуйте, MasterZiv, Вы писали:

MZ>И я иногда спрашиваю.


MZ>А "Как отсортировать массив" и "Как объявить хитровывернутый указатель"

MZ>-- это основы, их надо проверять, чтобы идти дальше.

Правильные ответы: std::sort, а хитровывернутый указатель необходимо хитровворачивать их аффтарам.

Какие-нибудь еще вопросы на основы есть?
www.blinnov.com
Re: О собеседованиях программистов
От: landerhigh Пират  
Дата: 19.02.11 14:56
Оценка: 17 (4)
Здравствуйте, Wissenschaftler, Вы писали:

W> либо садятся в трактор?


Трактор не выход. Там с этим еще забористее. Настолько забористее, что мне пришлось написать пости давать на него ссылку в своем резюме.

Дают тесты. Причем даже самые лучшие из них (если к тестам понятие "лучший" вообще применимо) на две трети состоят из говновопросов класса "назовите стандартное имя шаблонного типа из недр STL, который никто никогда не использует" (из этого делается вывод о знании кандидитом шаблонов) и "что такое container adapter" (Как? Вы не знаете, что std::queue — это адаптер? Да как Вы вообще можете называть себя программистом?).

Посудите сами — кто вообще составляет эти тесты? Те, кто знают язык и умеют программировать, зарабатывают на жизнь программированием. Поэтому собственно составление тестов достается разного рода альтернативно одаренным лицам. Бывает занятно, когда в самом вопросе пять ошибок или правильного варианта ответа попросту нет. Все это я видел своими глазами. Видел даже вопрос про виртуальный деструктор с пятью вариантами ответов, и все пять были неправильными.
www.blinnov.com
Re[2]: О собеседованиях программистов
От: -MyXa- Россия  
Дата: 19.02.11 16:53
Оценка: :))
Здравствуйте, landerhigh, Вы писали:

"что такое container adapter" (Как? Вы не знаете, что std::queue — это адаптер? Да как Вы вообще можете называть себя программистом?).

По-твоему, программисту главное успеть вписать STL в своё резюме и "опыта" 5 лет, желательно, с гаком, а container adapter-ы ему знать не обязательно? А что, они сложны для понимания или не во всех книгах по STL описаны? Дык, так тогда и надо писать в резюме — не STL, а "пользователь std::vector со стажем".
Если не поможет, будем действовать током... 600 Вольт (C)
Re: О собеседованиях программистов
От: Alexéy Sudáchen Чили  
Дата: 19.02.11 16:55
Оценка: 1 (1)
Здравствуйте, Wissenschaftler, Вы писали:

W>Читал очередной псто на тему "байки интервьюеров" и задался вопросом: а вот почему на 99% собеседований на программистов в РФ людей спрашивают:


Наверное потому что 99% российских компаний имеют цель освоить бюджет, а не выпустить продукт и получить прибыль? Соответсвенно инервьювер просто не знает что ему нужно от кандидата (да и сам нанят по исходной причине), и фактически оценивает некую мифическую крутость =))) которая на результат работы вообще не влияет. Но загадочно влияет на зряплату.

Так что никакой мистики, всё совершенно логично и просто.
Re[15]: О собеседованиях программистов
От: ettcat США  
Дата: 19.02.11 18:49
Оценка:
> Тут все зависит от личного взгляда. Многие например пищат в восторге от майкрсофтовского собеседования, а на мой взгляд — оно чудовищно неудачно.

Неплохо бы теорию практикой подтверждать. Если собеседование МС
чудовищно неудачно — то они набирали бы неправильных людей
пачками. Не думаю, что на длинной дистанции это бы привело к лидерству в
индустрии и капитализации в 200B.

Кстати, что скажете про найм в Гугл или в Яндекс? Тоже неудачные
интервью?

Еще интересно, в каких компаниях, на ваш взгляд, удачные
собеседования. Чтоб понять к чему стремиться.

--
Dmitry V Semyonov | http://deemon.moikrug.ru |
http://ru.linkedin.com/in/deemon
Posted via RSDN NNTP Server 2.1 beta
Re[16]: О собеседованиях программистов
От: elmal  
Дата: 19.02.11 19:46
Оценка:
Здравствуйте, ettcat, Вы писали:

E> Еще интересно, в каких компаниях, на ваш взгляд, удачные

E>собеседования. Чтоб понять к чему стремиться.
Компанию светить не буду (вакансий один черт нет), но расскажу, как набирают в том месте, где я работаю, точнее как меня брали. Вначале да, более менее стандартное собеседование со стандартными вопросами. Но ... суперответов особо никто не требует, да и супервопросы никто не задает, основное — отсеять явный неадекват. После этого идет оплачиваемое тестовое задание. Дают реальный небольшой проект, оплачиваемый по полной ставке. За тобой во время выполнения проекта смотрят — если облажаешься, тебе найдут замену. Все доступы есть, есть исходники похожего проекта у тебя — твоя задача не сорвать сроки реального проекта, от твоей работы зависит работа еще многих человек, по существу ты полноправный сотрудник, хоть и не оформленный. Работаешь удаленно, совмещаешь с основной работой, по вечерам, выходным. И потом смотрят, хотят ли видеть такого сотрудника на постоянной основе, или нет. Смотрят код, смотрят общую адекватность, и на основании этого определяют квалификацию.
Прикол в том, что этот простейший рецепт хрен кто сможет применить . Так как у всех мегасекретность, суперпроцессы, трясутся за никому не нужные исходники, боятся даже код показать, с которым работать придется — кандидат прям посмотрит на среду разработки, и унесет мегасекреты . А все секреты просты, основной секрет типичного сверхсекретного проекта в том, что внутри говнокод, или что этот сверхпроект неправильно работает, и лучше этим мегапродуктом не пользоваться. Ну утащишь ты код, ну и что ты с ним будешь делать — при следующем изменении требований будет черти какой рефакторинг, и от того кода мало что останется. А основные принципы разработки — они открыты, они в книгах описаны — все на виду, один черт никто не может воспользоваться, наступают на одни и те же грабли.
Re[16]: О собеседованиях программистов
От: Stanislav V. Zudin Россия  
Дата: 19.02.11 21:11
Оценка: 2 (1)
Здравствуйте, ettcat, Вы писали:

Можно я встряну?
Имею что сказать и про МС, и про гугл...

E> Неплохо бы теорию практикой подтверждать. Если собеседование МС

E>чудовищно неудачно — то они набирали бы неправильных людей
E>пачками. Не думаю, что на длинной дистанции это бы привело к лидерству в
E>индустрии и капитализации в 200B.

E> Кстати, что скажете про найм в Гугл или в Яндекс? Тоже неудачные

E>интервью?

Про микрософт.
Проходил пару раз. Один раз технические вопросы задавала hr. Ответы записывала.
Вопрос "Каким, по Вашему, должен быть идеальный код", пожалуй, The Best

Беседы с технарями вполне вменяемые — о С++, о технологиях...

Про гугл.
Очное собеседование в Питерском офисе, проводимое на английском, мне кажется глупостью.
Если цель — проверить знание английского, то предварительный телефонный скрининг с нерусскими собеседующими с этой задачей полностью справляется.
Ну и продолжительность — 5 часов, многовато.

С Яндексом не беседовал — интересные вакансии в москве, а я — в питере.

E> Еще интересно, в каких компаниях, на ваш взгляд, удачные

E>собеседования. Чтоб понять к чему стремиться.

SPBSoftware
Понравилось. Хорошо побеседовали, хотя и долго. Надо было соглашаться

MentorGraphics
Пожалуй, лучшее собеседование.
Очно побеседовали за жисть, про проекты, над которыми работал и все такое...
На дом дали тестовую задачку.
Самый комфортный вариант.
_____________________
С уважением,
Stanislav V. Zudin
Re[3]: О собеседованиях программистов
От: landerhigh Пират  
Дата: 20.02.11 01:02
Оценка: 1 (1) +2 :)))
Здравствуйте, -MyXa-, Вы писали:

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


MX>"что такое container adapter" (Как? Вы не знаете, что std::queue — это адаптер? Да как Вы вообще можете называть себя программистом?).


MX>По-твоему, программисту главное успеть вписать STL в своё резюме и "опыта" 5 лет, желательно, с гаком, а container adapter-ы ему знать не обязательно? А что, они сложны для понимания или не во всех книгах по STL описаны?


Молодец, выучил определение container adapters. Садись, пять. Тема следующего урока — названия элементов контекстного меню в Paint.
www.blinnov.com
Re[16]: О собеседованиях программистов
От: Klatu  
Дата: 20.02.11 04:17
Оценка:
Здравствуйте, ettcat, Вы писали:

E> Неплохо бы теорию практикой подтверждать. Если собеседование МС

E>чудовищно неудачно — то они набирали бы неправильных людей
E>пачками. Не думаю, что на длинной дистанции это бы привело к лидерству в
E>индустрии и капитализации в 200B.

А Макдональдс тоже имеет свою огромную капитализацию и лидерство в индустрии за счет великолепно высокого качества еды?

E> Кстати, что скажете про найм в Гугл или в Яндекс? Тоже неудачные

E>интервью?

В Гугл — тоже. Про Яндекс не знаю.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: О собеседованиях программистов
От: Lloyd Россия  
Дата: 20.02.11 05:53
Оценка: 18 (3)
Здравствуйте, Wissenschaftler, Вы писали:

W>Даже при собеседовании на архитекторские позиции с большей вероятности будут вопросы а-ля назовите 15 паттернов за 10 секунд и чочо обозначает мохнато-пунктирная линия в UML, чем опять-таки умение оценивать проблему и разбивать "неохватываемое" решение на реалистичные шаги.


New Interview Questions for Senior Software Engineers
Re[3]: О собеседованиях программистов
От: __kot2  
Дата: 20.02.11 06:50
Оценка:
Здравствуйте, -MyXa-, Вы писали:
MX>Здравствуйте, landerhigh, Вы писали:
MX>"что такое container adapter" (Как? Вы не знаете, что std::queue — это адаптер? Да как Вы вообще можете называть себя программистом?).
MX>По-твоему, программисту главное успеть вписать STL в своё резюме и "опыта" 5 лет, желательно, с гаком, а container adapter-ы ему знать не обязательно? А что, они сложны для понимания или не во всех книгах по STL описаны? Дык, так тогда и надо писать в резюме — не STL, а "пользователь std::vector со стажем".
у всех людей есть пробелы в знаниях. просто кто-то это понимает, а кто-то уверен, что он "знает все"
Re[16]: О собеседованиях программистов
От: __kot2  
Дата: 20.02.11 07:02
Оценка: 1 (1) +2 :))
Здравствуйте, ettcat, Вы писали:
E> Неплохо бы теорию практикой подтверждать. Если собеседование МС
E>чудовищно неудачно — то они набирали бы неправильных людей
E>пачками. Не думаю, что на длинной дистанции это бы привело к лидерству в
E>индустрии и капитализации в 200B.
они все еще сидят на старом жирке. они могут вообще больше ничего не делать, фиксить баги офиса и windows и еще долго будут лидерами
все же их новые начинания феерически провальны

если взять оттуда случайные 100 человек, дать Х денег и сказать — все, вы теперь другая контора, экшен! становись профитабл, делай продукт, они просрут все деньги и выдадут мохнатую зеленую какашку, которая полностью провалится в продажах.
Re[17]: О собеседованиях программистов
От: ettcat США  
Дата: 20.02.11 09:04
Оценка:
E>> Неплохо бы теорию практикой подтверждать. Если собеседование МС
E>>чудовищно неудачно — то они набирали бы неправильных людей
E>>пачками. Не думаю, что на длинной дистанции это бы привело к лидерству в
E>>индустрии и капитализации в 200B.

K>А Макдональдс тоже имеет свою огромную капитализацию и лидерство в индустрии за счет великолепно высокого качества еды?


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

ЗЫ Поставим мысленный эксперимент. МС прочитали этот тред, поняли что они вообще ничего не понимают в найме и позвали вас в качестве консультанта. Что вы им посоветуете исправить, чтоб собеседования были удачными? И самое главное — что вы ожидаете в качестве результата ваших изменений? В чем проявится удачность собеседований (в отличии от текущей ситуации)?
Re[18]: О собеседованиях программистов
От: Klatu  
Дата: 20.02.11 10:57
Оценка: :)
Здравствуйте, ettcat, Вы писали:

E>Так вроде бы речь не о качестве еды. А о процессе найма, конкретнее о собеседованиях. То что Макдональдс лидер, капитализация, бла-бла-бла говорит мне, по крайней мере, что его процесс найма работает. Работает для Макдональдса. То есть конкретно для этого бизнеса процесс вполне себе успешный.

E>А то что я туда работать не пойду — вовсе не значит что их собеседования чудовищно неудачны.

Макдональдс вполне сознательно делает ставку на стабильно-низкое качество еды и дешевый низкоквалифицированный персонал.
Майкрософт тоже? Или всё-таки нет?

E>ЗЫ Поставим мысленный эксперимент. МС прочитали этот тред, поняли что они вообще ничего не понимают в найме и позвали вас в качестве консультанта. Что вы им посоветуете исправить, чтоб собеседования были удачными?


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

E>И самое главное — что вы ожидаете в качестве результата ваших изменений? В чем проявится удачность собеседований (в отличии от текущей ситуации)?


Она должна проявиться в том, что они перестанут фейлить все свои новые проекты и начнут выдавать продукцию вовремя и нормального качества, а не как сейчас.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: О собеседованиях программистов
От: baily Россия  
Дата: 20.02.11 11:26
Оценка: 1 (1) +1
Здравствуйте, Lloyd, Вы писали:

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


L>>>Видимо у нас слишком разный специальности. Я по образованию математик, там зубрить, имхо, затруднительно. Понять и запомнить — проще.


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


L>Честно говоря, даже не представляю, как можно зубрить математику. Там же при желании можно раскрутить вопрос хоть до первых курсов.


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

У меня был один сокурсник, пример которого очень поучителен в данной ситуации. Первые два курса он отучился неважно. Было у него в том числе и несколько троек.
Часто стоял на грани отчисления. Потом как то притерся и стал получать одни пятерки.
А тут оказалось, что еще имеется практика, когда можно на старших курсах пересдавать оценки, полученные ранее. Он мало того, что перезадл на отлично все
свои тройки, так и стал пересдавать все четверки. К концу пятого курса у него выходил не просто красный диплом, но даже красным диплом с отличием,
для которого нужно чтобы было не более трех четверок. Тут видно где-то спохватились, так как оказалось, что он пересдал более 18 предметов.
В итоге красного диплома он не получил. Данный товарищ обладал какой-то феноменальной памятью. Он учил наизусть целые математические учебники.
Если спрашивать его только по билетам — то проблем у него не возникало. Все определения, доказательства теорем от него отлетали.
Однако любая задача ставила его в тупик. Как то уже в аспирантуре, он попросил меня помочь ему с какой-то задачей. В процессе решения я понял, что человек
не может решить даже квадратное уравнение. Меня тогда это очень поразило. И это мехмат МГУ.
:)))
От: rm822 Россия  
Дата: 20.02.11 15:32
Оценка: 2 (1) +2
большинство собеседований идет по стандартной схемме
1 — примитивные вопросы для джуниоров на отсев, думать не надо
2 — вопросы миддла на решение стандартных задач, алгоритмы, сложность, базовые паттерны и т.п.
3 — вопросы для синьоров\тимлидов\архитекторов, на выбор дизайна, понимание фундаментальных ограничений систем, организацию коммандной работы и т.д. и т.п.
+ вне категорий — общая оценка адекватности, понимаешь ли ты что тебе говорят, слушаешь ли окружающих, нормальная ли у тебя психика, насколько реально себя оцениваешь

тебе не задают вопросы из 3й категории, потому что ты плохо справляешься со 2й
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: О собеседованиях программистов
От: alzt  
Дата: 20.02.11 15:38
Оценка: +2
Здравствуйте, Alexéy Sudáchen, Вы писали:

AS>Наверное потому что 99% российских компаний имеют цель освоить бюджет, а не выпустить продукт и получить прибыль? Соответсвенно инервьювер просто не знает что ему нужно от кандидата (да и сам нанят по исходной причине), и фактически оценивает некую мифическую крутость =))) которая на результат работы вообще не влияет. Но загадочно влияет на зряплату.


AS>Так что никакой мистики, всё совершенно логично и просто.


99% компаний сложно не заметить. Я сам такие компании не видел, знакомые тоже не часто с ними встречались (хотя и существуют такие компании).
Может цифра несколько неадекватна?
Re: :)))
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 20.02.11 16:48
Оценка:
Здравствуйте, rm822, Вы писали:

R>большинство собеседований идет по стандартной схемме

R>1 — примитивные вопросы для джуниоров на отсев, думать не надо
R>2 — вопросы миддла на решение стандартных задач, алгоритмы, сложность, базовые паттерны и т.п.
R>3 — вопросы для синьоров\тимлидов\архитекторов, на выбор дизайна, понимание фундаментальных ограничений систем, организацию коммандной работы и т.д. и т.п.
R>+ вне категорий — общая оценка адекватности, понимаешь ли ты что тебе говорят, слушаешь ли окружающих, нормальная ли у тебя психика, насколько реально себя оцениваешь

R>тебе не задают вопросы из 3й категории, потому что ты плохо справляешься со 2й

Не согласен. Написание кода на бумажке — это тест на умение выполнять нудную рутинную работу, не пытаясь ее оптимизировать. И с умением решать конкретные задачи коррелирует мало. А делать выводы о том, как я отвечал на вопросы какой категории не зная ни вопросов, ни моих ответов — как-то очень странно. Типа телепат?
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[3]: О собеседованиях программистов
От: AlexFox  
Дата: 20.02.11 16:54
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Правильные ответы: std::sort, а хитровывернутый указатель необходимо хитровворачивать их аффтарам.


L>Какие-нибудь еще вопросы на основы есть?


Очень нетолерантно!
Re[3]: О собеседованиях программистов
От: AlexFox  
Дата: 20.02.11 16:57
Оценка:
Здравствуйте, alzt, Вы писали:

A>99% компаний сложно не заметить. Я сам такие компании не видел, знакомые тоже не часто с ними встречались (хотя и существуют такие компании).

A>Может цифра несколько неадекватна?

Да не, alzt. Таких компаний действительно очень много. Видимо Вам повезло, что не работали в говноконторе.
Re[2]: :)))
От: rm822 Россия  
Дата: 20.02.11 17:31
Оценка:
R>>тебе не задают вопросы из 3й категории, потому что ты плохо справляешься со 2й
W>Не согласен. Написание кода на бумажке — это тест на умение выполнять нудную рутинную работу, не пытаясь ее оптимизировать. И с умением решать конкретные задачи коррелирует мало. А делать выводы о том, как я отвечал на вопросы какой категории не зная ни вопросов, ни моих ответов — как-то очень странно. Типа телепат?
Коллега, у тебя сейчас позиция "все вокруг **аки а я чингачгук" я был десятках на нескольких десятках собеседований и столько же провел. Интересующие тебя вопросы задавались на большинстве из них.
Может тебе фатально неповезло, но сокрее всего дело в тебе самом
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: :)))
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 20.02.11 18:15
Оценка:
Здравствуйте, rm822, Вы писали:

R>>>тебе не задают вопросы из 3й категории, потому что ты плохо справляешься со 2й

W>>Не согласен. Написание кода на бумажке — это тест на умение выполнять нудную рутинную работу, не пытаясь ее оптимизировать. И с умением решать конкретные задачи коррелирует мало. А делать выводы о том, как я отвечал на вопросы какой категории не зная ни вопросов, ни моих ответов — как-то очень странно. Типа телепат?
R>Коллега, у тебя сейчас позиция "все вокруг **аки а я чингачгук" я был десятках на нескольких десятках собеседований и столько же провел. Интересующие тебя вопросы задавались на большинстве из них.
Не, у меня сейчас позиция "блин, ну почему в России всё настолько по-другому, чем здесь?". Тупо пытаюсь понять причины.
R>Может тебе фатально неповезло, но сокрее всего дело в тебе самом
Сложно сказать. Я не думаю, что я резко изменился, как только пересек границу. А вопросы на интервью изменились сильно.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[3]: :)))
От: Klatu  
Дата: 20.02.11 18:16
Оценка: :))
Здравствуйте, rm822, Вы писали:

R>Коллега, у тебя сейчас позиция "все вокруг **аки а я чингачгук" я был десятках на нескольких десятках собеседований и столько же провел. Интересующие тебя вопросы задавались на большинстве из них.

R>Может тебе фатально неповезло, но сокрее всего дело в тебе самом

Что, повысили наконец?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: О собеседованиях программистов
От: michael_isu Беларусь  
Дата: 20.02.11 18:43
Оценка: -3
Здравствуйте, Wissenschaftler, Вы писали:

Приходил на собеседование чувак, по резюме неплохой разработчик, на английские конторы работал, asp.net mvc, .net 4.0, все дела. Но фраза "объект имеет тип IEnumerable" вводила его в полный ступор. Типа как это, объект может иметь этот тип, IEnumerable — это ж интерфейс! Ну и там до кучи всего было. Он конечно может быть и умеет фигачить там код, но зачем он мне такой? Да, не начальству, а именно мне, потому что мне с ним работать, а не кому-то ещё. Нет элементарных понятий, мне не интересно будет с ним общаться и работать в одной команде.

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

Вопросы такие простые помогают понять:
1. Смыслит ли человек вообще в программировании, или же индус. Последние к сожалению — большинство.
2. Умеет ли он вообще говорить, адекватно ли воспринимает то, чего он не понимает (типа зачем простые вопросы), все ли в порядке с его психическим здоровьем, какого размера комплексы. Если все грустно — пака
Re[2]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 20.02.11 19:42
Оценка: 1 (1)
Здравствуйте, michael_isu, Вы писали:

_>Приходил на собеседование чувак, по резюме неплохой разработчик, на английские конторы работал, asp.net mvc, .net 4.0, все дела. Но фраза "объект имеет тип IEnumerable" вводила его в полный ступор. Типа как это, объект может иметь этот тип, IEnumerable — это ж интерфейс!


И ничего смешного, формально он абсолютно прав. Тип переменной может быть IEnumerable, тип объекта — никогда, но он можно реализовывать IEnumerable.
Re[3]: О собеседованиях программистов
От: MozgC США http://nightcoder.livejournal.com
Дата: 20.02.11 20:15
Оценка:
Здравствуйте, Lloyd, Вы писали:

_>>Приходил на собеседование чувак, по резюме неплохой разработчик, на английские конторы работал, asp.net mvc, .net 4.0, все дела. Но фраза "объект имеет тип IEnumerable" вводила его в полный ступор. Типа как это, объект может иметь этот тип, IEnumerable — это ж интерфейс!


L>И ничего смешного, формально он абсолютно прав. Тип переменной может быть IEnumerable, тип объекта — никогда, но он можно реализовывать IEnumerable.


Это не вы были на том собеседовании? Формально да, но имхо нормального разработчика такая фраза в ступор не должна вводить.
Re[4]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 20.02.11 20:22
Оценка:
Здравствуйте, MozgC, Вы писали:

_>>>Приходил на собеседование чувак, по резюме неплохой разработчик, на английские конторы работал, asp.net mvc, .net 4.0, все дела. Но фраза "объект имеет тип IEnumerable" вводила его в полный ступор. Типа как это, объект может иметь этот тип, IEnumerable — это ж интерфейс!


L>>И ничего смешного, формально он абсолютно прав. Тип переменной может быть IEnumerable, тип объекта — никогда, но он можно реализовывать IEnumerable.


MC>Это не вы были на том собеседовании?


Нет, точно не я.

MC>Формально да, но имхо нормального разработчика такая фраза в ступор не должна вводить.


Кто знает, в каком контексте был задан этот вопрос.
Re[2]: О собеседованиях программистов
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 20.02.11 21:26
Оценка: +3
Здравствуйте, michael_isu, Вы писали:

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


_>Приходил на собеседование чувак, по резюме неплохой разработчик, на английские конторы работал, asp.net mvc, .net 4.0, все дела. Но фраза "объект имеет тип IEnumerable" вводила его в полный ступор. Типа как это, объект может иметь этот тип, IEnumerable — это ж интерфейс! \

Смотря что понимать под ступором. Я бы тоже сказал, что объект не может иметь тип IEnumerable, т.к. это интерфейс и создание экземпляра интерфейса невозможно. И предложил бы определиться с тем, что мы все-таки имеем в виду.

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

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

_>Вопросы такие простые помогают понять:

_>1. Смыслит ли человек вообще в программировании, или же индус. Последние к сожалению — большинство.
_>2. Умеет ли он вообще говорить, адекватно ли воспринимает то, чего он не понимает (типа зачем простые вопросы)
Хм. Я, например, не воспринимаю то, чего не понимаю, и всегда настаиваю на разруливании непоняток перед тем, как продолжать. Это индус, как раз, "воспримет, не поняв", сделает абсолютно бесполезную реализацию, БУКВАЛЬНО удовлетворяющую тому, что он "воспринял" и будет заискивающе смотреть.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[2]: О собеседованиях программистов
От: divergo  
Дата: 21.02.11 05:01
Оценка: +1
_>Но фраза "объект имеет тип IEnumerable" вводила его в полный ступор.

Подобные вещи меня однозначно вгоняют в ступор + меланхолия + пропадает желание работать в этой компании.
Не только Вы ищите профессионалов, но соискатели хотят работать в профессиональном окружении.
Не являясь мега-гуру, и то понимаю, что классный спец никогда так не скажет.
У хорошего специалиста и речь грамотная, ну или пусть пишет только код, и не собеседует.
Re[3]: О собеседованиях программистов
От: Miroff Россия  
Дата: 21.02.11 06:48
Оценка: 3 (3) +2
Здравствуйте, alzt, Вы писали:

A>99% компаний сложно не заметить. Я сам такие компании не видел, знакомые тоже не часто с ними встречались (хотя и существуют такие компании).

A>Может цифра несколько неадекватна?

Просто Alexéy путает цели компании (которых вообще не бывает) с целями отдельных людей. И он, таки, прав. Большинство интервьеров это обычные кодеры на зарплате. Им плевать, сколько принесет проект и окупится он вообще. Сколько бы не принес проект, оклад от этого не изменится. Поэтому им плевать на полезность кандидата для проекта. Совсем по другому дела обстоят там, где интервюеры напрямую имеют интерес в проекте. Например, в стартапах или мелких одноуровневых компаниях. Там обычно разговор идет конкретно-предметный: "А вот это ты делал? А как делал? А как вот такую проблему решал? Нам нужно вот такую штуку, сможешь сделать? А как ты это будешь делать? А как вот такую проблему будешь решать?"
Re[3]: О собеседованиях программистов
От: out-of-the-way США www.tehnoromantik.net
Дата: 21.02.11 07:07
Оценка: +1 -3
Здравствуйте, Lloyd, Вы писали:

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


_>>Приходил на собеседование чувак, по резюме неплохой разработчик, на английские конторы работал, asp.net mvc, .net 4.0, все дела. Но фраза "объект имеет тип IEnumerable" вводила его в полный ступор. Типа как это, объект может иметь этот тип, IEnumerable — это ж интерфейс!


L>И ничего смешного, формально он абсолютно прав. Тип переменной может быть IEnumerable, тип объекта — никогда, но он можно реализовывать IEnumerable.


В ООП исходят из того что тип это набор того что можно с этим типом сделать, экземпляр класса реализующего IEnumerable имеет тип IEnumerable. Тип это интерфейс, а класс это его конкретная реализация. Возникает небольшая путаница на счёт классов которые не реализуют интерфейсов, но на практике проблем не возникает.
Программа — мысли спрессованные в код.
Re[5]: О собеседованиях программистов
От: michael_isu Беларусь  
Дата: 21.02.11 08:39
Оценка:
Здравствуйте, Lloyd, Вы писали:

MC>>Формально да, но имхо нормального разработчика такая фраза в ступор не должна вводить.


L>Кто знает, в каком контексте был задан этот вопрос.


вопрос был такой — какого типа может быть переменная list:

var e = list.GetEnumerator();
Re[6]: О собеседованиях программистов
От: Воронков Василий Россия  
Дата: 21.02.11 08:46
Оценка: +1
Здравствуйте, michael_isu, Вы писали:

L>>Кто знает, в каком контексте был задан этот вопрос.

_>вопрос был такой — какого типа может быть переменная list:
_>var e = list.GetEnumerator();

Правильный ответ — любого? Метод GetEnumerator не обязательно должен выноситься в какой-то контракт. Вообще зачем задавать вопросы, которые можно трактовать по-разному?
Re[3]: О собеседованиях программистов
От: michael_isu Беларусь  
Дата: 21.02.11 08:50
Оценка: -2 :)
Здравствуйте, Wissenschaftler, Вы писали:

W>Смотря что понимать под ступором. Я бы тоже сказал, что объект не может иметь тип IEnumerable, т.к. это интерфейс и создание экземпляра интерфейса невозможно. И предложил бы определиться с тем, что мы все-таки имеем в виду.

Вопрос привел в ветке повыше.

W>Это всегда палка о двух концах. Хороший опытный специалист сможет работать практически с любым, у кого есть моск и нужные знания.


Мало таких. А работу работать надо.

W>Хм. Я, например, не воспринимаю то, чего не понимаю, и всегда настаиваю на разруливании непоняток перед тем, как продолжать. Это индус, как раз, "воспримет, не поняв", сделает абсолютно бесполезную реализацию, БУКВАЛЬНО удовлетворяющую тому, что он "воспринял" и будет заискивающе смотреть.


Например LINQ — это часть языка C#. А один кандидат упирался в то, что это часть .NET Framework. Ну что тут разруливать и зачем продолжать?
Re[7]: О собеседованиях программистов
От: michael_isu Беларусь  
Дата: 21.02.11 08:56
Оценка: -3
Здравствуйте, Воронков Василий, Вы писали:

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


L>>>Кто знает, в каком контексте был задан этот вопрос.

_>>вопрос был такой — какого типа может быть переменная list:
_>>var e = list.GetEnumerator();

ВВ>Правильный ответ — любого? Метод GetEnumerator не обязательно должен выноситься в какой-то контракт. Вообще зачем задавать вопросы, которые можно трактовать по-разному?


Возможно там в задании был не var, а IEnumerable, но это не суть. Важно то, как человек говорит, как реагирует на те или иные вопросы, имеет ли трактовки. Некоторые задания вообще абсурдные бывают и адекватный разработчик это заметит и сразу скажет в чем дело. Если же разумные _мысли_ отсутствуют, то дальше разговаривать не о чем.
Re[2]: О собеседованиях программистов
От: Donz Россия http://donz-ru.livejournal.com
Дата: 21.02.11 09:00
Оценка:
Здравствуйте, elmal, Вы писали:

E>На деле все просто. Представим себя с позиции типичного интервьюера в крупной компании. И мы видим, что:

E>1) у интервьюера есть список вопросов, которые нужно задать, на основании которых будет определяться крутизна кандидата. Также есть бумажка, где сверху спущено, что можно задавать, а что нет, как себя вести и тому подобное. Все формализованно, все правильно, все по процессу;
E>2) зачастую сами интервьюеры это собеседование не проходили, их взяли по знакомству, не сомневаясь в их высокой квалификации. Нет, погоняли конечно чуток, но так, больше для вида. Нормально знать ответы на вопросы, которые они задают, они стали только проведя n-е количество собеседований. Как только запомнят ответы на эти вопросы (а запоминаются они быстро), они начинают искренне считать, что родились с тайным знанием, а кандидаты сплошь идиоты. При этом если им задать самому нестандартный вопрос (из другой бумажки) — будут плавать. Правда бумажка похожая во всех конторах, запросто можно найти другую контору, где бумажка такая же, и сразу посчитаться там мегагуру .

Откуда такая неприязнь к интервьюерам?
Ради интереса, как сверху спустят список технических вопросов? Даже начальнику отдела разработки этим заниматься и лень, и просто ненужно, так как его специализация не в этом.
С чего взяли, что интервьеров берут по знакомству?
На самом деле ни разу не видел описанного в обоих пунктах. Другие проблемы были, а этих не заметил.
Re[4]: О собеседованиях программистов
От: 1stein Украина  
Дата: 21.02.11 09:04
Оценка:
Здравствуйте, michael_isu, Вы писали:

_>Например LINQ — это часть языка C#. А один кандидат упирался в то, что это часть .NET Framework. Ну что тут разруливать и зачем продолжать?


Абсолютно с Вами согласен — продолжать в самом деле незачем. Разве что потроллить.
Will code C# for food
Re[8]: О собеседованиях программистов
От: Воронков Василий Россия  
Дата: 21.02.11 09:09
Оценка: 5 (2) +1
Здравствуйте, michael_isu, Вы писали:

_>Возможно там в задании был не var, а IEnumerable, но это не суть. Важно то, как человек говорит, как реагирует на те или иные вопросы, имеет ли трактовки. Некоторые задания вообще абсурдные бывают и адекватный разработчик это заметит и сразу скажет в чем дело. Если же разумные _мысли_ отсутствуют, то дальше разговаривать не о чем.


Что-то мне кажется, что выводы о наличии или отсутствии "разумных мыслей" вы делаете на основе одного вопроса, при ответе на который кандидат может просто запутаться. Ну или же просто высказать точку зрения, не соответствующую вашей. Ну считает человек, что Linq — это название библиотеки ФВП, ну и что? Самое забавное, что она действительно так называется и действительно является частью FW. Как правило, если копнуть чуть глубже, то обнаруживаешь, что не все там так запущено. Могло быть и просто недопонимание.

Вообще некоторые люди собеседования проходить не умеют. Причем это совершенно не говорит о том, что они плохие программисты. Просто "прохождение собеседований" есть отдельный скилл, часто слабо связанный... И мне всегда казалось, что задача того, кто собеседует, определить на что человек действительно способен, а не завалить и выйти с гордой верой в свою крутизну.
Re[3]: О собеседованиях программистов
От: elmal  
Дата: 21.02.11 09:21
Оценка:
Здравствуйте, Donz, Вы писали:

D>Откуда такая неприязнь к интервьюерам?

Никакой неприязни нет, как раз напротив, у меня достаточно неплохие отношения.
D>Ради интереса, как сверху спустят список технических вопросов? Даже начальнику отдела разработки этим заниматься и лень, и просто ненужно, так как его специализация не в этом.
Корпоративная культура это называется, процесс и тому подобное . Все должно быть единообразно и уницифированно.
D>С чего взяли, что интервьеров берут по знакомству?
Сами признавались, более того, меня самого звали . Если потеряю в деньгах и сменю работу на более рутинную — вполне могу также быть таким интервьюером .
Re[9]: О собеседованиях программистов
От: michael_isu Беларусь  
Дата: 21.02.11 09:22
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


_>>Возможно там в задании был не var, а IEnumerable, но это не суть. Важно то, как человек говорит, как реагирует на те или иные вопросы, имеет ли трактовки. Некоторые задания вообще абсурдные бывают и адекватный разработчик это заметит и сразу скажет в чем дело. Если же разумные _мысли_ отсутствуют, то дальше разговаривать не о чем.


ВВ>Что-то мне кажется, что выводы о наличии или отсутствии "разумных мыслей" вы делаете на основе одного вопроса, при ответе на который кандидат может просто запутаться. Ну или же просто высказать точку зрения, не соответствующую вашей. Ну считает человек, что Linq — это название библиотеки ФВП, ну и что? Самое забавное, что она действительно так называется и действительно является частью FW. Как правило, если копнуть чуть глубже, то обнаруживаешь, что не все там так запущено. Могло быть и просто недопонимание.


Вопросов задается около 15, на разные базовые понятия, поэтому мнение складывается целостное. Linq — это language integrated query.

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


Опыт он есть опыт, мало кому удается показать что он есть, когда его нет, и наоборот. Даже если человек говорит хреново, все равно можно понять, имел ли он с чем-то дело, сталкивался ли с проблемами, как их решал и т.д.
Re[4]: О собеседованиях программистов
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 21.02.11 09:26
Оценка: +2
Здравствуйте, michael_isu, Вы писали:

W>>Хм. Я, например, не воспринимаю то, чего не понимаю, и всегда настаиваю на разруливании непоняток перед тем, как продолжать. Это индус, как раз, "воспримет, не поняв", сделает абсолютно бесполезную реализацию, БУКВАЛЬНО удовлетворяющую тому, что он "воспринял" и будет заискивающе смотреть.


_>Например LINQ — это часть языка C#. А один кандидат упирался в то, что это часть .NET Framework. Ну что тут разруливать и зачем продолжать?

И? Есть куча людей, для которых LINQ — это инструмент, который они удачно и умело используют при разработке на C#. Что дает сакральное знание, парсит его кодогенератор C#, или транслирует во что-то .Net-специфичное, после чего его парсит кодогенератор .Net? Как это скажется на качестве и скорости решения разработчиками задач?
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[10]: О собеседованиях программистов
От: Воронков Василий Россия  
Дата: 21.02.11 09:31
Оценка:
Здравствуйте, michael_isu, Вы писали:

_>Вопросов задается около 15, на разные базовые понятия, поэтому мнение складывается целостное.


По вашим высказыванием здесь такое впечатление совсем не складывается.

_>Linq — это language integrated query.


И что? Сей факт не мешал авторам этой аббревиатуры выносить ее в название типов фреймворка. Или вас как-то по-особенному на выделенном клинит? Попробуйте код с Linq запросами скомпилировать под фреймворк 2.0. Заработает?
Re[5]: О собеседованиях программистов
От: michael_isu Беларусь  
Дата: 21.02.11 09:36
Оценка: -1
Здравствуйте, Wissenschaftler, Вы писали:

W>И? Есть куча людей, для которых LINQ — это инструмент, который они удачно и умело используют при разработке на C#. Что дает сакральное знание, парсит его кодогенератор C#, или транслирует во что-то .Net-специфичное, после чего его парсит кодогенератор .Net? Как это скажется на качестве и скорости решения разработчиками задач?


Это просто такой тест на умение вести диалог. Я привожу некоторые аргументы — linq есть только в C# (c 3.0) и VB (c 9.0), такие-то ключевые слова добавлены в язык и т.д., в ответ лишь — все равно упертое мнение, без каких-либо аргументов, нервные возгласы в стиле — вы тут меня завалить чтоли хотите и т.д.

Я на собеседовании отвечал на эти же вопросы спокойно (список вопросов один), после уже пообщались на более интересные темы. Просто я не додумываю за собеседующих, зачем задаются вопросы, отвечаю на них и все. Много думать что зачем и почему — вредно.
Re[11]: О собеседованиях программистов
От: michael_isu Беларусь  
Дата: 21.02.11 09:56
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


_>>Вопросов задается около 15, на разные базовые понятия, поэтому мнение складывается целостное.


ВВ>По вашим высказыванием здесь такое впечатление совсем не складывается.


Я привел лишь пару примеров ответов на вопросы и их реакции.

_>>Linq — это language integrated query.


ВВ>И что? Сей факт не мешал авторам этой аббревиатуры выносить ее в название типов фреймворка. Или вас как-то по-особенному на выделенном клинит? Попробуйте код с Linq запросами скомпилировать под фреймворк 2.0. Заработает?


Консоль с таргетом .net 2.0:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var items = new List<int>(new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });

            var foo = from i in items
                      where i % 2 == 0
                      select i;            
        }
    }
}


Error: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)

Что нужно сделать, чтобы избавиться от этой ошибки?
Re[12]: О собеседованиях программистов
От: 1stein Украина  
Дата: 21.02.11 10:00
Оценка:
Здравствуйте, michael_isu, Вы писали:

_>Что нужно сделать, чтобы избавиться от этой ошибки?


А что, в тех 15-ти вопросах такого нету?
Will code C# for food
Re[11]: О собеседованиях программистов
От: samius Япония http://sams-tricks.blogspot.com
Дата: 21.02.11 10:14
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>И что? Сей факт не мешал авторам этой аббревиатуры выносить ее в название типов фреймворка. Или вас как-то по-особенному на выделенном клинит? Попробуйте код с Linq запросами скомпилировать под фреймворк 2.0. Заработает?

Да, требуется просто наличие соответствующих типов. Одного конкретного — ExtensionMethodAttribute или как там его, а остальные по спекe языка в секции Query expressions.
Re[12]: О собеседованиях программистов
От: Воронков Василий Россия  
Дата: 21.02.11 10:20
Оценка:
Здравствуйте, samius, Вы писали:

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


ВВ>>И что? Сей факт не мешал авторам этой аббревиатуры выносить ее в название типов фреймворка. Или вас как-то по-особенному на выделенном клинит? Попробуйте код с Linq запросами скомпилировать под фреймворк 2.0. Заработает?

S>Да, требуется просто наличие соответствующих типов. Одного конкретного — ExtensionMethodAttribute или как там его, а остальные по спекe языка в секции Query expressions.

Т.е., говоря другими словами, потребуется подключать библиотеки *фреймворка*?
Re[13]: О собеседованиях программистов
От: samius Япония http://sams-tricks.blogspot.com
Дата: 21.02.11 10:24
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


S>>Да, требуется просто наличие соответствующих типов. Одного конкретного — ExtensionMethodAttribute или как там его, а остальные по спекe языка в секции Query expressions.


ВВ>Т.е., говоря другими словами, потребуется подключать библиотеки *фреймворка*?

Нет, не требуется. Можно слабать нужные типы по месту, не подключая вообще ничего.
Re[17]: О собеседованиях программистов
От: blackhearted Украина  
Дата: 21.02.11 10:33
Оценка:
Здравствуйте, __kot2, Вы писали:


__>если взять оттуда случайные 100 человек, дать Х денег и сказать — все, вы теперь другая контора, экшен! становись профитабл, делай продукт, они просрут все деньги и выдадут мохнатую зеленую какашку, которая полностью провалится в продажах.


а из какой конторы будет не так? назовите претендентов. гугл? яблоко? то же самое будет.
Re: О собеседованиях программистов
От: genre Россия  
Дата: 21.02.11 10:55
Оценка:
Здравствуйте, Wissenschaftler, Вы писали:


W>но никто, никто, чёрт возьми, не задает такие вопросы, как:

W>Как бы Вы разбили эту задачу на адекватные подзадачи, чтобы минимизировать риски

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

W>Как бы организовали систему тестов, если бы пришлось разрабатывать такую-то систему

W>Как бы пошагово локализовывали такой-то баг в некоторой системе

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

А главное основываясь на этих вопросах очень сложно сделать выводы о человеке.
Ни разу не наблюдал, как коллеги работающие вместе довольно давно не могут прийти к общему мнению по подобным вопросам? Вот так и тут будет. У тебя свое виденье системы тестирования или дизайна, у кандидата свое. И дальше что?
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[14]: О собеседованиях программистов
От: Воронков Василий Россия  
Дата: 21.02.11 11:15
Оценка:
Здравствуйте, samius, Вы писали:

ВВ>>Т.е., говоря другими словами, потребуется подключать библиотеки *фреймворка*?

S>Нет, не требуется. Можно слабать нужные типы по месту, не подключая вообще ничего.

Ага, и реализовать весь требуемый функционал с нуля. При этом Линк у нас редуцируется лишь до особого синтаксиса, который поддерживает компилятор.

Параллельно с этим человек может использовать функции из System.Linq на каком-нибудь C++\CLI без всякого специального синтаксиса и вполне закономерно считать, что он использует Линк. Библиотека же именно так и называется.
Re[15]: О собеседованиях программистов
От: samius Япония http://sams-tricks.blogspot.com
Дата: 21.02.11 12:04
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


ВВ>>>Т.е., говоря другими словами, потребуется подключать библиотеки *фреймворка*?

S>>Нет, не требуется. Можно слабать нужные типы по месту, не подключая вообще ничего.

ВВ>Ага, и реализовать весь требуемый функционал с нуля. При этом Линк у нас редуцируется лишь до особого синтаксиса, который поддерживает компилятор.

Весь требуемый для конкретного примера — лишь метод Where

ВВ>Параллельно с этим человек может использовать функции из System.Linq на каком-нибудь C++\CLI без всякого специального синтаксиса и вполне закономерно считать, что он использует Линк. Библиотека же именно так и называется.

Только линком называется не библиотека, а комплекс средств, большая часть из которых — языковые расширения. Некоторые из них не доступны в C++/CLI — анонимные типы, екстеншн методы, Query expression. теряюсь даже как там с лямбдами и замыканиями для CLI.
ну и как, сильно похоже на LINQ:
Enumerable::Select(Enumerable::Where(Enumerable::Join(source, ...
?
Re[2]: О собеседованиях программистов
От: Vzhyk  
Дата: 21.02.11 12:05
Оценка:
19.02.2011 2:42, мыщъх пишет:
> а индустрии по в рф нет. именно индустрии.
> программисты есть, а индустрии нет.
Вот в этом я согласен с тобой на 100%. И по сути — это и есть ответ на
все вопросы ТС.
Posted via RSDN NNTP Server 2.1 beta
Re[16]: О собеседованиях программистов
От: Воронков Василий Россия  
Дата: 21.02.11 12:19
Оценка: +1
Здравствуйте, samius, Вы писали:

ВВ>>Параллельно с этим человек может использовать функции из System.Linq на каком-нибудь C++\CLI без всякого специального синтаксиса и вполне закономерно считать, что он использует Линк. Библиотека же именно так и называется.

S>Только линком называется не библиотека, а комплекс средств, большая часть из которых — языковые расширения. Некоторые из них не доступны в C++/CLI — анонимные типы, екстеншн методы, Query expression. теряюсь даже как там с лямбдами и замыканиями для CLI.

Именно что, что Линком называется не библиотека. И не синтаксис. Так уж получается, что данный термин используют для обозначения и того, и другого. "Комплекса средств". В этом смысле утверждения "Линк это часть языка C#" и "Линк это часть фреймворка" могут рассматриваться как одинаково верные и как одинаково неверные, если собеседующему так больше хочется.

Как раз на мой взгляд основная часть Линка — это НЕ языковые расширения. Из последних полезны разве что экстеншин методы и лямбды, при том что оба формально связаны с Линком лишь косвенно. Кстати, экстеншин методы тоже не нужны. В том же Немерле очень даже удобно вызывать методы через пайпы.

А "со стороны фреймворка" Линк — это далеко не только библиотека с ФВП, это и абстрактное АСТ, и отдельный компилятор для выражений.

S>ну и как, сильно похоже на LINQ:

S>Enumerable::Select(Enumerable::Where(Enumerable::Join(source, ...
S>?

Смысл вопроса мне неясен. А seq.Select(...).Where(...) сильно похоже на Линк? Или Select(_,...) |> Where (_,...)?
Re[17]: О собеседованиях программистов
От: samius Япония http://sams-tricks.blogspot.com
Дата: 21.02.11 12:35
Оценка: +1 -1
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Именно что, что Линком называется не библиотека. И не синтаксис. Так уж получается, что данный термин используют для обозначения и того, и другого. "Комплекса средств". В этом смысле утверждения "Линк это часть языка C#" и "Линк это часть фреймворка" могут рассматриваться как одинаково верные и как одинаково неверные, если собеседующему так больше хочется.

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

ВВ>Как раз на мой взгляд основная часть Линка — это НЕ языковые расширения. Из последних полезны разве что экстеншин методы и лямбды, при том что оба формально связаны с Линком лишь косвенно.

Это все равно что говорить о том что Generics — это не расширение платформы и язка, а классы в FCL.

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

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

ВВ>А "со стороны фреймворка" Линк — это далеко не только библиотека с ФВП, это и абстрактное АСТ, и отдельный компилятор для выражений.

Только по той милости что компиляторы в самом фреймворке. Еще раз, линк без поддержки фреймворка возможен.

S>>ну и как, сильно похоже на LINQ:

S>>Enumerable::Select(Enumerable::Where(Enumerable::Join(source, ...
S>>?

ВВ>Смысл вопроса мне неясен.

Я просто считаю что то что вызываются методы из неймспейса System::Linq, говорит только о том, что вызываются методы из этого неймспейса.
ВВ>А seq.Select(...).Where(...) сильно похоже на Линк?
Довольно похоже, но на самом деле это может быть банальным fluent интерфейсом

ВВ>Или Select(_,...) |> Where (_,...)?

совсем не похоже
Re[18]: О собеседованиях программистов
От: Воронков Василий Россия  
Дата: 21.02.11 12:57
Оценка: +1
Здравствуйте, samius, Вы писали:

ВВ>>Именно что, что Линком называется не библиотека. И не синтаксис. Так уж получается, что данный термин используют для обозначения и того, и другого. "Комплекса средств". В этом смысле утверждения "Линк это часть языка C#" и "Линк это часть фреймворка" могут рассматриваться как одинаково верные и как одинаково неверные, если собеседующему так больше хочется.

S>Для меня все довольно однозначно. Линк без поддержки фреймворка имеет смысл, Линк без поддержки языка — нет. Потому я против того что бы рассматривать Линк отдельно от языка.

Линк без поддержки фреймворка это просто синтаксис. Какой еще он может иметь смысл? По-моему в этом синтаксисе вообще смысла довольно мало.

ВВ>>Как раз на мой взгляд основная часть Линка — это НЕ языковые расширения. Из последних полезны разве что экстеншин методы и лямбды, при том что оба формально связаны с Линком лишь косвенно.

S>Это все равно что говорить о том что Generics — это не расширение платформы и язка, а классы в FCL.

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

ВВ>>А "со стороны фреймворка" Линк — это далеко не только библиотека с ФВП, это и абстрактное АСТ, и отдельный компилятор для выражений.

S>Только по той милости что компиляторы в самом фреймворке.

У Линка свой компилятор выражений, если что.

S>Еще раз, линк без поддержки фреймворка возможен.


Возможен синтаксис. Но 1) линк это не только синтаксис и 2) линк возможен и без синтаксиса.

ВВ>>Смысл вопроса мне неясен.

S>Я просто считаю что то что вызываются методы из неймспейса System::Linq, говорит только о том, что вызываются методы из этого неймспейса.

А я считаю, что методы из этого неймспейса — это часть Линка. Такая же, как и встроенный в C# синтаксис.

ВВ>>А seq.Select(...).Where(...) сильно похоже на Линк?

S>Довольно похоже, но на самом деле это может быть банальным fluent интерфейсом

В сухом остатке для удобного использования все инфраструктуры Линка достаточно лишь синтаксиса, позволяющего "по месту" объявлять делегаты. Все. Можно использовать Линк, а возможности C# — только в рамках 2.0.
Re[3]: О собеседованиях программистов
От: michael_isu Беларусь  
Дата: 21.02.11 13:04
Оценка:
Здравствуйте, divergo, Вы писали:

_>>Но фраза "объект имеет тип IEnumerable" вводила его в полный ступор.


D>Подобные вещи меня однозначно вгоняют в ступор + меланхолия + пропадает желание работать в этой компании.

D>Не только Вы ищите профессионалов, но соискатели хотят работать в профессиональном окружении.
D>Не являясь мега-гуру, и то понимаю, что классный спец никогда так не скажет.
D>У хорошего специалиста и речь грамотная, ну или пусть пишет только код, и не собеседует.

Ну да, с меланхоликом жить тяжко, на то они и вопросы, чтобы выявить то, что нужно выявить. Кроме писать код, надо ещё с другими людьми уметь работать и общаться.
Re[2]: О собеседованиях программистов
От: Vzhyk  
Дата: 21.02.11 13:09
Оценка:
21.02.2011 12:55, genre пишет:

> У тебя свое виденье системы тестирования или дизайна, у кандидата свое.

> И дальше что?
И это очень хорошо, если у него есть видение.
Posted via RSDN NNTP Server 2.1 beta
Re[19]: О собеседованиях программистов
От: samius Япония http://sams-tricks.blogspot.com
Дата: 21.02.11 13:10
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


S>>Для меня все довольно однозначно. Линк без поддержки фреймворка имеет смысл, Линк без поддержки языка — нет. Потому я против того что бы рассматривать Линк отдельно от языка.


ВВ>Линк без поддержки фреймворка это просто синтаксис. Какой еще он может иметь смысл? По-моему в этом синтаксисе вообще смысла довольно мало.

var, анонимные типы — это не синтаксис.

S>>Это все равно что говорить о том что Generics — это не расширение платформы и язка, а классы в FCL.


ВВ>Нет, не все равно. Линк таки включает в себя библиотеку для работы с коллекциями в функциональном стиле, причем библиотека эта спокойно может использоваться и без синтаксиса.

Не сильно спокойно.

ВВ>>>А "со стороны фреймворка" Линк — это далеко не только библиотека с ФВП, это и абстрактное АСТ, и отдельный компилятор для выражений.

S>>Только по той милости что компиляторы в самом фреймворке.

ВВ>У Линка свой компилятор выражений, если что.

В FW 2 его нет, если что.

S>>Еще раз, линк без поддержки фреймворка возможен.


ВВ>Возможен синтаксис. Но 1) линк это не только синтаксис и 2) линк возможен и без синтаксиса.

LINQ без интеграции с языком? Интригует

ВВ>А я считаю, что методы из этого неймспейса — это часть Линка. Такая же, как и встроенный в C# синтаксис.

Но тогда придется считать частью линка многие другие методы, которые к FW не имеют отношения:
Maybe<U> Select<U>(Maybe<T>, Func<T, U>)

ВВ>В сухом остатке для удобного использования все инфраструктуры Линка достаточно лишь синтаксиса, позволяющего "по месту" объявлять делегаты. Все. Можно использовать Линк, а возможности C# — только в рамках 2.0.

Это только возможность вызова методов, не более. Интеграции в язык нет.
Re[4]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 21.02.11 13:48
Оценка: 1 (1) -1
Здравствуйте, out-of-the-way, Вы писали:

OOT>В ООП исходят из того что тип это набор того что можно с этим типом сделать, экземпляр класса реализующего IEnumerable имеет тип IEnumerable. Тип это интерфейс, а класс это его конкретная реализация. Возникает небольшая путаница на счёт классов которые не реализуют интерфейсов, но на практике проблем не возникает.


У вас каша в голове
Re[6]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 21.02.11 13:51
Оценка:
Здравствуйте, michael_isu, Вы писали:

L>>Кто знает, в каком контексте был задан этот вопрос.


_>вопрос был такой — какого типа может быть переменная list:


_>var e = list.GetEnumerator();


IEnumerator? Мне кажется или вы сами на свой вопрос не смогли оветить?
Re[20]: О собеседованиях программистов
От: Воронков Василий Россия  
Дата: 21.02.11 14:08
Оценка: +1
Здравствуйте, samius, Вы писали:

ВВ>>Линк без поддержки фреймворка это просто синтаксис. Какой еще он может иметь смысл? По-моему в этом синтаксисе вообще смысла довольно мало.

S>var, анонимные типы — это не синтаксис.

Что характерно это и не Линк. В языках, где нет анонимных типов, но есть, скажем, тюплы, ВНЕЗАПНО оказывается, что тюплы могут выполнять эту функцию не хуже. Интересно, они после этого становятся "частью Линка"?

S>>>Это все равно что говорить о том что Generics — это не расширение платформы и язка, а классы в FCL.

ВВ>>Нет, не все равно. Линк таки включает в себя библиотеку для работы с коллекциями в функциональном стиле, причем библиотека эта спокойно может использоваться и без синтаксиса.
S>Не сильно спокойно.

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

ВВ>>>>А "со стороны фреймворка" Линк — это далеко не только библиотека с ФВП, это и абстрактное АСТ, и отдельный компилятор для выражений.

S>>>Только по той милости что компиляторы в самом фреймворке.
ВВ>>У Линка свой компилятор выражений, если что.
S>В FW 2 его нет, если что.

В FW2 и Линка нет, если что.

S>>>Еще раз, линк без поддержки фреймворка возможен.

ВВ>>Возможен синтаксис. Но 1) линк это не только синтаксис и 2) линк возможен и без синтаксиса.
S>LINQ без интеграции с языком? Интригует

А что добавление нового синтаксиса — это единственная интеграция с языком, которую ты можешь представить?

ВВ>>А я считаю, что методы из этого неймспейса — это часть Линка. Такая же, как и встроенный в C# синтаксис.

S>Но тогда придется считать частью линка многие другие методы, которые к FW не имеют отношения:
S>Maybe<U> Select<U>(Maybe<T>, Func<T, U>)

Не понял — ни причинно-следственной связи, ни вывода.

ВВ>>В сухом остатке для удобного использования все инфраструктуры Линка достаточно лишь синтаксиса, позволяющего "по месту" объявлять делегаты. Все. Можно использовать Линк, а возможности C# — только в рамках 2.0.

S>Это только возможность вызова методов, не более. Интеграции в язык нет.

Точно. Язык ведь у нас методы вызывать не умеет
Re[5]: О собеседованиях программистов
От: out-of-the-way США www.tehnoromantik.net
Дата: 21.02.11 14:26
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, out-of-the-way, Вы писали:


OOT>>В ООП исходят из того что тип это набор того что можно с этим типом сделать, экземпляр класса реализующего IEnumerable имеет тип IEnumerable. Тип это интерфейс, а класс это его конкретная реализация. Возникает небольшая путаница на счёт классов которые не реализуют интерфейсов, но на практике проблем не возникает.


L>У вас каша в голове


Это почему?
Программа — мысли спрессованные в код.
Re[3]: О собеседованиях программистов
От: genre Россия  
Дата: 21.02.11 14:41
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>> У тебя свое виденье системы тестирования или дизайна, у кандидата свое.

>> И дальше что?
V>И это очень хорошо, если у него есть видение.

И какие выводы ты собираешься из этого делать? Оценить правильность/неправильность для хоть мало мальски сложной проблемы просто не хватит никакого времени. А для простой у всех будет правильное.
Отсеивать-то как?


Обобщим проблему, для любителей порассуждать о вопросах на собеседовании.

Вот допустим есть у нас проект. Приложение, трехзвенка, база данных, какая-нибудь штука для бизнес-процессов например, пусть для большей определенности мы пишем конкурента 1С.
Нужен программист в команду гуя. Денег мы ему можем предложить 70% от максимума на нашем локальном рынке.

Какие вопросы про тестирование и дизайн надо ему задавать чтобы получить максимально эффективный результат?
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[21]: О собеседованиях программистов
От: samius Япония http://sams-tricks.blogspot.com
Дата: 21.02.11 14:46
Оценка: -1
Здравствуйте, Воронков Василий, Вы писали:

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


S>>var, анонимные типы — это не синтаксис.


ВВ>Что характерно это и не Линк. В языках, где нет анонимных типов, но есть, скажем, тюплы, ВНЕЗАПНО оказывается, что тюплы могут выполнять эту функцию не хуже. Интересно, они после этого становятся "частью Линка"?

Может тогда в F# Seq.map является частью линка, потому как он выполняет функцию standard query operator-а?

S>>>>Это все равно что говорить о том что Generics — это не расширение платформы и язка, а классы в FCL.

ВВ>>>Нет, не все равно. Линк таки включает в себя библиотеку для работы с коллекциями в функциональном стиле, причем библиотека эта спокойно может использоваться и без синтаксиса.
S>>Не сильно спокойно.

ВВ>Спокойно, если не забывать, что экстеншин-методы и лямбды это все же синтаксические добавления в языке "общего назначения", а не строго привязанные к Линку. Если в языке есть хотя бы *аналогичные* механизмы, то Линк более чем юзабелен.

вот посмотрим на F#. за var — let. за экстеншн методы — пайпинг. За анонимные типы — туплы.
А линк не юзабелен, т.к. called standard query operator-ы F# не знает, хоть и может вызывать методы, их реализующие.

ВВ>>>У Линка свой компилятор выражений, если что.

S>>В FW 2 его нет, если что.

ВВ>В FW2 и Линка нет, если что.

Это определенно новость для меня. Об этом предлагаю подискутировать с авторами этого или этого.

ВВ>А что добавление нового синтаксиса — это единственная интеграция с языком, которую ты можешь представить?

Стандартные query операторы, правила трансляции выражений тоже являются частью интеграции. Если язык их не поддерживает, то об поддержке линка для этого языка нет речи.

ВВ>>>А я считаю, что методы из этого неймспейса — это часть Линка. Такая же, как и встроенный в C# синтаксис.

S>>Но тогда придется считать частью линка многие другие методы, которые к FW не имеют отношения:
S>>Maybe<U> Select<U>(Maybe<T>, Func<T, U>)

ВВ>Не понял — ни причинно-следственной связи, ни вывода.

Просто линк имеет отношение к методам System.Linq.Enumerable в точности то же самое, какое и к вышеописанному методу. И этот метод и System.Linq.Enumerable реализуют стандартный query оператор. Больше их с линком ничего не связывает.
Re[4]: О собеседованиях программистов
От: Vzhyk  
Дата: 21.02.11 14:52
Оценка: 16 (2)
21.02.2011 16:41, genre пишет:

> Отсеивать-то как?

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

>

> определенности мы пишем конкурента 1С.
Да я понял. Для вашей конторы лучший вариант собеседования — экзамен с
домашним заданием.
Posted via RSDN NNTP Server 2.1 beta
Re[22]: О собеседованиях программистов
От: Воронков Василий Россия  
Дата: 21.02.11 15:06
Оценка: +1 :)
Здравствуйте, samius, Вы писали:
ВВ>>Что характерно это и не Линк. В языках, где нет анонимных типов, но есть, скажем, тюплы, ВНЕЗАПНО оказывается, что тюплы могут выполнять эту функцию не хуже. Интересно, они после этого становятся "частью Линка"?
S>Может тогда в F# Seq.map является частью линка, потому как он выполняет функцию standard query operator-а?

Seq.map тут точно не причем.

ВВ>>Спокойно, если не забывать, что экстеншин-методы и лямбды это все же синтаксические добавления в языке "общего назначения", а не строго привязанные к Линку. Если в языке есть хотя бы *аналогичные* механизмы, то Линк более чем юзабелен.

S>вот посмотрим на F#. за var — let. за экстеншн методы — пайпинг. За анонимные типы — туплы.
S>А линк не юзабелен, т.к. called standard query operator-ы F# не знает, хоть и может вызывать методы, их реализующие.

Вот как линк используют в F#: http://blogs.msdn.com/b/dsyme/archive/2006/01/27/fsharpmeetslinqone.aspx?wa=wsignin1.0
Заметка Дона Сима от 2006 года, когда Линк еще не зарелизили. Главная проблема там, как видишь, в том, что "неправильный" порядок аргументов в методах типа Select, OrderBy из-за которых приходится создавать над ними обвертки. Тому же Немерле на порядок аргументов пофиг, поэтому можно вызывать напрямую. Вроде работает, нет?

Кстати, странно, посмотри, что Дон Сим называет Линком. Никакого C# и поблизости нет. Сдается мне, что michael_isu завалил бы этого несчастного мужика на собеседовании.

ВВ>>В FW2 и Линка нет, если что.

S>Это определенно новость для меня. Об этом предлагаю подискутировать с авторами этого или этого.

Ну протащили они библиотеки в FW2 и что? Это какую мысль должно подтвердить или опровергнуть?

ВВ>>А что добавление нового синтаксиса — это единственная интеграция с языком, которую ты можешь представить?

S>Стандартные query операторы, правила трансляции выражений тоже являются частью интеграции. Если язык их не поддерживает, то об поддержке линка для этого языка нет речи.

В linq2objects никакой трансляции выражений нет. Это ведь еще по-прежнему Линк?

ВВ>>Не понял — ни причинно-следственной связи, ни вывода.

S>Просто линк имеет отношение к методам System.Linq.Enumerable в точности то же самое, какое и к вышеописанному методу. И этот метод и System.Linq.Enumerable реализуют стандартный query оператор. Больше их с линком ничего не связывает.

Линк имеет отношение к методам System.Linq.Enumerable, потому что они является частью "общего пакета". Товарищи из твоей ссылки зачем-то System.Core куда-то копируют. С чего бы это?

Но меня другое интересует — ты сейчас пытаешься доказать, что Linq является частью языка C# или мы уже просто трепемся?
Re[5]: О собеседованиях программистов
От: genre Россия  
Дата: 21.02.11 15:08
Оценка: -2 :))
Здравствуйте, Vzhyk, Вы писали:

>> Отсеивать-то как?

V>В этом вся твоя проблема.
V>Я, собеседуя, ищу подходящего мне человека. Ты же, собеседуя, отделяешь неподходящих.

Не важно с какой стороны двигаться к заданной планке. Важно правильно эту планку задать. Тебе подходят все у кого есть интересный опыт про который они могут рассказать. Мне те — кто в состоянии написать код. Решить конкретные задачи, ответить на конкретные вопросы.
Просто моя планка выше. Я не верю опыту. Я верю только коду. и конкретным ответам на конкретные технические вопросы.

V>(ибо не в силах осознать все плюсы и минусы всех, прошедших через тебя).


А вот гадать и ставить диагноз по кофейной гуще не надо. Я могу оценить всех прошедших через меня формально. По сути если потребуется довести ситуацию до абсурда я могу поставить каждому оценку, как на экзамене. Оценку которая отражает, насколько по-моему мнению этот человек подойдет нашей фирме. Заметь, не только моему проекту, а любому в нашей фирме.
А ты нет.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[5]: О собеседованиях программистов
От: genre Россия  
Дата: 21.02.11 15:12
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>>

>> определенности мы пишем конкурента 1С.
V>Да я понял. Для вашей конторы лучший вариант собеседования — экзамен с
V>домашним заданием.

Заканчивай вообще переходить на личности.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[6]: О собеседованиях программистов
От: Vzhyk  
Дата: 21.02.11 15:46
Оценка: :)
21.02.2011 17:08, genre пишет:

>

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

> Важно правильно

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

>

> V>(ибо не в силах осознать все плюсы и минусы всех, прошедших через тебя).
> А вот гадать и ставить диагноз по кофейной гуще не надо.
Это не гадание — это всего-лишь констатация факта об ограниченности
человеческого мозга. Но я так понимаю, что сей факт к тебе не относится.


> Оценку которая отражает, насколько по-моему мнению этот человек подойдет

> нашей фирме. Заметь, не только моему проекту, а любому в нашей фирме.
Люксофт?
Posted via RSDN NNTP Server 2.1 beta
Re[7]: О собеседованиях программистов
От: genre Россия  
Дата: 21.02.11 16:08
Оценка:
Здравствуйте, Vzhyk, Вы писали:


>> Не важно с какой стороны двигаться к заданной планке.

V>И это человек собеседует людей, в том числе и по алгоритмам...

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

>>

>> V>(ибо не в силах осознать все плюсы и минусы всех, прошедших через тебя).
>> А вот гадать и ставить диагноз по кофейной гуще не надо.
V>Это не гадание — это всего-лишь констатация факта об ограниченности
V>человеческого мозга. Но я так понимаю, что сей факт к тебе не относится.

Ты считаешь, что человеческий мозг не в состоянии оценить плюсы и минусы десятка другого прособеседованных людей?
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[23]: О собеседованиях программистов
От: samius Япония http://sams-tricks.blogspot.com
Дата: 21.02.11 16:08
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


S>>вот посмотрим на F#. за var — let. за экстеншн методы — пайпинг. За анонимные типы — туплы.

S>>А линк не юзабелен, т.к. called standard query operator-ы F# не знает, хоть и может вызывать методы, их реализующие.

ВВ>Вот как линк используют в F#: http://blogs.msdn.com/b/dsyme/archive/2006/01/27/fsharpmeetslinqone.aspx?wa=wsignin1.0

ВВ>Заметка Дона Сима от 2006 года, когда Линк еще не зарелизили. Главная проблема там, как видишь, в том, что "неправильный" порядок аргументов в методах типа Select, OrderBy из-за которых приходится создавать над ними обвертки. Тому же Немерле на порядок аргументов пофиг, поэтому можно вызывать напрямую. Вроде работает, нет?

Furthermore, you don't actually have to use LINQ as such (which is only in preview) — F# is already a great alternative environment for exploring the concepts that underpin the LINQ paradigm.

Оттуда. В остальном приведены байндинги на методы, реализующие стандартные query операторы.

ВВ>Кстати, странно, посмотри, что Дон Сим называет Линком. Никакого C# и поблизости нет. Сдается мне, что michael_isu завалил бы этого несчастного мужика на собеседовании.

Он не называет приведенное линком, он пишет "do some LINQ programming", что не то же самое.

ВВ>>>В FW2 и Линка нет, если что.

S>>Это определенно новость для меня. Об этом предлагаю подискутировать с авторами этого или этого.

ВВ>Ну протащили они библиотеки в FW2 и что? Это какую мысль должно подтвердить или опровергнуть?

То что в FW2 линк применим, но нет библиотек из коробки.

ВВ>>>А что добавление нового синтаксиса — это единственная интеграция с языком, которую ты можешь представить?

S>>Стандартные query операторы, правила трансляции выражений тоже являются частью интеграции. Если язык их не поддерживает, то об поддержке линка для этого языка нет речи.

ВВ>В linq2objects никакой трансляции выражений нет. Это ведь еще по-прежнему Линк?

как нет трансляции выражений?
http://msdn.microsoft.com/ru-ru/library/bb397919.aspx

Термином "LINQ to Objects" называют использование запросов LINQ непосредственно с коллекциями IEnumerable или IEnumerable(T) без промежуточных поставщиков LINQ или API-интерфейсов, таких как LINQ to SQL или LINQ to XML.


ВВ>Линк имеет отношение к методам System.Linq.Enumerable, потому что они является частью "общего пакета". Товарищи из твоей ссылки зачем-то System.Core куда-то копируют. С чего бы это?

В ней есть реализация стандартных операторов и атрибута ExtensionMethod. Linq не зашит на конкретные реализации и атрибуты, потому его устраивают и сторонние реализации. В частности LinqBridge не требует копирования System.Core. Да и я работал 3 года на самопальных реализациях.

ВВ>Но меня другое интересует — ты сейчас пытаешься доказать, что Linq является частью языка C# или мы уже просто трепемся?

Уже так походу. Доказывать я не пытаюсь, привожу факты. Если они тебя не убеждают, что Enumerable.Where это не линк, а просто метод с сигнатурой, удовлетворяющей правилу трансформаций выражений, то я готов на этом закончить.
Re[24]: О собеседованиях программистов
От: Воронков Василий Россия  
Дата: 21.02.11 16:52
Оценка:
Здравствуйте, samius, Вы писали:

ВВ>>Вот как линк используют в F#: http://blogs.msdn.com/b/dsyme/archive/2006/01/27/fsharpmeetslinqone.aspx?wa=wsignin1.0

ВВ>>Заметка Дона Сима от 2006 года, когда Линк еще не зарелизили. Главная проблема там, как видишь, в том, что "неправильный" порядок аргументов в методах типа Select, OrderBy из-за которых приходится создавать над ними обвертки. Тому же Немерле на порядок аргументов пофиг, поэтому можно вызывать напрямую. Вроде работает, нет?
S>

S>Furthermore, you don't actually have to use LINQ as such (which is only in preview) — F# is already a great alternative environment for exploring the concepts that underpin the LINQ paradigm.

S>Оттуда. В остальном приведены байндинги на методы, реализующие стандартные query операторы.

Правильно. В F# Линк не нужен. Только это не мешает его там использовать.

ВВ>>Кстати, странно, посмотри, что Дон Сим называет Линком. Никакого C# и поблизости нет. Сдается мне, что michael_isu завалил бы этого несчастного мужика на собеседовании.

S>Он не называет приведенное линком, он пишет "do some LINQ programming", что не то же самое.

Точно, это не Линк, это программирование с использованием Линка. Абсолютно разные вещи.

ВВ>>Ну протащили они библиотеки в FW2 и что? Это какую мысль должно подтвердить или опровергнуть?

S>То что в FW2 линк применим, но нет библиотек из коробки.

И в твоей ссылке описывается, как эти библиотеки "в коробку" добавить. К чему был пример, повторюсь?

ВВ>>>>А что добавление нового синтаксиса — это единственная интеграция с языком, которую ты можешь представить?

S>>>Стандартные query операторы, правила трансляции выражений тоже являются частью интеграции. Если язык их не поддерживает, то об поддержке линка для этого языка нет речи.
ВВ>>В linq2objects никакой трансляции выражений нет. Это ведь еще по-прежнему Линк?
S>как нет трансляции выражений?
S>http://msdn.microsoft.com/ru-ru/library/bb397919.aspx
S>

S>Термином "LINQ to Objects" называют использование запросов LINQ непосредственно с коллекциями IEnumerable или IEnumerable(T) без промежуточных поставщиков LINQ или API-интерфейсов, таких как LINQ to SQL или LINQ to XML.


Так и нет. Именно это, кстати, и говорится в приведенной тобой цитате.
Откуда и куда там выражения транслируются?

ВВ>>Но меня другое интересует — ты сейчас пытаешься доказать, что Linq является частью языка C# или мы уже просто трепемся?

S>Уже так походу. Доказывать я не пытаюсь, привожу факты. Если они тебя не убеждают, что Enumerable.Where это не линк, а просто метод с сигнатурой, удовлетворяющей правилу трансформаций выражений, то я готов на этом закончить.

Нет, не убеждают. Enumerable.Where — это часть того, что называют Linq-ом.
Re[25]: О собеседованиях программистов
От: samius Япония http://sams-tricks.blogspot.com
Дата: 21.02.11 18:37
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


S>>

S>>Furthermore, you don't actually have to use LINQ as such (which is only in preview) — F# is already a great alternative environment for exploring the concepts that underpin the LINQ paradigm.

S>>Оттуда. В остальном приведены байндинги на методы, реализующие стандартные query операторы.

ВВ>Правильно. В F# Линк не нужен. Только это не мешает его там использовать.

Не использовать, а вызвать метод Enumerable не мешает.

S>>Он не называет приведенное линком, он пишет "do some LINQ programming", что не то же самое.


ВВ>Точно, это не Линк, это программирование с использованием Линка. Абсолютно разные вещи.

разные, т.к. смысла "с использованием линка" там нет.

S>>То что в FW2 линк применим, но нет библиотек из коробки.

ВВ>И в твоей ссылке описывается, как эти библиотеки "в коробку" добавить. К чему был пример, повторюсь?
К тому что в FW2 линк можно использовать. И без библиотек тоже. Достаточно лишь C# 3.

ВВ>>>В linq2objects никакой трансляции выражений нет. Это ведь еще по-прежнему Линк?

S>>как нет трансляции выражений?
S>>http://msdn.microsoft.com/ru-ru/library/bb397919.aspx
S>>

S>>Термином "LINQ to Objects" называют использование запросов LINQ непосредственно с коллекциями IEnumerable или IEnumerable(T) без промежуточных поставщиков LINQ или API-интерфейсов, таких как LINQ to SQL или LINQ to XML.


ВВ>Так и нет. Именно это, кстати, и говорится в приведенной тобой цитате.

ВВ>Откуда и куда там выражения транслируются?
из Query expression в вызовы реализаций query операторов.

S>>Уже так походу. Доказывать я не пытаюсь, привожу факты. Если они тебя не убеждают, что Enumerable.Where это не линк, а просто метод с сигнатурой, удовлетворяющей правилу трансформаций выражений, то я готов на этом закончить.


ВВ>Нет, не убеждают. Enumerable.Where — это часть того, что называют Linq-ом.

это метод, на который транслируется линк. Один из.
Если я напишу MyStrangeType.Where, то это тоже будет часть Linq-а?
Re[8]: О собеседованиях программистов
От: minorlogic Украина  
Дата: 21.02.11 20:01
Оценка:
Люксофт ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[9]: О собеседованиях программистов
От: Stanislav V. Zudin Россия  
Дата: 21.02.11 20:07
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Люксофт ?


А расскажите, что не так с Люксофтом?
_____________________
С уважением,
Stanislav V. Zudin
Re[10]: О собеседованиях программистов
От: minorlogic Украина  
Дата: 21.02.11 20:10
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

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


M>>Люксофт ?


SVZ>А расскажите, что не так с Люксофтом?


А с ним что то не так ? Раскажите плз.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[11]: О собеседованиях программистов
От: Stanislav V. Zudin Россия  
Дата: 21.02.11 20:17
Оценка:
Здравствуйте, minorlogic, Вы писали:

SVZ>>А расскажите, что не так с Люксофтом?


M>А с ним что то не так ? Раскажите плз.


Да вот мне самому интересно. Уже второй человек подозревает genre в связях с Люксофтом.
Может я чего-то интересное пропустил?
_____________________
С уважением,
Stanislav V. Zudin
Re[4]: О собеседованиях программистов
От: landerhigh Пират  
Дата: 21.02.11 23:52
Оценка:
Здравствуйте, AlexFox, Вы писали:

L>>Какие-нибудь еще вопросы на основы есть?


AF>Очень нетолерантно!


Следуем новому тренду.
www.blinnov.com
Re[6]: О собеседованиях программистов
От: scale_tone Норвегия https://scale-tone.github.io/
Дата: 22.02.11 07:32
Оценка: 1 (1) +1
Здравствуйте, michael_isu, Вы писали:

_>вопрос был такой — какого типа может быть переменная list:


_>var e = list.GetEnumerator();


Согласно MSDN, метод GetEnumerator() есть у огромного множества классов, т.к. огромное множество классов поддерживает интерфейс IEnumerable. Соответственно, переменная list может быть какого угодно типа. При этом в описании метода IEnumerable.GetEnumerator()
сказано:

The foreach statement of the C# language (For Each in Visual Basic) hides the complexity of the enumerators. Therefore, using foreach is recommended, instead of directly manipulating the enumerator.

Т.е. строчки
var e = list.GetEnumerator();
в хорошем коде быть не может, ибо незачем — оператор foreach() есть.

Вы принципиально не пользуетесь оператором foreach() ?
Re[7]: О собеседованиях программистов
От: michael_isu Беларусь  
Дата: 22.02.11 08:14
Оценка:
Здравствуйте, scale_tone, Вы писали:

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


_>>вопрос был такой — какого типа может быть переменная list:


_>>var e = list.GetEnumerator();


_>Согласно MSDN, метод GetEnumerator() есть у огромного множества классов, т.к. огромное множество классов поддерживает интерфейс IEnumerable. Соответственно, переменная list может быть какого угодно типа. При этом в описании метода IEnumerable.GetEnumerator()

_> сказано:

_>The foreach statement of the C# language (For Each in Visual Basic) hides the complexity of the enumerators. Therefore, using foreach is recommended, instead of directly manipulating the enumerator.


_>Т.е. строчки

_> var e = list.GetEnumerator();
_>в хорошем коде быть не может, ибо незачем — оператор foreach() есть.

Отлично!

_>Вы принципиально не пользуетесь оператором foreach() ?


Я только им и пользуюсь
Re[7]: О собеседованиях программистов
От: elmal  
Дата: 22.02.11 08:20
Оценка:
Здравствуйте, scale_tone, Вы писали:

_>в хорошем коде быть не может, ибо незачем — оператор foreach() есть.

Есть как минимум один случай, когда нужен именно енумератор. Пример — распечатать все элементы коллекции через запятую. Соответственно нужно проверять последний ли это элемент, и если да, то разделительную запятую не выводить.
Re[8]: О собеседованиях программистов
От: scale_tone Норвегия https://scale-tone.github.io/
Дата: 22.02.11 09:01
Оценка: +1
Здравствуйте, michael_isu, Вы писали:

_>>Вы принципиально не пользуетесь оператором foreach() ?


_>Я только им и пользуюсь


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

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

Много думать — полезно. Это называется "критическое мышление". Но у нас в стране, к сожалению, под словом "думать" обычно понимают именно "помнить наизусть, в каком интерфейсе объявлен метод GetEnumerator()" и "знать определение понятия "интерфейс" в такой-то книжке такого-то великого автора", и связано это с особенностями системы образования.

Конечно, если кандидат вместо ответа на вопрос начал кидаться в Вас стульями, все вышенаписанное его не оправдывает. Но такого рода неадекватность можно выявить и более простыми способами
Re[8]: О собеседованиях программистов
От: Vzhyk  
Дата: 22.02.11 09:43
Оценка:
21.02.2011 18:08, genre пишет:

>> > Не важно с какой стороны двигаться к заданной планке.

> V>И это человек собеседует людей, в том числе и по алгоритмам...
>
> Если ты вместо кратких взываний к небу о несовершенстве мира начнешь
> давать вменяемые комментарии по сути обсуждения дискуссия имеет шансы
> стать продуктивной.
Выше была тебе дана задачка на алгоритмы, которую ты с успехом провалил.
Posted via RSDN NNTP Server 2.1 beta
Re[9]: О собеседованиях программистов
От: genre Россия  
Дата: 22.02.11 09:51
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Люксофт ?


нет.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[9]: О собеседованиях программистов
От: michael_isu Беларусь  
Дата: 22.02.11 10:20
Оценка:
Здравствуйте, scale_tone, Вы писали:

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


_>Ваш ответ: чтобы проверить, как человек говорит и думает. Но жаль, что Вы сами себе противоречите, говоря: "Много думать что зачем и почему — вредно".


_>Много думать — полезно. Это называется "критическое мышление". Но у нас в стране, к сожалению, под словом "думать" обычно понимают именно "помнить наизусть, в каком интерфейсе объявлен метод GetEnumerator()" и "знать определение понятия "интерфейс" в такой-то книжке такого-то великого автора", и связано это с особенностями системы образования.


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

_>Конечно, если кандидат вместо ответа на вопрос начал кидаться в Вас стульями, все вышенаписанное его не оправдывает. Но такого рода неадекватность можно выявить и более простыми способами


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

Я на собеседовании даю листочек с 15 простыми вопросами, вопросы от тривиальных до простых, некоторые с подвохом, некоторые бредовые.
Реакции бывают:
1. Кто-то просто спокойно отвечает на них, тогда можно задать какие-нить вопросы вообще по архитектуре и дизайну, интересная беседа может получиться, сам много нового могу узнать.
2. Кто-то начинает дрожать, покрываться пОтом, сбиваться в словах, такие как правило плавают сильно в простых вопросах.
3. От кого-то начинают выпадки и неуместные подколки, типа вы меня завалить хотите, вы издевайтесь надо мной Детсад.

Вобщем в процессе узнается то, насколько догматичен человек и насколько зашорены его мозги, насколько велико его эго и желание его проявлять при удобном случае и т.д. Ибо работать нужно в команде, общаться, обмениваться опытом, адекватно реагировать на критику, не стесняться к другим обращаться за помощью, выносить какие-то вопросы на обсуждение и т.д.
Re[8]: О собеседованиях программистов
От: Miroff Россия  
Дата: 22.02.11 10:50
Оценка:
Здравствуйте, elmal, Вы писали:

E>Есть как минимум один случай, когда нужен именно енумератор. Пример — распечатать все элементы коллекции через запятую. Соответственно нужно проверять последний ли это элемент, и если да, то разделительную запятую не выводить.


А что, в вашем мире join еще не изобрели?
Re[9]: О собеседованиях программистов
От: elmal  
Дата: 22.02.11 11:18
Оценка:
Здравствуйте, Miroff, Вы писали:

M>А что, в вашем мире join еще не изобрели?

В нашем мире join это не часть языка, это находится в сторонних либах, и внутри там как раз вот такая страшная имплементация.
Re[16]: О собеседованиях программистов
От: ArtemGorikov Австралия жж
Дата: 22.02.11 14:33
Оценка:
Здравствуйте, ettcat, Вы писали:

>> Тут все зависит от личного взгляда. Многие например пищат в восторге от майкрсофтовского собеседования, а на мой взгляд — оно чудовищно неудачно.


E> Неплохо бы теорию практикой подтверждать. Если собеседование МС

E>чудовищно неудачно — то они набирали бы неправильных людей
E>пачками. Не думаю, что на длинной дистанции это бы привело к лидерству в
E>индустрии и капитализации в 200B.

У MS собеседование адекватное. При чем тут капитализация?
Re[4]: О собеседованиях программистов
От: alzt  
Дата: 22.02.11 18:40
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Просто Alexéy путает цели компании (которых вообще не бывает) с целями отдельных людей. И он, таки, прав. Большинство интервьеров это обычные кодеры на зарплате. Им плевать, сколько принесет проект и окупится он вообще. Сколько бы не принес проект, оклад от этого не изменится. Поэтому им плевать на полезность кандидата для проекта. Совсем по другому дела обстоят там, где интервюеры напрямую имеют интерес в проекте. Например, в стартапах или мелких одноуровневых компаниях. Там обычно разговор идет конкретно-предметный: "А вот это ты делал? А как делал? А как вот такую проблему решал? Нам нужно вот такую штуку, сможешь сделать? А как ты это будешь делать? А как вот такую проблему будешь решать?"


Даже если зарплата не зависит от прибыли люди всё равно заинтересованы нанимать сильных (возможно только не стоит нанимать тех, кто сильнее тебя, на всякий случай, но тоже спорно). Ведь почти в любом проекте есть некоторая нагрузка, которая неким образом между всеми распределяется. Если взять бестолкового лодыря, то кучу времени уйдёт, чтобы ему что-то объяснить, а он всё равно найдёт как избавиться от работы.
В итоге люди будут работать за него. А можно было бы взять если не звезду, то как минимум среднего работника, который хоть что-то будет тянуть и о каких-то проблемах можно забыть.
Re[10]: О собеседованиях программистов
От: scale_tone Норвегия https://scale-tone.github.io/
Дата: 22.02.11 19:14
Оценка: 1 (1) +1
Здравствуйте, michael_isu, Вы писали:

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


Рад, что прошел Ваш тест на адекватность. Но Ваше интервью я бы гарантированно не прошел.
Сейчас, сидя в кресле с чаем и имея под рукой MSDN, я в состоянии аргументированно доказать некорректность вопроса. А сделать то же самое за 4 минуты на собеседовании... Да я бы даже не факт, что догадался бы, что речь идет об IEnumerable.

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


Вы столько много всего успеваете, и все это за час... Я так точно не умею
Я — технический специалист. Программа-максимум, которую я себе могу поставить при часовом (!) интервьюировании кандидата — выяснить 1) уровень его знаний и начитанность в конкретной требуемой нам области, 2) масштабы предыдущих проектов и 3) не кидается ли он с порога стульями.
Моего многолетнего опыта в отрасли мне все равно не хватит, чтобы за час определить размер его эго, угол зашоренности мозгов, коэффициент интеграции в IT-сообщество, насколько приятно пить с ним пиво и т.д... Мне для этого потребовался бы диплом психфака МГУ и еще несколько лет соответствующей практики.
Тут вот некоторые компании для достижения схожей цели держат целые департаменты, придумывают вопросы типа "почему лево и право меняются в зеркале, а верх и низ — нет", пишут многостраничные руководства, устраивают интервью в день длинной — и все равно временами обламываются.

P.S. — Один из лучших знакомых мне программеров вообще не может проходить интервью. Он заикается, причем в состоянии стресса настолько сильно, что нельзя ничего разобрать. При этом он — лидер проекта по разработке игровых 3D-движков в очень крутой компании. А Вы — "важно то, как человек говорит"...
Re[18]: О собеседованиях программистов
От: __kot2  
Дата: 23.02.11 04:35
Оценка:
Здравствуйте, blackhearted, Вы писали:
B>Здравствуйте, __kot2, Вы писали:
__>>если взять оттуда случайные 100 человек, дать Х денег и сказать — все, вы теперь другая контора, экшен! становись профитабл, делай продукт, они просрут все деньги и выдадут мохнатую зеленую какашку, которая полностью провалится в продажах.
B>а из какой конторы будет не так? назовите претендентов. гугл? яблоко? то же самое будет.
да многие стартапы основаны "выходцами из гугла". Эппл в первую очередь дизайнерская контора, ИТ у них по остаточному принципу развивается. вон, даже будильник сделать не могут нормальный, поэтому оттуда уходят скорее в дизайн, ну а за новостями дизайна я не слежу.
Re[17]: О собеседованиях программистов
От: ettcat США  
Дата: 23.02.11 07:30
Оценка:
>>> Тут все зависит от личного взгляда. Многие например пищат в восторге от майкрсофтовского собеседования, а на мой взгляд — оно чудовищно неудачно.

E>> Неплохо бы теорию практикой подтверждать. Если собеседование МС

E>>чудовищно неудачно — то они набирали бы неправильных людей
E>>пачками. Не думаю, что на длинной дистанции это бы привело к лидерству в
E>>индустрии и капитализации в 200B.

AG>У MS собеседование адекватное.

Совершенно согласен.

AG>При чем тут капитализация?

Я считаю что для конторы типа МС (да и для Гугла) необходимым условием завоевать лидерство был найм адекватных кадров (однако условием совершенно не достаточным). То есть набирай они неподходящих людей — не поднялись бы, и в лидеры не вышли. Хотя бы потому что основная часть персонала — это как раз разработчики, тестеры и ПМы. И основной value делают
Re[18]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 23.02.11 07:36
Оценка:
Здравствуйте, ettcat, Вы писали:

E>Хотя бы потому что основная часть персонала — это как раз разработчики, тестеры и ПМы.


Sales-ы, не самом деле.
Re[18]: О собеседованиях программистов
От: ArtemGorikov Австралия жж
Дата: 23.02.11 07:44
Оценка: :)
Здравствуйте, ettcat, Вы писали:

E>>> Неплохо бы теорию практикой подтверждать. Если собеседование МС

E>>>чудовищно неудачно — то они набирали бы неправильных людей
E>>>пачками. Не думаю, что на длинной дистанции это бы привело к лидерству в
E>>>индустрии и капитализации в 200B.

AG>>У MS собеседование адекватное.

E>Совершенно согласен.

AG>>При чем тут капитализация?

E>Я считаю что для конторы типа МС (да и для Гугла) необходимым условием завоевать лидерство был найм адекватных кадров (однако условием совершенно не достаточным). То есть набирай они неподходящих людей — не поднялись бы, и в лидеры не вышли. Хотя бы потому что основная часть персонала — это как раз разработчики, тестеры и ПМы. И основной value делают

У МС все кроме темы XBOX уже много лет сливает. Винда-офис в стагнации, мобило-винде пришел песец.
Re[19]: О собеседованиях программистов
От: blackhearted Украина  
Дата: 23.02.11 09:27
Оценка:
Здравствуйте, ArtemGorikov, Вы писали:

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


E>>>> Неплохо бы теорию практикой подтверждать. Если собеседование МС

E>>>>чудовищно неудачно — то они набирали бы неправильных людей
E>>>>пачками. Не думаю, что на длинной дистанции это бы привело к лидерству в
E>>>>индустрии и капитализации в 200B.

AG>>>У MS собеседование адекватное.

E>>Совершенно согласен.

AG>>>При чем тут капитализация?

E>>Я считаю что для конторы типа МС (да и для Гугла) необходимым условием завоевать лидерство был найм адекватных кадров (однако условием совершенно не достаточным). То есть набирай они неподходящих людей — не поднялись бы, и в лидеры не вышли. Хотя бы потому что основная часть персонала — это как раз разработчики, тестеры и ПМы. И основной value делают

AG>У МС все кроме темы XBOX уже много лет сливает. Винда-офис в стагнации, мобило-винде пришел песец.


никак не сольёт окончательно, вот незадача.
Сколько там доля рынка у сливающих виндов?
Re[20]: О собеседованиях программистов
От: ArtemGorikov Австралия жж
Дата: 23.02.11 13:00
Оценка:
Здравствуйте, blackhearted, Вы писали:

B>никак не сольёт окончательно, вот незадача.

B>Сколько там доля рынка у сливающих виндов?
Встречный вопрос- сколько доля рынка у разработчиков под винду? А под юникс?
Re[21]: О собеседованиях программистов
От: blackhearted Украина  
Дата: 23.02.11 13:27
Оценка:
Здравствуйте, ArtemGorikov, Вы писали:

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


B>>никак не сольёт окончательно, вот незадача.

B>>Сколько там доля рынка у сливающих виндов?
AG>Встречный вопрос- сколько доля рынка у разработчиков под винду? А под юникс?

расскажите, просветите .
Re[22]: О собеседованиях программистов
От: Arsen.Shnurkov  
Дата: 23.02.11 21:16
Оценка:
B>расскажите, просветите .

пожалуйста:
http://www.linux.org.ru/forum/talks/5576613
Re[23]: О собеседованиях программистов
От: ArtemGorikov Австралия жж
Дата: 23.02.11 21:47
Оценка:
Здравствуйте, Arsen.Shnurkov, Вы писали:

B>>расскажите, просветите .


AS>пожалуйста:

AS>http://www.linux.org.ru/forum/talks/5576613

Линух тут не при чем. Поиск по монстру и сику вакансий на C++ выдаст 90% Unix- это все инвест-банки и встраиваемые системы.
Re: О собеседованиях программистов
От: DorfDepp  
Дата: 24.02.11 12:52
Оценка: 4 (3) :)
Здравствуйте, Wissenschaftler, Вы писали:

W>Читал очередной псто на тему "байки интервьюеров" и задался вопросом: а вот почему на 99% собеседований на программистов в РФ людей спрашивают:

W>Как отсортировать массив
W>Как объявить хитровывернутый указатель на хитровывернутый массив функций
W>Как называется какой-нибудь редкоиспользуемый exception из недр std
W>Сколько параметров у IoCreateFile()
W>и т.п.
W>но никто, никто, чёрт возьми, не задает такие вопросы, как:
W>Как бы Вы разбили эту задачу на адекватные подзадачи, чтобы минимизировать риски
W>Как бы организовали систему тестов, если бы пришлось разрабатывать такую-то систему
W>Как бы пошагово локализовывали такой-то баг в некоторой системе
W>Даже при собеседовании на архитекторские позиции с большей вероятности будут вопросы а-ля назовите 15 паттернов за 10 секунд и чочо обозначает мохнато-пунктирная линия в UML, чем опять-таки умение оценивать проблему и разбивать "неохватываемое" решение на реалистичные шаги.
W>Может быть, в этом причина того, что работать приходят сплошные задроты, зазубрившие учебник, а люди, способные думать, уходят из индустрии, либо садятся в трактор?

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

Правы вы, все так и есть. На собеседованиях в России всегда был какой-то непонятный перекос от общего к частному.

Последние несколько лет прожил в Германии, разница очень бросается в глаза.

Немцы обычно задают общие вопросы, чтобы понять, что за человек, откуда он пришел и куда он идет. Что он делал, что он умеет, что ему нравится, в каком направлении хочет развиваться. Задают вопросы, позволяющие оценить степень зрелости — и о проблемах в коллективе, и об отношении к качеству, цели, приоритеты. В результате складывается цельная картина личности.

В России (в Москве, по крайней мере) таких вопросов никогда мне не задавали. Все, что людей интересует, это набор мелких фактических знаний, еще не забытых или хорошо зазубренных. На редкость бестолковый подход, на мой взгляд.

Несколько раз случалось мне в Германии проводить собеседования с русскими. Случалось, оказывались откуда-то на фирме, им, видимо, и поручали со мной поговорить. Все такие разговоры шли не по немецкой схеме, а по узнавамой русской. Короткое "здрасьте", и сразу, без предварительного разговора, сыпались все те же мелкие вопросы:

— Чем отличается класс от интерфейса
— Чем отличается overloading от overriding
— Какие методы библиотек используются в каких-то там случаях

и т.п.

Общих вопросов никогда не было. К счастью, не пришлось мне с теми фирмами работать.

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

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

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

Мне все больше кажется, что к русским людям применимы слова "кодировщик", "программист", к западным людям подходят больше роли более высокого уровня, такие как "разработчик", консультант, контрактор.
Re[5]: О собеседованиях программистов
От: Miroff Россия  
Дата: 24.02.11 13:26
Оценка:
Здравствуйте, alzt, Вы писали:


A>Даже если зарплата не зависит от прибыли люди всё равно заинтересованы нанимать сильных


Только стремление нанимать "сильных" у таких людей вырождается в стремление нанимать "таких как я". Это понятно, если я найму второго себя, на него можно будет свалить половину моей работы. Канонический пример такого подхода это физтехи, которые стремятся нанимать только физтехов. Отсюда, кстати, забавное следствие: чем больше народу участвует в составлении требований, тем выше эти требования и тем труднее пройти собеседование.
Re[24]: О собеседованиях программистов
От: blackhearted Украина  
Дата: 24.02.11 15:25
Оценка:
Здравствуйте, ArtemGorikov, Вы писали:

AG>Здравствуйте, Arsen.Shnurkov, Вы писали:


B>>>расскажите, просветите .


AS>>пожалуйста:

AS>>http://www.linux.org.ru/forum/talks/5576613

AG>Линух тут не при чем. Поиск по монстру и сику вакансий на C++ выдаст 90% Unix- это все инвест-банки и встраиваемые системы.


открою тайну, в инвестбанках пишут и под винды. И даже больше чем под линух, особенно внутренние системы.
Re[2]: О собеседованиях программистов
От: Donz Россия http://donz-ru.livejournal.com
Дата: 25.02.11 07:33
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>New Interview Questions for Senior Software Engineers


Боюсь, с таким списком вопросов набор программистов может встать намертво.
Re[3]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 25.02.11 07:35
Оценка: +1
Здравствуйте, Donz, Вы писали:

L>>New Interview Questions for Senior Software Engineers


D>Боюсь, с таким списком вопросов набор программистов может встать намертво.


Да нормальный список. Просто у нас кого-нипопадя называют сеньерами.
Re[2]: О собеседованиях программистов
От: Donz Россия http://donz-ru.livejournal.com
Дата: 25.02.11 07:58
Оценка:
Здравствуйте, DorfDepp, Вы писали:

DD>Короткое "здрасьте", и сразу, без предварительного разговора, сыпались все те же мелкие вопросы:

DD>- Чем отличается класс от интерфейса
DD>- Чем отличается overloading от overriding
DD>- Какие методы библиотек используются в каких-то там случаях

Последнее дурость, согласен. Первый вопрос совсем для начинающих, тоже не стал бы его задавать. А вот второй вполне себе. Полиморфизм и наследование — это базовые составляющие ООП языка. Если человек, идя на позицию разработчика на конкретной платформе, не может на него ответить, о чем дальше говорить? Как он будет проектировать по SOLID'у и разбивать разработку на изолированные максимально независимые подзадачи, не имея понятия об элементарных вещах?

DD>Я, к счастью, этого избежал. Как со студенческих времен повелось у меня читать англоязычные документы и искать помощи на англоязычных форумах, так я и вырос с их мировоззрением. А русских сообществ я избежал полностью. Сейчас думаю, что мне просто замечательно с этим повезло.


Да, да. Мы уже поняли, какой вы замечательный и как вам повезло

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


Не задумывались, почему Brainbench, MSC и прочие сертификационные программы, где необходимо знание совсем оторванных от жизни вещей, в том числе и набор методов в том или ином классе, создавались и создаются не в России? Видимо, на Западе русские программисты эту затею пролоббировали. Или же внедрились большими начальниками в микрософты, саны и циски для угнетения творческих западных людей своими мелкими тестиками
Re[3]: О собеседованиях программистов
От: Vzhyk  
Дата: 25.02.11 09:50
Оценка:
25.02.2011 9:58, Donz пишет:

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

> понятия об элементарных вещах?
Тонко троллишь, молодец.
Posted via RSDN NNTP Server 2.1 beta
Re[11]: О собеседованиях программистов
От: michael_isu Беларусь  
Дата: 25.02.11 12:43
Оценка:
Здравствуйте, scale_tone, Вы писали:

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


_> Рад, что прошел Ваш тест на адекватность. Но Ваше интервью я бы гарантированно не прошел.

_>Сейчас, сидя в кресле с чаем и имея под рукой MSDN, я в состоянии аргументированно доказать некорректность вопроса. А сделать то же самое за 4 минуты на собеседовании... Да я бы даже не факт, что догадался бы, что речь идет об IEnumerable.

Не факт, что не прошли бы Черт с ним с этим IEnumerable, я сам много чего не знаю, не в знаниях дело, их можно добыть в MSDN.
Re: О собеседованиях программистов
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.02.11 14:01
Оценка:
Здравствуйте, Wissenschaftler, Вы писали:

W>но никто, никто, чёрт возьми, не задает такие вопросы, как:

W>Как бы Вы разбили эту задачу на адекватные подзадачи, чтобы минимизировать риски
W>Как бы организовали систему тестов, если бы пришлось разрабатывать такую-то систему
W>Как бы пошагово локализовывали такой-то баг в некоторой системе

Почему же никто ? Я вот задаю. Не такие конечно. Попроще.
Re[3]: О собеседованиях программистов
От: elmal  
Дата: 26.02.11 06:24
Оценка:
Здравствуйте, Donz, Вы писали:

D>Боюсь, с таким списком вопросов набор программистов может встать намертво.

А вот именно этот список вопросов лично мне понравился. Относительно встанет — вряд ли. Те, кто проваливают текущие собеседования, вполне вероятно осилят этот список, так как он более практичен. Не 100% вопросов конечно осилят, но тем не менее. А далее и остальные подтянутся, так как будут готовиться именно вот к таким вопросам, заодно и польза будет, хотя б в теории будут знать то, что требуется реально на практике.
Re[2]: О собеседованиях программистов
От: SE Украина  
Дата: 05.03.11 21:17
Оценка:
Здравствуйте, De-Bill, Вы писали:


W>>Как бы Вы разбили эту задачу на адекватные подзадачи, чтобы минимизировать риски


DB>90% программистов не умеет толком оценить сроки, а ты про риски. Тем более, что риски — это уровень ответственности лида и менеджера, а не программиста.


Может, потому и сроки не могут оценить, что о рисках не задумываются? Это же "уровень ответственности лида и менеджера, а не программиста".
Re[16]: О собеседованиях программистов
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.11 20:12
Оценка:
Здравствуйте, samius, Вы писали:

S>Только линком называется не библиотека, а комплекс средств, большая часть из которых — языковые расширения. Некоторые из них не доступны в C++/CLI — анонимные типы, екстеншн методы, Query expression. теряюсь даже как там с лямбдами и замыканиями для CLI.


Кстати, есть такой язык — F#. В нем нет анонимных типов и методов-расширений, но тем не менее LINQ поддерживается. Даже свой синтаксис имеется.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: О собеседованиях программистов
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.11 20:34
Оценка:
Здравствуйте, samius, Вы писали:

S>Для меня все довольно однозначно. Линк без поддержки фреймворка имеет смысл, Линк без поддержки языка — нет. Потому я против того что бы рассматривать Линк отдельно от языка.


Линк без поддержки языка (в смысле синтаксических расширений) вполне себе имеет право на жизнь. То что линк включает в себя очень хорошо продуманную библиотеку обработки последовательностей и АСТ выражений и средства его компиляции уже не мало. А вот как раз без синтаксиса можно спокойно обойтись. Реальная польза от синтаксиса появляется только при использовании джоинов и других сложных конструкций.

Ну, и синтаксис вполне может быть совсем другим.

ВВ>>А "со стороны фреймворка" Линк — это далеко не только библиотека с ФВП, это и абстрактное АСТ, и отдельный компилятор для выражений.

S>Только по той милости что компиляторы в самом фреймворке. Еще раз, линк без поддержки фреймворка возможен.

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

S>>>ну и как, сильно похоже на LINQ:

S>>>Enumerable::Select(Enumerable::Where(Enumerable::Join(source, ...
S>>>?

ВВ>>Смысл вопроса мне неясен.

S>Я просто считаю что то что вызываются методы из неймспейса System::Linq, говорит только о том, что вызываются методы из этого неймспейса.
ВВ>>А seq.Select(...).Where(...) сильно похоже на Линк?
S>Довольно похоже, но на самом деле это может быть банальным fluent интерфейсом

ВВ>>Или Select(_,...) |> Where (_,...)?

S>совсем не похоже

А меж тем это он. И в итоге в сборке будет код такой же как если бы ты использовал методы расширения или синтаксис. Только местами нужно все переставить. Вот тебе реальный пример который можно скомпилирвоать и запустить:
using Nemerle.Linq;
using System.Console;
using System.Linq;
using System.Linq.Enumerable;

module Program
{
  Main() : void
  {
    def data = $[1..10];
    
    def result1 = data.Where(x => x % 2 == 0).Select(x => x * x);
    WriteLine($"result1=..$result1");

    def result2 = data |> Where(_, x => x % 2 == 0) |> Select(_, x => x * x);
    WriteLine($"result2=..$result2");

    def result3 = linq <# from x in data where x % 2 == 0 select x * x #>;
    WriteLine($"result3=..$result3");
  }
}

На консоль будет выведено:
result1=4, 16, 36, 64, 100
result2=4, 16, 36, 64, 100
result3=4, 16, 36, 64, 100
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: О собеседованиях программистов
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.11 20:45
Оценка:
Здравствуйте, samius, Вы писали:

ВВ>>Линк без поддержки фреймворка это просто синтаксис. Какой еще он может иметь смысл? По-моему в этом синтаксисе вообще смысла довольно мало.

S>var, анонимные типы — это не синтаксис.

А они вообще мало к линку относятся. В немерле никаких анонимных типов и var нет (есть кортежи, макросы и def), но линк использовать можно.

ВВ>>Нет, не все равно. Линк таки включает в себя библиотеку для работы с коллекциями в функциональном стиле, причем библиотека эта спокойно может использоваться и без синтаксиса.

S>Не сильно спокойно.

Я даже предпочитаю использовать ее без синтаксиса. В простых случаях (коих большинство в моем коде) синтаксис только все усложняет. Более того некоторые вещи вообще нельзя через синтаксис выразить. Например, есть перегрузки методов Where и Select принимающие индекс. Их можно использовать только без синтаксиса.

ВВ>>У Линка свой компилятор выражений, если что.

S>В FW 2 его нет, если что.

Ну, так в нем ты и не получишь фичи линка вроде конвертации в деревья выражений и их компиляцию на лету.

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

S>>>Еще раз, линк без поддержки фреймворка возможен.


ВВ>>Возможен синтаксис. Но 1) линк это не только синтаксис и 2) линк возможен и без синтаксиса.

S>LINQ без интеграции с языком? Интригует

Рядом я привел пример. Может грязи чуть больше, но оно работает и выглядит вполне прилично. В F# только через конвеерный оператор |> линк и можно использовать. Причем даже с деревьями выражений можно работать.

ВВ>>В сухом остатке для удобного использования все инфраструктуры Линка достаточно лишь синтаксиса, позволяющего "по месту" объявлять делегаты. Все. Можно использовать Линк, а возможности C# — только в рамках 2.0.

S>Это только возможность вызова методов, не более. Интеграции в язык нет.

Ага. Интеграции нет, а использовать можно. И если язык хороший, то и проблем особых не возникает.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: О собеседованиях программистов
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.11 20:49
Оценка:
Здравствуйте, samius, Вы писали:

ВВ>>А что добавление нового синтаксиса — это единственная интеграция с языком, которую ты можешь представить?

S>Стандартные query операторы, правила трансляции выражений тоже являются частью интеграции. Если язык их не поддерживает, то об поддержке линка для этого языка нет речи.

Ну, вот немерл сам ничего этого не поддерживает. А линк поддерживает. Потому как в нем ФП на хорошем уровне с самого начала был, и потому как в нем макросы есть.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: О собеседованиях программистов
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.11 21:03
Оценка:
Здравствуйте, samius, Вы писали:

S>>>То что в FW2 линк применим, но нет библиотек из коробки.

ВВ>>И в твоей ссылке описывается, как эти библиотеки "в коробку" добавить. К чему был пример, повторюсь?
S>К тому что в FW2 линк можно использовать. И без библиотек тоже. Достаточно лишь C# 3.

Странный ты товарищ. Тебе говорят, что аббревиатура LINQ сильно перегружена. Что под ней понимается много чего. А ты все талдычишь, что "Достаточно лишь C# 3". Да можно и так интерпретировать. Но достаточно и просто FW 3.5 без C# 3. Тоже будет работать.

В общем, в понятие входит и языковые расширения, и библиотеки, и идеология трансформации кода в АСТ. И что характерно некоторые аспкты линка нельзя использовать имея только C# 3, а вот имея только FW 3.5 и скажем Nemerle или на худой конец F# линк как не странно использовать вполне можно. И это все равно будут называть линком.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: О собеседованиях программистов
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.11 21:11
Оценка:
Здравствуйте, Lloyd, Вы писали:

_>>вопрос был такой — какого типа может быть переменная list:


_>>var e = list.GetEnumerator();


L>IEnumerator? Мне кажется или вы сами на свой вопрос не смогли оветить?


Кстати, садись — дав! Вопрос то был про переменную list. А она уж точно не должна быть IEnumerator, так как должна быть реализовывать паттерн перечислителя.

Но вопрос и правда можно интерпретирвоать по разному. Скажем типом list может быть System.Collections.Generic.List<T>. И что характерно тогда типом e будет System.Collections.Generic.List<T>.Enumerator<T>, а никак не System.Collections.Generic.IEnumerator<T>.

В прочем, System.Collections.Generic.IEnumerator<T> является супертипом для System.Collections.Generic.List<T>.Enumerator<T>, так что в принципе ответ System.Collections.Generic.IEnumerator<T> скорее всего удовлетворил бы. А может и не удовлетворил бы. Тут ведь интерпретировать можно очень по разному.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: О собеседованиях программистов
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.11 21:19
Оценка:
Здравствуйте, scale_tone, Вы писали:

_>>var e = list.GetEnumerator();


_>Согласно MSDN, метод GetEnumerator() есть у огромного множества классов, т.к. огромное множество классов поддерживает интерфейс IEnumerable. Соответственно, переменная list может быть какого угодно типа.


Самое забавное в этом вопрос то, что GetEnumerator() не обязан быть методом интерфейса. Скажем оператор foreach C# и Nemerle (за VB не ручаюсь) увидев у типа метод GetEnumerator() использует его без оглядки на интерфейс. Требуется только чтобы у объекта (а это может быть и структура) возвращаемого GetEnumerator() были метод MoveNext и свойство Current. Так что это может быть любой тип без каких бы то ни было оговорок.

Проблема в том, что это знания которые реально нужны только, пожалуй, писателям компиляторов. Если интересны детали читайте раздел 8.8.4 The foreach statement спецификации шарпа.

Спрашивать же такое на собеседованиях по-моему не разумно.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: О собеседованиях программистов
От: Lloyd Россия  
Дата: 13.03.11 05:23
Оценка:
Здравствуйте, VladD2, Вы писали:

_>>>var e = list.GetEnumerator();


L>>IEnumerator? Мне кажется или вы сами на свой вопрос не смогли оветить?


VD>Кстати, садись — дав! Вопрос то был про переменную list. А она уж точно не должна быть IEnumerator, так как должна быть реализовывать паттерн перечислителя.


VD>Но вопрос и правда можно интерпретирвоать по разному. Скажем типом list может быть System.Collections.Generic.List<T>. И что характерно тогда типом e будет System.Collections.Generic.List<T>.Enumerator<T>, а никак не System.Collections.Generic.IEnumerator<T>.


VD>В прочем, System.Collections.Generic.IEnumerator<T> является супертипом для System.Collections.Generic.List<T>.Enumerator<T>, так что в принципе ответ System.Collections.Generic.IEnumerator<T> скорее всего удовлетворил бы. А может и не удовлетворил бы. Тут ведь интерпретировать можно очень по разному.


Ну в таком случае и ты садись с двойкой. За что — догадаешься сам.
Re[17]: О собеседованиях программистов
От: samius Япония http://sams-tricks.blogspot.com
Дата: 13.03.11 07:44
Оценка:
Здравствуйте, VladD2, Вы писали:

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


S>>Только линком называется не библиотека, а комплекс средств, большая часть из которых — языковые расширения. Некоторые из них не доступны в C++/CLI — анонимные типы, екстеншн методы, Query expression. теряюсь даже как там с лямбдами и замыканиями для CLI.


VD>Кстати, есть такой язык — F#. В нем нет анонимных типов и методов-расширений, но тем не менее LINQ поддерживается. Даже свой синтаксис имеется.


Может пример? Что-нибудь вроде Linq2Objects с комбинированием нескольких методов System.Linq, без рукописных оберток...
Re[21]: О собеседованиях программистов
От: samius Япония http://sams-tricks.blogspot.com
Дата: 13.03.11 07:47
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Рядом я привел пример. Может грязи чуть больше, но оно работает и выглядит вполне прилично. В F# только через конвеерный оператор |> линк и можно использовать. Причем даже с деревьями выражений можно работать.


Можно пример использования в F# линка через |> без оберток методов?
Re[2]: О собеседованиях программистов
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 13.03.11 15:16
Оценка:
Здравствуйте, Lloyd, Вы писали:

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


W>>Даже при собеседовании на архитекторские позиции с большей вероятности будут вопросы а-ля назовите 15 паттернов за 10 секунд и чочо обозначает мохнато-пунктирная линия в UML, чем опять-таки умение оценивать проблему и разбивать "неохватываемое" решение на реалистичные шаги.


L>New Interview Questions for Senior Software Engineers


Да, это уже более-менее вменяемый список. Конечно, он адаптирован на "внутреннее ПО" и имеет явную тягу к миру C++, но может быть адаптирован под любую специфику.

Осталось научить его применять HR'ов (ой, не доживу).
The God is real, unless declared integer.
Re[8]: О собеседованиях программистов
От: scale_tone Норвегия https://scale-tone.github.io/
Дата: 13.03.11 15:28
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Проблема в том, что это знания которые реально нужны только, пожалуй, писателям компиляторов. Если интересны детали читайте раздел 8.8.4 The foreach statement спецификации шарпа.


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

VD>Спрашивать же такое на собеседованиях по-моему не разумно.


Это мы и попытались сообща объяснить человеку.
Re[9]: О собеседованиях программистов
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.03.11 17:13
Оценка: +2
Здравствуйте, scale_tone, Вы писали:

VD>>Спрашивать же такое на собеседованиях по-моему не разумно.


_>Это мы и попытались сообща объяснить человеку.


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

Но, возможно, в этом есть глубокий смысл. Ведь человеку который знает в разы больше своего начальника будет крайне трудно будет жить при таком начальнике. Так что то, что его завернули даже лучше для него же. Найдет себе работу с более образованным и вменяемым начальством.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: О собеседованиях программистов
От: VerHanna Польша  
Дата: 14.03.11 09:38
Оценка: -1 :)
Здравствуйте, Klatu, Вы писали:

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


L>>Значит мне просто везло. Полсотни у меня конечно не наберется, но десятка полтора — это точно. Строго по спискам — вообще практически ни одного не было, а неадекватных можно было по пальцам одной руки пересчитать.


K>Тут все зависит от личного взгляда. Многие например пищат в восторге от майкрсофтовского собеседования, а на мой взгляд — оно чудовищно неудачно.


Оно супер удачно, сам подход и реализация — на это нужно равняться всем.
на самом деле они проверяют логику и здравый смысл, аналитический ум, а не знания ответов на "скажите пожалуйста а что такое black box тестирование" или "white box тестирование" жуть...
"Ну дела, — подумал Лось, —
Не хотелось.
А пришлось". (c)
Re[17]: О собеседованиях программистов
От: VerHanna Польша  
Дата: 14.03.11 09:44
Оценка:
__>они все еще сидят на старом жирке. они могут вообще больше ничего не делать, фиксить баги офиса и windows и еще долго будут лидерами
__>все же их новые начинания феерически провальны


На каждого мудреца довольно простоты
"Ну дела, — подумал Лось, —
Не хотелось.
А пришлось". (c)
Re[16]: О собеседованиях программистов
От: Klatu  
Дата: 14.03.11 10:04
Оценка:
Здравствуйте, VerHanna, Вы писали:

VH>Оно супер удачно, сам подход и реализация — на это нужно равняться всем.

VH>на самом деле они проверяют логику и здравый смысл, аналитический ум, а не знания ответов на "скажите пожалуйста а что такое black box тестирование" или "white box тестирование" жуть...

Вот, вот, еще один пример
Это они думают, что проверяют логику и здравый смысл, аналитический ум. А на самом деле, они проверяют — зубрил ли кандидат типовые задачи, которые они задают. Набор которых, кстати, довольно невелик.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[17]: О собеседованиях программистов
От: VerHanna Польша  
Дата: 14.03.11 10:09
Оценка: :))
Здравствуйте, Klatu, Вы писали:

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


VH>>Оно супер удачно, сам подход и реализация — на это нужно равняться всем.

VH>>на самом деле они проверяют логику и здравый смысл, аналитический ум, а не знания ответов на "скажите пожалуйста а что такое black box тестирование" или "white box тестирование" жуть...

K>Вот, вот, еще один пример

K>Это они думают, что проверяют логику и здравый смысл, аналитический ум. А на самом деле, они проверяют — зубрил ли кандидат типовые задачи, которые они задают. Набор которых, кстати, довольно невелик.

Big point: каждому интервьюеру важен ход твоих мыслей, а не суперправильные ответы. А на наших собеседованиях важна как раз теория.
Чёт вы попутали, сударь
"Ну дела, — подумал Лось, —
Не хотелось.
А пришлось". (c)
Re[3]: О собеседованиях программистов
От: VerHanna Польша  
Дата: 14.03.11 10:14
Оценка:
Здравствуйте, Wissenschaftler, Вы писали:

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


MZ>>А "Как отсортировать массив" и "Как объявить хитровывернутый указатель"

MZ>>-- это основы, их надо проверять, чтобы идти дальше. Если этого
MZ>>нет -- остальное спрашивать бессмысленно. Ну и разумеется,
MZ>>если чел. что-то там незначительное забыл -- это не так и важно.
W>"Основы" бывают используемые на практике и нет. Скажем, я пару раз за 10+ лет разработки использовал С++-ные указатели на методы (pObject->(*pMethod)). И если они мне понадобятся в третий раз, я за минуту найду этот фрагмент в моем старом коде и скопипащу его в новый. А если на собеседовании мне дадут лист бумаги и ручку и попросят нарисовать по-памяти синтаксис указателей на методы, мой ответ будет — к гуглу. Соответственно, ваш тест на "основы" я проавлю. Зато, свежий выпускник, вызубривший книжку типа "С++ за 21 день" пройдет с результатом 100%, хотя в реальном проекте толку от него будет мало.

Ты стопроцентно прав.
"Ну дела, — подумал Лось, —
Не хотелось.
А пришлось". (c)
Re[18]: О собеседованиях программистов
От: Klatu  
Дата: 14.03.11 10:36
Оценка:
Здравствуйте, VerHanna, Вы писали:

VH>Big point: каждому интервьюеру важен ход твоих мыслей, а не суперправильные ответы. А на наших собеседованиях важна как раз теория.


"Правильный ход мыслей" тоже зубрят. Пара-тройка нужных реплик, вуаля — собеседование пройдено.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: О собеседованиях программистов
От: Kerk Россия  
Дата: 14.03.11 10:44
Оценка: +1
Здравствуйте, Wissenschaftler, Вы писали:

W>Читал очередной псто на тему "байки интервьюеров" и задался вопросом: а вот почему на 99% собеседований на программистов в РФ людей спрашивают:

W>Как отсортировать массив
W>Как объявить хитровывернутый указатель на хитровывернутый массив функций
W>Как называется какой-нибудь редкоиспользуемый exception из недр std
W>Сколько параметров у IoCreateFile()
W>и т.п.

Меня всегда удивляла эта сторона RSDN. Мне НИРАЗУ не задавали ни эти вопросы, ни подобные им. И сортировку ниразу не просили написать. Да и на собеседованиях я бываю очень редко. И у моих знакомых в реале опыт примерно такой же.

Но потрет среднего кывтовца выглядит иначе. Во-первых, он ходит на собеседования не меньше 10 раз в год (иначе не будет такого огромного опыта их посещения), во-вторых, ему там задают дебильные вопросы про количество параметров у функций. Складывается впечатление, что завсегдатаи таких тем — это джуниоры, которых отовсюду выгоняют. Хочется верить, что это не так, но...
No taxation without representation
Re: О собеседованиях программистов
От: los puercos  
Дата: 15.03.11 07:19
Оценка:
Здравствуйте, Wissenschaftler, Вы писали:

W>Читал очередной псто на тему "байки интервьюеров" и задался вопросом: а вот почему на 99% собеседований на программистов в РФ людей спрашивают:

W>Как отсортировать массив
W>Как объявить хитровывернутый указатель на хитровывернутый массив функций
W>Как называется какой-нибудь редкоиспользуемый exception из недр std
W>Сколько параметров у IoCreateFile()
W>и т.п.
W>но никто, никто, чёрт возьми, не задает такие вопросы, как:
W>Как бы Вы разбили эту задачу на адекватные подзадачи, чтобы минимизировать риски
W>Как бы организовали систему тестов, если бы пришлось разрабатывать такую-то систему
W>Как бы пошагово локализовывали такой-то баг в некоторой системе

Вы на какой-то другой планете проходили собеседования.
Мне ни разу не задавали дурацких вопросов по сортировке и уж тем более "сколько параметров". Опыт — около 10 собеседований.
Обычно начиналось с краткого скрининга по основам рабочего языка (C++), а основной разговор строился вокрг вопросов проектирования.
Иногда было 2 собеседования (по языку и проектированию).
Домашнее задание пытались дать 3 раза. 2 раза делать не стал, один раз сделал (трудоемкость менее 2 часов, вполне мог бы решить и на собеседовании).
Так что адекватных контор к счастью намного больше, чем пытаются представить форумные нытики.
Re[19]: О собеседованиях программистов
От: DmytroL Украина http://www.linkedin.com/in/dmytrol
Дата: 01.04.11 08:31
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Выкинуть к черту идиотские головоломки про квадратные люки.


Читал пару отзывов о недавних собеседованиях в MS, народ спецом отмечает, что про люки и другие подобные задачки из всем известной книги никто уже не спрашивает:

P.S. 0. Как видите, никто меня не спрашивал про то, почему люки круглые, а я читал книгу “Как сдвинуть гору Фудзи?”, и был готов ответить на этот вопрос. Могу вас расстроить, меня и на устных собеседованиях никто не спросил об этом.


(источник

K>Говорить только о реальных проектах и задачах, код писать на ноутбуке а не на бумажке.


А вот код на доске писать-таки просят. Впрочем, проверяют такими задачами отнюдь не знание API или фреймворков, а алгоритмов и структур данных, так что, с одной стороны — вряд ли "снизят балл" за синтаксические ошибки, с другой — IDE с ноутбуком мало помогут, все равно ожидается, что кандидат будет рассуждать вслух и иллюстрировать процесс поиска решения.
Re[2]: О собеседованиях программистов
От: CannyMan  
Дата: 01.04.11 08:41
Оценка:
Здравствуйте, DorfDepp, Вы писали:

DD>Несколько раз случалось мне в Германии проводить собеседования с русскими. Случалось, оказывались откуда-то на фирме, им, видимо, и поручали со мной поговорить. Все такие разговоры шли не по немецкой схеме, а по узнавамой русской. Короткое "здрасьте", и сразу, без предварительного разговора, сыпались все те же мелкие вопросы:


DD>- Чем отличается класс от интерфейса

DD>- Чем отличается overloading от overriding
DD>- Какие методы библиотек используются в каких-то там случаях

Я вам не скажу за всю Россию вся Россия очень велика, но как-то я пришел на сбс в аутсорс компанию. Собеседовал партнер из США. И ты не поверишь — то ли он долго варился там у себя в Америке в собственном соку то ли чо, но вопрос про оверрайдинг и оверлоадинг я услышал через пару минут после начала собеседования. И его кстати не интересовали все эти штучки интересные немцам, вот не хотел он строить картины про меня и куда я иду и куда. Ему надо было технические знания. Он хотел чтобы я придя в компанию сел и работал а не размышлял а куда я и иду и чем мне нравится заниматься. Американец честный в смысле не эмигрант какой общался через переводчика. Так что это немцы там совсем сварились в собственном соку.
Re[10]: О собеседованиях программистов
От: MaximVK Россия  
Дата: 01.04.11 16:01
Оценка: +1
Здравствуйте, michael_isu, Вы писали:

_>Я на собеседовании даю листочек с 15 простыми вопросами, вопросы от тривиальных до простых, некоторые с подвохом, некоторые бредовые.

_>Реакции бывают:

Ну уж позвольте и мне встрять. А ты можешь опубликовать эти 15 вопросов или скажем 5 из 15-ти?
Re[20]: О собеседованиях программистов
От: sql13 США  
Дата: 01.04.11 16:42
Оценка:
Здравствуйте, DmytroL, Вы писали:

DL>Читал пару отзывов о недавних собеседованиях в MS, народ спецом отмечает, что про люки и другие подобные задачки из всем известной книги никто уже не спрашивает:


Насколько я знаю, спрашивать подобные задачи теперь официально не рекомендуется.
А вообще, есть, конечно, высокоуровневые правила, но каждый интервьюер может задать такие вопросы, которые он хочет. А поскольку разных подразделений и команд куча, то и задач/вопросов тоже. Хотя каждый индивидуальный интервьюер, действительно, может иметь стандартный набор вопросов. Так легче, в частности, кандидатов сравнивать. С другой стороны, любой вопрос можно использовать как базу для follow-up дискуссии. Так что "заучивание" все равно не поможет.
Re[5]: О собеседованиях программистов
От: SkyDance Земля  
Дата: 04.04.11 02:18
Оценка:
W>К счастью, в области kernel-mode хардкора и мелкого embedded ситуация немного лучше, чем в области веб-форм.

Интересно, чем? С тех пор, как я в kernel-mode хардкоре, мне он все больше и больше напоминает "веб-формы" (С)... Везде свои грабли, но их конструкции, как ни странно, всегда одинаковые — длинная ручка и металлические зубья. Ну да, у некоторых ручка со стразами, у других металл — нержавайка, третьи не бьют по лбу потому, что ржавые, и просто разваливаются, если на них наступаешь.
Но... это все равно ровно такие же грабли. Ничего особо сакрального в "kernel-mode хардкоре" что-то не нашлось. Код как код. Тоже людьми написан. Порой — весьма неоптимально. А уж как оно спроектировано... на примере моих "любимых" bind buckets в ядре Linux'а. Руки бы там кому-то поотрывать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.