Re[4]: Идеальное собеседование - какое оно?
От: elmal  
Дата: 21.08.09 13:59
Оценка:
Здравствуйте, Vamp, Вы писали:

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

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

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

V>Именно. И главное, он совершенно бессмысленный. Опять же проект уже есть и развивается, и явно никто не станет его переписывать на другом языке потому, что кандидат на интревью рассказал о паре прекрасных фич другого языка.
Небольшой пример — проект на Java 1.4. Там нет слова enum, и народ в лучшем случае константы выносит. Приходит кандидат, знающий C++. Пишет код, видит, что нужна конструкция enum, и эмулирует ее на Java, теми средствами, которые есть в языке (то есть создаст класс). Проект на Си, кандидат знает объектно ориентированный подход — объектно ориентированный подход он сможет применять и на Си. Тоже самое с функциональным подходом. Проект на VB допустим — если кандидат знает C++, то он вполне сможет грамотно организовать обработку ошибок, и выглядеть это будет очень похоже на исключения. Неужели так мало народа знает, что языки программирования используют для решения задачь, а не пишут на языках? Что язык это только инструмент, а не то, чему надо поклоняться.
Re[5]: Идеальное собеседование - какое оно?
От: Vamp Россия  
Дата: 21.08.09 14:03
Оценка:
E>Ну ну. Когда тебя собеседует начальник, понятия не имеющий ни о процессах, о непрерывной интеграции, даже о системах контроля версий, и проработавший в конторе 3 года, до этого не программирующий вообще — я менее квалифицированный?
В таком месте, под руководством такого начальника, делать нечего.

E>Небольшой пример — проект на Java 1.4. Там нет слова enum, и народ в лучшем случае константы выносит. Приходит кандидат, знающий C++. Пишет код, видит, что нужна конструкция enum, и эмулирует ее на Java, теми средствами, которые есть в языке (то есть создаст класс).

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

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

Совершенно согласен. Именно что инструмент, причем как правило, уже существующий и неизменный.
Да здравствует мыло душистое и веревка пушистая.
Re[6]: Идеальное собеседование - какое оно?
От: elmal  
Дата: 21.08.09 14:12
Оценка: 9 (1)
Здравствуйте, Vamp, Вы писали:

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

Не искусственный, а из жизни. Преимущества — строгая типизация, возможность обнаружить ошибки на этапе компиляции, плюс самодокументируемость — из сигнатуры метода видно, что ему требуется в параметрах, практически невозможно попутать.
Re[4]: Идеальное собеседование - какое оно?
От: eaa Украина  
Дата: 21.08.09 17:49
Оценка: +2
Здравствуйте, strcpy, Вы писали:


eaa>>Я знаю несколько ХОРОШИХ алгоритмистов которые шишут прикольные спагетти. Но qsort напишут.


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


Не будет, это несколько строчек. И всего одна функция. Кроме того в алгоритмичиских задачах дизайн и красота кода приносится в угоду перфоменса.

eaa>>Боюсь, что на подобном интервью больший отрыв получат, те кто недавно нашёл qsort.

S>Это вообще-то базовое знание, вроде хэша, кэша или crc. Можно, конечно, сказать, что с приходом Java мы вышли на новый уровень, где этого всего можно не знать, но закон дырявых абстракций неумолим. Это знать нужно.
Причём тут ява? как давно вам приходилось реализовывать qsort? Тот кто делал это недавно имеет явное приемущество, то что любой программист должен уметь написать какую то сортировку — согласен, но это не основание для найма. А тем более красота одной функции.

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

S>Микрософту это удаётся.

Если набирать студентов без опыта (а микрософт, в основном так и набирает), то это не плохой способ сравнивать студентов. Но не все компании настолько богаты, что бы растить всех со студентов.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Идеальное собеседование - какое оно?
От: eaa Украина  
Дата: 21.08.09 17:49
Оценка:
Здравствуйте, Vamp, Вы писали:

eaa>>Но подход, что все кандидаты ниже меня уровнем — это путь к деградации. И подход а чё это вы такие бедные если такие умные, скорее попытка обидеть человека.

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

Так вы его по предметной области собеседовать собрались?

eaa>>Далеко не все программисты мечтают быть начальниками. У программиста любого уровня бывают моменты когда он ищет работу.

V>Конечно. Но тут есть еще вот какой момент. Техническое собеседование в большинстве своем проводят "играющие тренеры", то есть люди, которые реально пишут код, совмещая это с руководством. Это все если речь идет о наборе программиста.

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


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

V>Именно. И главное, он совершенно бессмысленный. Опять же проект уже есть и развивается, и явно никто не станет его переписывать на другом языке потому, что кандидат на интревью рассказал о паре прекрасных фич другого языка.
Не понял, вы хотите получить полезные советы на собеседовании? может стоит консалтера позвать? Цель интервью оценить кандидата. А то потом народ боится писать тестовые задания, и в полной уверенности что я этот код потом где то использую


eaa>>Ну можно и кандидата попросить подписать NDA, так что это не проблема. Хотя тут на форуме, как то настороженно к этому относятся.

V>Кандидата? Подписать NDA? С какого перепоя?
А к вас с этим проблемы? боитесь не сдержаться?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Идеальное собеседование - какое оно?
От: eaa Украина  
Дата: 21.08.09 18:05
Оценка: +2
Здравствуйте, strcpy, Вы писали:

S>По тому, как человек программирует, сразу виден его профессиональный уровень. Можно заставить его писать сервлеты, или ещё что-то связанное со спецификой, но если он не знает основ теории алгоритмов, то это уже сомнительный уровень. Есть много других задач, квиксорт не обязательно писать, можно попросить сделать HashSet или std::map. Не важно. Важно, что если такие базовые знания отсутствуют, сложную систему человек отладить не сможет.


Алгоритмы, это одна из специализаций. Естесвенно любой программист должен представлять себе, про что эта область, как и любая другая. То есть знать и оценки сложности std::map и что такое хеш функция и хеш таблица. Но при этом он может быть не в состоянии написать слёту хорошую хеш функцию или RB-дерево. Да, он может разобраться и написать. И основы теории алгоритмов это именно представление, о том какие есть структуры данных, какие есть базовые алгоритмы на них, как считается оценка сложности. А умение написать qsort — требует конкретные знания. Точно так же как основа теория баз данных, это понятие кортежа и отношения, что есть таблица, индекс и понятие нормализации. А вот синтаксис SQL — это конкретные знания.

И мне абсолютно не понятно, почему вы утверждаете, что конкретные знания в одной области могут служить для оценки уровня програмиста в другой. То что предлагаете спрашивать выходит за основы и общие знания. Да это простые вещи, но человек с этим не работающий знать это не обязан. Вот если бы вы дали функци и попросили оценку сложности, то согласен это вопрос из области базовых знаний, но он равносилен вопросу, о составлении структуры базы для накладной (то же вопрос из области базовых знаний). По моему так.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Идеальное собеседование - какое оно?
От: strcpy Россия  
Дата: 22.08.09 06:26
Оценка:
Здравствуйте, elmal, Вы писали:

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


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


Нужен работающий вариант. Видел "проектировщиков", которые знают все паттерны, используют их и проваливают сроки. Работающую программу можно сделать на компьютере за пару часов. Пусть она будет небольшая. Но спрашивать на собесе "знаете ли вы особенности hibernate 2.1?" — глупость. Это значит что контора нацелена на текучку.
Удвой число ошибок, если не получается добиться цели.
Re[5]: Идеальное собеседование - какое оно?
От: SkyDance Земля  
Дата: 29.09.09 07:11
Оценка:
E>Даже в софтварных конторах я знаю случаи, когда кандидат в разы более квалифицированный, чем его непосредственный начальник.

Вообще-то, в 99.9% случаев разработчики более квалифицированы, чем их непосредственные начальники. Это следует из определения: начальник вынужден заниматься не столько разработкой, сколько всякой волокитой по отчетам, планам и т.п..
Re[5]: Идеальное собеседование - какое оно?
От: Miroff Россия  
Дата: 29.09.09 09:26
Оценка:
Здравствуйте, elmal, Вы писали:

E>Небольшой пример — проект на Java 1.4. Там нет слова enum, и народ в лучшем случае константы выносит. Приходит кандидат, знающий C++. Пишет код, видит, что нужна конструкция enum, и эмулирует ее на Java, теми средствами, которые есть в языке (то есть создаст класс).


На очередном code review кандидату дают по сусалам за инициативу. Enum есть в 1.5 на который проект рано или поздно все равно перейдет. Так что время лучше было потратить на подготовку к переходу, а не изобретение велосипедов.

E>Проект на Си, кандидат знает объектно ориентированный подход — объектно ориентированный подход он сможет применять и на Си.


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

E>Тоже самое с функциональным подходом. Проект на VB допустим — если кандидат знает C++, то он вполне сможет грамотно организовать обработку ошибок, и выглядеть это будет очень похоже на исключения.


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

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


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

M>На очередном code review кандидату дают по сусалам за инициативу. Enum есть в 1.5 на который проект рано или поздно все равно перейдет. Так что время лучше было потратить на подготовку к переходу, а не изобретение велосипедов.

Это и есть подготовка к переходу. И это не велосипед, а достаточно распространенный подход, я его, например, у Макконела прочитал (хотя, Макконел как-то непопулярен среди народа смотрю, читало его от силы 1%, наверно потому что там не было названия конкретного ЯП). Ну и квалификация ревьюера, который по рукам бьет за типобезоавсный код, оставляет сомнения — явно человек не на своем месте сидит.

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

Ядро Линукса по слухам написан в ОО стиле, коть и на Си. WinAPI тоже использует ОО подход. Оверхед от ОО подхода минимальный, как по памяти, так и по скорости, еще неизвестно что будет шустрее — вызов функции с черти сколькими параметрами, и каждый раз передавать все эти параметры, лабо параметры один раз проинициализировать в структуре, и между функциями гонять указатель на структуру.

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

А они и поддерживаются языком, кстати, хоть и синтаксис довольно уродский. Вот только надежно писать мало кто может, и тем более не задумываются о читаемости. И как это нечитаемый? Обычные же будут в спагетти стиле писать, если разбираются в спагетти с методами па 10 000 строк, то разберутся и в методе на 10 строк.

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

Все хорошо в меру. От того, что язык не поддерживает фичу, необходимость в ней там, где она облегчила бы жизнь не исчезает. Как результат можно наоборот писать более коротко, надежно, и хорошо поддерживаемо.
Re[2]: Идеальное собеседование - какое оно?
От: Tekk  
Дата: 29.09.09 10:32
Оценка:
Здравствуйте, Геннадий Майко, Вы писали:

ГМ>5. Завершить интервью. Если человек мне понравился, то это явно ему сообшается. Если нет, то прощаемся нейтрально.


Интересно, откуда взялась эта "традиция". Почему о негативном результате никогда не говорят прямо?
Re[3]: Идеальное собеседование - какое оно?
От: Gradient http://www.x-trips.com/
Дата: 29.09.09 12:35
Оценка:
Здравствуйте, Tekk, Вы писали:

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


ГМ>>5. Завершить интервью. Если человек мне понравился, то это явно ему сообшается. Если нет, то прощаемся нейтрально.


T>Интересно, откуда взялась эта "традиция". Почему о негативном результате никогда не говорят прямо?


Ну а зачем обижать человека? Мало кто в стрессовой ситуации способен адекватно воспринять негативную информацию. А потом на форуме раздаются вопли "контора ХХХ — сволочи, был у них на интервью, отказали прямо в лицо"
-----
Любимая фраза физика-теоретика: "Вот видите, мы ошиблись всего лишь на порядок".
Re[4]: Идеальное собеседование - какое оно?
От: Tekk  
Дата: 29.09.09 13:36
Оценка:
Здравствуйте, Gradient, Вы писали:

G>Ну а зачем обижать человека? Мало кто в стрессовой ситуации способен адекватно воспринять негативную информацию. А потом на форуме раздаются вопли "контора ХХХ — сволочи, был у них на интервью, отказали прямо в лицо"


А какой смысл, если все равно большинство знает "мы вам потом сообщим == отказ"? Ведь не сообщают и потом тоже. Иногда так и хочется среагировать неадекватно. Например — дать в зубы человеку, который с улыбкой и глядя тебе в глаза врет
И таких воплей на форуме я никогда не видел. По моему, большинству просто не хватает духу сказать правду. Как в анекдоте про щенка, которого очень жалели и отрезали хвост по частям.
Re[5]: Идеальное собеседование - какое оно?
От: Gradient http://www.x-trips.com/
Дата: 01.10.09 06:03
Оценка:
Здравствуйте, Tekk, Вы писали:

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


G>>Ну а зачем обижать человека? Мало кто в стрессовой ситуации способен адекватно воспринять негативную информацию. А потом на форуме раздаются вопли "контора ХХХ — сволочи, был у них на интервью, отказали прямо в лицо"


T>А какой смысл, если все равно большинство знает "мы вам потом сообщим == отказ"?

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

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

Ну, я бы больше опасался за зубы интервьювера, если бы он в глаза говорил "ваш уровень C++/C#/... слишком слаб. Вы нам не подходите".
Хотя в этом случае зубы еще могут уцелеть. А вот в случае отказа из-за человеческого фактора "вы слишком заносчиво и неадекватно вели себя на собеседовании. Нам такие не нужны" — неоднозначно придется ставить протезы.

T>И таких воплей на форуме я никогда не видел. По моему, большинству просто не хватает духу сказать правду. Как в анекдоте про щенка, которого очень жалели и отрезали хвост по частям.


Наоборот, сделали щенку анестезирующий укол перед операцией.
-----
Любимая фраза физика-теоретика: "Вот видите, мы ошиблись всего лишь на порядок".
Re[6]: Идеальное собеседование - какое оно?
От: Tekk  
Дата: 01.10.09 07:57
Оценка: +1
Здравствуйте, Gradient, Вы писали:

G>Дык вот смысл как раз и заключается в том, чтобы донести до человека информацию позволив ему сохранить лицо.


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

G>Ну, я бы больше опасался за зубы интервьювера, если бы он в глаза говорил "ваш уровень C++/C#/... слишком слаб. Вы нам не подходите".


А я был бы рад услышать это прямо. Особенно с уточнением, что конкретно плохо в моих знаниях.
Это я странный или весь мир сошел с ума?
Re[7]: Идеальное собеседование - какое оно?
От: superman  
Дата: 01.10.09 09:02
Оценка:
Здравствуйте, Tekk, Вы писали:

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

T>Это я странный или весь мир сошел с ума?

Это очень здорово получить такой ответ от проводящих интервью. Только вот не все кандидаты адекватно на такой ответ реагируют.
Re[8]: Идеальное собеседование - какое оно?
От: Gradient http://www.x-trips.com/
Дата: 01.10.09 09:57
Оценка: 1 (1) +2
Здравствуйте, superman, Вы писали:

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


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

T>>Это я странный или весь мир сошел с ума?

S>Это очень здорово получить такой ответ от проводящих интервью. Только вот не все кандидаты адекватно на такой ответ реагируют.


Я бы тоже не отказался послушать конструктивную критику.
Но, во-первых, у интервьювера может просто не быть ни времени ни желания устраивать консультации каждого неподошедшего.
Во-вторых, даже если интервьювер соизволит проехаться по моим знаниям танком, я, хоть и останусь благодарным на рациональном уровне, но буду ощущать неприятный осадок от того что меня попустили на эмоциональном уровне.
И вот скажите, а нафига оно надо интервьюверу?
-----
Любимая фраза физика-теоретика: "Вот видите, мы ошиблись всего лишь на порядок".
Re[9]: Идеальное собеседование - какое оно?
От: Tekk  
Дата: 01.10.09 10:13
Оценка:
Здравствуйте, Gradient, Вы писали:

G>Я бы тоже не отказался послушать конструктивную критику.

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

Всё равно. Если хочется дать необидный отказ — для этого есть масса подходящих формулировок.
А нейтральный ответ — это значит не сказать ни да, ни нет. Мы вам позже позвоним. Так что это всё же малодушие и непрофессионализм.
Re[6]: Идеальное собеседование - какое оно?
От: olegkr  
Дата: 01.10.09 18:02
Оценка: +1 :)
Здравствуйте, Gradient, Вы писали:

G>Хотя в этом случае зубы еще могут уцелеть. А вот в случае отказа из-за человеческого фактора "вы слишком заносчиво и неадекватно вели себя на собеседовании. Нам такие не нужны" — неоднозначно придется ставить протезы.

Если ты готов дать в зубы только из-за этого, то в принципе отказ мотивирован верно
Re[3]: Идеальное собеседование - какое оно?
От: strcpy Россия  
Дата: 17.10.09 10:39
Оценка: -1
G>А если серьезно, то очень огорчает, что так часто возникают предложения реализовать какой-нибудь алгоритм.
G>Было бы круто, чтобы вместо сферических алгоритмов в вакууме, реализованных надцать лет назад на всех языках, давались бы задачки, хоть как-то приближенные к производству.
G>Ну, допустим, в резюме есть буковки ASP.NET, ADO... И что, будем заставлять qsort реализовывать? Не лучше ли дать ему комп со студией, сиквелом с тестовой базой (ну пусть AdventureWorks) и пусть создаст страничку и покажет на ней табличку продуктов.

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