Здравствуйте, genre, Вы писали:
G>почему не очень? ты же придумал алгоритм? или я не понял твою мысль.
В большинстве случаев требуется не алгоритм, а реализация на бумажке. Причем еще ввод-вывод писать, обработку исключительных ситуация и тому подобное хотят, чтоб и названия переменных были нормальны, потокобезопасность. Именно алгоритм набросать просят ну максимум в 20% случаев. Чтобы не быть голословным, статистика:
Относительно недавно 6 собеседований, затем мне надоело, на след год посмотрю что изменится.
Одно с моей точки зрения адекватное, то есть разговор двух умных людей, а далее попросить набросать алгоритм (у меня это к сортировке свелось, причем я этого метода не знал, там специализированная сортировка была, пришлось придумывать — получилось). Знают что за проект, чем придется заниматься, рассказали, показали и т.д. За всю жизнь я помню только 2 собеседования такого рода.
В остальных случаях:
1) Разговор по проектам. Вопросы о том, как у нас построено тестирование, какое покрытие тестами, как происходит деплой проекта, размер команды, кто делает оценки времени и тому подобное. Что за проект, какие технические сложности — это собеседующим в большинстве случаев не интересно. Как и не могут сказать что и них за проект будет, и какие там технические сложности — ответ один, по разному, а что за проект — мы не знаем сами;
2) Проверка квалификации. В трех квалификация оценивалась по способности писать код на бумажке. Именно нужен рабочий код, без багов, с обработкой ошибок, с вводом начальных данных и выводом результата. В четвертом случае хоть код и на бумажке, но вроде частичная наброска решения и рассказ как бы делал вроде прокатил (хотя оффера не последовало, как и отказа, но перезванивают максимум в 30% случаев, хоть и 100% клятвенно обещают позвонить в любом случае, это, блин, нормально). И в пятом случае исключительно списки, хешкоды, джоины, модификаторы доступа и тому подобное. Да, когда я был далек от многопоточности, меня постоянно по ней спрашивали. Сейчас на практике столкнулся, немного подтянул, в результате волшебным образом спрашивать вообще перестали, а когда спрашивают, я четко вижу, что я знаю больше в этой области и у меня гораздо больший реальный опыт, чем у собеседующего.
3) Рассказ о том, какая у них суперкомпания, лидер в своей отрасли, в которой работают только самые лучшие, в которой у сотрудников потрясающие перспективы, сверхсерьезные сверхсекретные сверхинтересные проекты без конкретики. Прям под копирку, чуть ли не слово в слово. Обычно опенспейс, обычно относительно свободный график с невозможностью работы из дома. Если спросить у инсайдеров, чем ты там занимаешься и что за проект, говорят что занимаюься какой то хренью, которая непонятно как работает. Даже по пьяни не колятся чем занимаются, максимум набор технологий скажут, в которых фигурирует Oracle, WebSphere, EJB и тому подобное .
Здравствуйте, Vzhyk, Вы писали:
V>Учитывая, как ты тут обижаешься на замечания и советы, и предполагая, V>что понимаешь полную ошибочность подхода выше, говорить что-то по V>данному подходу не уверен, что нужно.
Ну на самом деле действительно не нужно. Любой подход должен соответствовать обстоятельствам. В тех обстоятельствах в которых разрабатывался тот проект это был нормальный подход, в силу нескольких различных факторов, например сложность тестирования (я про тестирование, а не про юнит-тесты) недописанного полностью кода, банальное отсутствие ресурсов в QA в тот момент, ну и еще несколько других.
Конечно для подавляющего большинства проектов этот подход смертелен. Это я и хотел продемонстрировать этим примером.
Здравствуйте, elmal, Вы писали:
E>Одно с моей точки зрения адекватное, то есть разговор двух умных людей, а далее попросить набросать алгоритм (у меня это к сортировке свелось, причем я этого метода не знал, там специализированная сортировка была, пришлось придумывать — получилось). Знают что за проект, чем придется заниматься, рассказали, показали и т.д. За всю жизнь я помню только 2 собеседования такого рода.
вот. хорошее собеседование, а все равно речь про сортировку была. Может дело совсем не в сортировке, а в том какое впечатление производят люди проводящие собеседование? Если они к тебе с уважением, то и сортировку не жаль написать?
Здравствуйте, genre, Вы писали:
G>вот. хорошее собеседование, а все равно речь про сортировку была. Может дело совсем не в сортировке, а в том какое впечатление производят люди проводящие собеседование? Если они к тебе с уважением, то и сортировку не жаль написать?
Да не про сортировку там было. Там была конкретная задача, которая может встретиться на практике. И которая не решается стандартным методом sort, такой компаратор написать на порядок сложнее, чем написать сортирку самому. Я вполне адекватно отношусь, когда меня просят набросать алгоритм решения какой либо задачи. Но только когда просят набросать, а не выдать код на бумажке. В конце концов, когда требуется набросать что то на практике, я тоже это часто делаю на бумажке, а не начинаю сразу кодировать. Так что проверяется конкретный используемый в работе навык. Но когда от меня на бумажке хотят видеть рабочий код — у меня очень большое желание попрощаться.
Здравствуйте, genre, Вы писали:
I>>Нужно развивать способности, а не набивать руку в написании сортировок.
G>и как ты предлагаешь развивать способности?
Тренироваться решать новые и обязательно разнообразные задачи.
Здравствуйте, Ikemefula, Вы писали:
I>>>Нужно развивать способности, а не набивать руку в написании сортировок. G>>и как ты предлагаешь развивать способности? I>Тренироваться решать новые и обязательно разнообразные задачи.
ну то есть написание сортировки за задачу не катит? интересно почему?
Здравствуйте, genre, Вы писали:
I>>Тренироваться решать новые и обязательно разнообразные задачи.
G>ну то есть написание сортировки за задачу не катит? интересно почему?
Потому что это проходят на первом курсе университета и повторное решение уже ничего ровным счетом не даёт, а всего лишь освежает память.
Здравствуйте, elmal, Вы писали:
D>>1) есть прописные истины собеседования: сортировки, бинарный поиск. если их знал — то поднять их стоит минут 10-15 перед собеседованием. все-таки обычно ожидается некоторая подготовка перед собеседованием, это ж тот же экзамен. E>Собеседование — это не экзамен. Так могут думать только недавние студенты. Для которых программирование сводится к знанию конструкций языка, а также того, что они еще по молодости не забыли из институтской программы.
у меня другое мнение — собеседование это проверка знаний и умения мыслить. ровно то же самое для меня экзамен.
E>Открою секрет. Адекватное собеседование — это разговор двух умных людей. Один из которых рассказывает о своем опыте решения задач, а также о проблемах и граблях, с которыми встречался, а другой слушает, и рассказывает, как подобные проблемы решают у них. Точнее даже так — собеседующий рассказывает о типичных задачах, которые встречаются на практике, спрашивает как кандидат бы их реил, сталкивался или нет, потом рассказал бы свое решение и тому подобное.
это не мешает, такие вопросы я тоже задаю. но это только часть собеседования, где-то 10-15 минут из часа. только я рассказываю общие сведения о команде-проекте. ну нету времени рассказывать каждому про проблемы. есть только час времени и за час мне нужно узнать человека.
E>А когда о квалификации кандидата смотрят по умению на бумажке написать сортировку (причем с выводом и вводом элементов, от начала до конца, то есть требуется не краткий алгоритм, а реализацию) — это ни хрена не адекватное собеседование.
у каждого свой взгляд. если вы в свою фирму так нанимаете и успешны — прекрасно.
E>Увы, адекватных собеседований очень и очень немного. Вообще, ну неужели не о чем поговорить, как о сортировках, хешкодах, отличии интерфейсов от абстрактных классов, перечислении видов джоинов и отличие inner join от outer и тому подобном? Неужели не можете припомнить ни одной реальной практической задачи
нет, не вижу, реальные задачи слишком большие что бы уложиться в час. а мне хочется проверить что человек способен довести до конца маленькую задачу за короткое время
сколько через вас проходит собеседующихся, сколько человек вы отсобеседовали? потом работали? сколько неудачного опыта?
Здравствуйте, Ikemefula, Вы писали:
I>Улетучиваются это если совсем ничего не делать.
I>А если заниматься хоть чем то эти знания не пропадут.
Улетучиваются еще как. Я в школе мог с закрытыми глазами написать несколько алгоритмов сортировки, а после 10 лет промышленной разработки даже уже и о названиях не всегда скажу к какому алгоритму, какое относится, а уж написать... ну что без ошибок, самые простые разве что
Re: у вас видимо другой подход, тоже имеет право на жизнь, н
Здравствуйте, Denis, Вы писали:
D>у меня другое мнение — собеседование это проверка знаний и умения мыслить. ровно то же самое для меня экзамен.
Проверяйте сколько угодно . Практика показывает, что ни хрена не проверите, отсеете нужных, и возьмете не тех. Точнее даже, обычно через строгие собеседования отсеиваются люди со стороны, а потом берутся по знакомству, либо в самом конце меняется собеседующий, требования уменьшаются и берется первый попавшийся .
D>сколько через вас проходит собеседующихся, сколько человек вы отсобеседовали? потом работали? сколько неудачного опыта?
У нас очень маленькая текучка и очень маленькая потребность в новых людях, по крайней мере по моему профилю. И каждый человек весьма важен, он не винтик, который безболезненно можно заменить. Соответственно вершителем судеб редко перепадает шанс побыть. Я другое скажу, про неудачный опыт, возможо скажу даже что то уникальное, подобных историй еще не слышал. Год назад мы с одним товарищем забраковали одного кандидата. Короче, кандидат очень неслабо облажался на теоретических стандартных вопросах (даже я так не лажал никогда в жизни), а мне не очень код тестового задания понравился, разглядел копипасту и некоторую небрежность, хотя по простому разговору кандидат произвел очень хорошее впечатление. Но, человека все таки взяли, правда на другой язык, там он на не облажался. И далее у него были очень неплохие показатели в работе, но в другой области и на другом языке. Через год еще раз возникла необходимость в еще одном человеке на проект, и чтоб не искать человека со стороны, предложили еще раз прошлого забракованного кандидата. Начальство предложило еще раз провести собеседование, я отказался, сказав, что если он нормально работает в другой области и уже проверен, уверен, что и с текущими заданиями будет неплохо справляться. И пока, уверен, что решение правильное. Уже на этапе приема кода товарищь разгреб по собственной инициативе некоторые проблемы, на которые все никак не находилось времени, да и вообще, гораздо быстрее среднего вникает в детали проекта. Пробелы в знаниях да, есть, все таки основной опыт на другом языке, но реальный опыт виден невооруженным взглядом. Пока про какие то результаты говорить рано, нужно полгодика будет подождать, но я склоняюсь к версии, что браковать человека год назад на основе сомнений на собеседовании было ошибкой (в том числе и моей). Ибо он сейчас показывает не худшие результаты, чем прошедщие собеседование блестяще.
Возможно мы уникальны, и у нас иная специфика. Что важны не знания, а умения без палки и слежки выполнять работу, а также иницатива, ибо слепые исполнители нам не нужны. Я работал в местах, где собеседование гораздо строже и тредиционнее, и могу с уверенностью сказать, что уровень тех, с кем я сейчас работаю, гораздо выше, чем персонал в типичных конторах, с которыми я встречался. Даже к менеджменту почти нет претензий, менеджеры действительно облегчают жизнь и вносят заметный вклад в проект, а не тупо строчат отчетики о том, сколько кто наработал (точнее сколько команда наработала, ибо для продвинутых методологий в отчеты не должны попадать вклады конкретных людей, важна только работы команды) и что надо еще б 50 человек на проект набрать, иначе что то туго идет дело.
Здравствуйте, elmal, Вы писали:
E>Одно с моей точки зрения адекватное, то есть разговор двух умных людей, а далее попросить набросать алгоритм (у меня это к сортировке свелось, причем я этого метода не знал, там специализированная сортировка была, пришлось придумывать — получилось).
Здравствуйте, genre, Вы писали:
G>уж сколько раз твердили миру, что вопрос на написание простейшей сортировки это не вопрос на знание алгоритмов сортировки. это проверка умения придумать простейший алгоритм.
о! и вы любой алгоритм так за 15 минут придумываете?
G>ну хоть кто-нибудь взял бы на работу математика неспособного решить квадратное уравнение?
зачем математиков и программистов вообще учат — я не понимаю? ведь любой из низ должен уметь всё необходимое для работы придумать на лету
Здравствуйте, BulatZiganshin, Вы писали:
G>>уж сколько раз твердили миру, что вопрос на написание простейшей сортировки это не вопрос на знание алгоритмов сортировки. это проверка умения придумать простейший алгоритм. BZ>о! и вы любой алгоритм так за 15 минут придумываете?
я где-то говорил про любой?
G>>ну хоть кто-нибудь взял бы на работу математика неспособного решить квадратное уравнение? BZ>зачем математиков и программистов вообще учат — я не понимаю? ведь любой из низ должен уметь всё необходимое для работы придумать на лету
я говорил про "все необходимое придумать на лету"?
Здравствуйте, _Obelisk_, Вы писали:
_O_>Здравствуйте, DZeus, Вы писали:
DZ>>Если быть точным я сказал что в своих проектах мне не приходилось решать задачи связанные с реализацией алгоритмов и не стандартных структур данных. Конечно же в alma mater мы изучали реализации стандартных алгоритмов поиска и сортировки, но согласитесь если знания не используются, то они улетучиваются. Конечно если в вашем проекте нужны именно эти знания и опыт то я возможно вам не подхожу. Но это не значит что спустя (ну не знаю) 2 недели штудирования книг я не смогу решать подобные задачи. Я вполне разделяю мнение людей о необходимости подобных знаний.
_O_>Чтоб отсортировать массив самым примитивным способом нужна лишь логика. Если программист с ней не в ладах, то какой же он программист ?
Ну в универе не знавши ни одного типа сортировки — сортировка вставками любому человеку с умом под силу, а вот про сортировку через деревья или ещё какие-то замудрёные сортировки... может и можно почитать.
"Ну дела, — подумал Лось, —
Не хотелось.
А пришлось". (c)