psilogic: (Default)
[personal profile] psilogic
На 500+ комментариев:

http://belnetmon.livejournal.com/1024560.html

Для непрограммистов объясняю суть: при собеседовании на работу программиста человеку предлагается пройти тест: написать реальную простенькую программу и посмотреть, получится ли у него.

Казалось бы, что в этом требовании такого странного? Реакция, однако, забавная. В тему набежало некоторое количество мутных личностей, которые стали писать о том, что предлагаемые задачи недостаточно простые или недостаточно стандартные.

Мне кажется, что суть проблемы такова: некоторые мои коллеги учатся не столько программировать, сколько красиво гнуть пальцы. Человек помнит огромное количество всяких продуктов, языков и систем. Но знания кандидата по каждому пункту укладываются в 1-2 абзаца. Это значит, что на собеседовании он легко может поддержать беседу о данной системе, но вот написать что-то реальное - фиг.

Я называю этот типаж "эрудитом".

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

При этом эрудит будет страшно горд теми фактами, что:
1. Он не изобрел велосипед (ибо изобретать велосипед неправославно).
2. Он использовал проверенный, работающий код - ибо все, что опубликовано в инете, в понимании эрудита работает идеально. В отличие от сделанного руками (см п.1)
3. Он сэкономил работодателю кучу бабок, так как см. пункт 1.

Особо продвинутый эрудит способен обернуть найденную копипасту в "паттерн". Как правило, результат от этого потеряет в качестве. Но эрудит будет убежден, что результат, напротив, приобретет дополнительные магические свойства типа "расширяемость +5". Просто потому как в книжках про "паттерны" много говорится про такие вещи. Поэтому всякий паттерн - это сразу большой плюс, а любой код, в котором эрудит сходу не увидит один из 20-30 знакомых паттернов, есть неправославный велосипед и должен вместе с афтаром гореть в аду.

Например, преобразование int в строку - это не паттерн...

Date: 2010-03-04 01:23 pm (UTC)
From: [identity profile] fstrange.livejournal.com
обе стороны понятны

холивар опять вокруг критериев, что важнее

Date: 2010-03-04 01:29 pm (UTC)
From: [identity profile] psilogic.livejournal.com
Что важнее из чего? :) Если программист не умеет программировать, то какое иное умение может компенсировать этот факт?

Date: 2010-03-04 02:23 pm (UTC)
From: [identity profile] fstrange.livejournal.com
разницу между хакером и скрипткиддисом знаете?

пример был на соображаловку и некоторое "глубинное" знание языка, этот пример отсек бы скрипткиддис

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

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

Date: 2010-03-04 02:46 pm (UTC)
From: [identity profile] psilogic.livejournal.com
[ пример был на соображаловку и некоторое "глубинное" знание языка ]

int в строку - это глубинное знание языка?

Тогда что такое "скрипткиддис"? Существо, по недоразумению называемое программистом?

Date: 2010-03-04 07:34 pm (UTC)
From: [identity profile] fstrange.livejournal.com
я не зря "глубинное" в кавычки поставил

не стоит забывать , что есть куча языков без явной типизации

человеку который учил тот же php по книгам и не имел дела с языками вроде Си или Паскаля, трудно понять что такое int, в чем разница между типами и зачем нужны некоторые функции преобразования типов

Тогда что такое "скрипткиддис"? Существо, по недоразумению называемое программистом?

именно так

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-04 08:09 pm (UTC) - Expand

(no subject)

From: [identity profile] fstrange.livejournal.com - Date: 2010-03-04 08:39 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-04 08:46 pm (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 05:54 pm (UTC) - Expand

Date: 2010-03-04 02:28 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
антипод изобретателя велосипедов? )

Date: 2010-03-04 02:48 pm (UTC)
From: [identity profile] psilogic.livejournal.com
Не совсем. Эрудит готов изобретать велосипеды, если они значатся в узаконенном списке заклинаний: синглетон, фабрика и т.п. ;)))

Date: 2010-03-04 03:10 pm (UTC)
From: [identity profile] ishc.livejournal.com
Чё-то это всё от реальности оторвано. Если человек может поддержать беседу про препроцессор, то он и пресловутую задачу с умножением решит без проблем, и наоборот, если он её решить не может, то это в беседе вылезет сразу. Какашку в мешке утаить сложно. О чём спорить, непонятно.

Date: 2010-03-04 03:16 pm (UTC)
From: [identity profile] psilogic.livejournal.com
Ну... 500+ комментов наспорили - видимо, есть о чем спорить :)

Кстати, "беседа про препроцессор" может включать в себя задачки или не включать. Спич о том, что непременно должна включать, иначе легко можно взять на работу кучу "эрудитов". Живой гугль может быть полезен, но их не надо много :)

Date: 2010-03-05 02:34 pm (UTC)
From: [identity profile] kelavrik-0.livejournal.com
Вы мало беседовали с "философами". Они знают много умных слов и хорошо их линкуют. А вот есть ли в них смысл...

Date: 2010-03-04 04:57 pm (UTC)
From: [identity profile] http://users.livejournal.com/sharper_/
/*животрепещуя*/А ьесты на знание алгоритмики, или платформ, библиотек и технологий?

Date: 2010-03-04 05:52 pm (UTC)
From: [identity profile] psilogic.livejournal.com
ну - в зависимости от того, что требуется... некоторым вещам проще научить, чем найти человека с нужным наборам знаний. лишь бы был обучабельный.

int в строку

Date: 2010-03-05 02:26 pm (UTC)
From: [identity profile] kelavrik-0.livejournal.com
char s[10];
int i=10;
sprintf(s,"%d", i);

Типа так?

Re: int в строку

Date: 2010-03-05 02:55 pm (UTC)
From: [identity profile] kelavrik-0.livejournal.com
Вообще задал ты тему. Сейчас читаю:
#define mul(x) x*x
printf("%d", mul(5+5));
Я долго думал:
1) Нафига такое определять через макрос? Почему не через inline?
2) Оборачивается ли х скобками в макросе
3) Зависит ли это от компилятора?

Я то просто не стал бы писать то, что можно понять неоднозначно.

Re: int в строку

Date: 2010-03-05 03:14 pm (UTC)
From: [identity profile] psilogic.livejournal.com
1) потому что это задачка
2) если сам не обернешь, то не оборачивается - в том-то и суть
3) не зависит

Re: int в строку

From: [identity profile] kelavrik-0.livejournal.com - Date: 2010-03-05 03:27 pm (UTC) - Expand

Re: int в строку

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 06:00 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-06 06:58 pm (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 07:17 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-06 07:21 pm (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 07:26 pm (UTC) - Expand

(no subject)

From: [identity profile] gaussrifle.livejournal.com - Date: 2010-03-14 06:27 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-14 06:34 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-14 06:36 pm (UTC) - Expand

Re: int в строку

From: [identity profile] kelavrik-0.livejournal.com - Date: 2010-03-06 07:12 pm (UTC) - Expand

Re: int в строку

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 07:21 pm (UTC) - Expand

Re: int в строку

From: [identity profile] gaussrifle.livejournal.com - Date: 2010-03-14 06:29 pm (UTC) - Expand

Re: int в строку

Date: 2010-03-05 03:20 pm (UTC)
From: [identity profile] psilogic.livejournal.com
Вообще говоря, это старинная классическая задачка, которая появилась еще в те времена, когда никаких inline и, тем более, template еще не было. По нынешним временам лучше всего template + inline:
template <class T> inline T mul(T v) { return v * v; }
(лучше в первую очередь тем, что v не будет вычисляться дважды).

Re: int в строку

From: [identity profile] kelavrik-0.livejournal.com - Date: 2010-03-05 03:30 pm (UTC) - Expand

Re: int в строку

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-05 03:41 pm (UTC) - Expand

Re: int в строку

From: [identity profile] kelavrik-0.livejournal.com - Date: 2010-03-05 03:51 pm (UTC) - Expand

Re: int в строку

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-05 04:31 pm (UTC) - Expand

Re: int в строку

From: [identity profile] kelavrik-0.livejournal.com - Date: 2010-03-05 05:32 pm (UTC) - Expand

Re: int в строку

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-05 06:04 pm (UTC) - Expand

Re: int в строку

From: [identity profile] kelavrik-0.livejournal.com - Date: 2010-03-05 06:57 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-05 08:15 pm (UTC) - Expand

(no subject)

From: [identity profile] kelavrik-0.livejournal.com - Date: 2010-03-05 08:48 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-05 09:03 pm (UTC) - Expand

(no subject)

From: [identity profile] kelavrik-0.livejournal.com - Date: 2010-03-05 09:26 pm (UTC) - Expand

Date: 2010-03-06 03:20 pm (UTC)
From: [identity profile] yogsagot.livejournal.com
На вопрос "Можешь ли ты это написать?" хороший программист отвечает либо "могу", либо "могу, но не знаю как".
(С) классика. =)

Date: 2010-03-06 03:55 pm (UTC)
From: [identity profile] psilogic.livejournal.com
ггг :)

Date: 2010-03-06 05:51 pm (UTC)
From: [personal profile] no1u1w1w6c
Напиши на бумажке
когда я ходил на собеседования, после этих слов я вставал со стула, вежливо прощался и сваливал.

Ketmar

Date: 2010-03-06 06:08 pm (UTC)
From: [identity profile] psilogic.livejournal.com
отказался писать на бумажку - спас дерево :)))

Date: 2010-03-06 06:20 pm (UTC)
From: [personal profile] no1u1w1w6c
два дерева — одно из них собеседование проводило.

Date: 2010-03-06 06:51 pm (UTC)
From: [identity profile] psilogic.livejournal.com
да ладна =)
чо те стоит на бумажке накалякать 10 строк =)

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 07:02 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-06 07:23 pm (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 07:31 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-06 08:29 pm (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 08:50 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-06 09:11 pm (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 09:19 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-06 09:29 pm (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 09:36 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-06 10:16 pm (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 10:33 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-06 10:57 pm (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 11:16 pm (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-06 11:35 pm (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-07 01:00 am (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-07 01:33 am (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-07 01:55 am (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-07 02:40 am (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-07 02:53 am (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-07 11:07 am (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-07 11:44 am (UTC) - Expand

(no subject)

From: [identity profile] psilogic.livejournal.com - Date: 2010-03-07 02:56 pm (UTC) - Expand

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-08 07:55 am (UTC) - Expand

Date: 2010-03-06 07:01 pm (UTC)
From: [identity profile] psilogic.livejournal.com
Вот ежели после накалякивания на бумажке начинаются вопли на тему опечаток и мелких багов в алгоритме - тогда и правда можно вставать и уходить... поскольку в реале умение писать все правильно с 1 раза не предполагается.

(no subject)

From: [personal profile] no1u1w1w6c - Date: 2010-03-06 07:04 pm (UTC) - Expand

Date: 2010-03-08 07:31 pm (UTC)
From: [identity profile] marishkam.livejournal.com
Мона из личного опыта? :)
Я "отсобеседовала" порядка 20 человек, прежде чем взяла на работу двоих - архитектора и второго программера. Так вот, тест писать я их не просила. Потому что мозги и так чувствуются (или не чувствуются). А мозги - это главное.
+ Собеседования достаточно (т.е. той самой беседы).

Судя по тому, как они сейчас делают проект - не промахнулась.
Так что тест не так уж и нужен, если знать, кого ищешь.
Page generated Aug. 19th, 2025 06:57 am
Powered by Dreamwidth Studios