Re[26]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 08.11.07 12:45
Оценка:
Здравствуйте, Dog, Вы писали:

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


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

далеко не все кандидаты такие

Dog>Проведение "стрессового" собеседования может практиковаться начальником или кадровиком. Ведь это именно их работа оценивать психологическое состояние кандидата, а не ваша.


это общие слова для чего ты их привел ?

DDI>>если написано без ошибок и без лишних трат времени то это алгоритм

DDI>>если с ошибками или/и лишними тратами времени это преждевременная оптимизация
Dog>Уууу... Преждевременная оптимизация это и есть написание как раз вот таких алгоритмических "велосипедов", что и ведёт к усложнению кода, потерям времени, возникновению ошибок и т.д. про отладку и поддержку вообще молчу.

ты говоришь общие фразы известные даже студентам

результат есть потраченое время и количество рабочего кода он и определяет твой уровень
Re[27]: C# - как проводить собеседование ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 08.11.07 14:50
Оценка:
Здравствуйте, Dan Dare III, Вы писали:

DDI>а как быть с теми кто комбинаторики не знает это ведь невостребованая часть математики

Да ну. Вы кнута не читали? Перестановки — одна из важнейших частей математики.
Что-то ваши понятия о необходимых знаниях расходятся с реальной жизнью.

Тем более про перестановку можно очень быстро объяснить.

DDI>если ты перечитаешь этот топик то поймешь что я даю задачи не только на рекурсию

Я перечитал — не заметил других ЗАДАЧ (а не вопросов на зание языка или платформы)

DDI>условие задачи должно быть очень простым, не должно требовать специальных знаний, специальной практики , задача должна быть решена в 15 минут

99% таких задач можно будет решить без рекурсии. Требовать решение с рекурсией ради рекурсии — глупость.

ЗЫ. Повоторяю вопрос, чем же вы таким занимаетесь что рекурсия настолько необходима, но нет примеров реальных задач?
Re[27]: C# - как проводить собеседование ?
От: egaron http://127.0.0.1
Дата: 08.11.07 16:25
Оценка:
DDI>а как быть с теми кто комбинаторики не знает это ведь невостребованая часть математики

Не скажите, прямо уж так и невостребованная. В детстве, в школе когда учился, как-то заинтересовало, сколько комбинаций у кодового замка с тремя одновременно нажимаемыми клавишами (были такие распространены в постсоветских подъездах, когда еще домофон был экзотикой, предохраняли эти девайсы разве что от залетных подъездных сыкунов). Комбинаторики тогда не знал, пришлось сосчитать самому перебором враиантов — насчитал 120. Всего лишь 120 против 1000, которые были бы если бы три клавиши нажимались последовательно. Затем, когда изучали теорию вероятности, проверил через факториалы — действительно 120.

Сие сакральное знание приходилсь однажды даже применять на практике (зная, что комбинаций всего 120 и поэтому не отчаиваясь заранее их перебрать, удалось попасть в подъезд с кодом. Мобил в то время еще не было, так что не удивляйтесь, что просто не позвонил хозяину).
Re[28]: C# - как проводить собеседование ?
От: BulatZiganshin  
Дата: 08.11.07 18:53
Оценка:
Здравствуйте, egaron, Вы писали:

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


а не 10*9*8?
Люди, я люблю вас! Будьте бдительны!!!
Re[29]: C# - как проводить собеседование ?
От: Eugeny__ Украина  
Дата: 08.11.07 20:54
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

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


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


BZ>а не 10*9*8?


Это как же?

В таких замках ведь 123==321==231==132==312==213. Цыфирки-то одновременно жмутся. Кстати, это было сказано в исходном посте(про ПОСЛЕДОВАТЕЛЬНОЕ нажатие кнпочек и кардинально увеличенное от этого количество вариантов).
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[28]: C# - как проводить собеседование ?
От: Ravlyk Австралия http://stitcharteasy.com
Дата: 08.11.07 20:55
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>> KN>Я, обычно, решение "ханойских башень" спрашиваю. Классика с коротким

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

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

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

P.S. Задача на рекурсию: подобрать минимальное количество монеток для получения заданной суммы. (Правда рекурсивное/итеративное решение не всегда является оптимальным, но об этом можно спросить для продвижения кандидата на следующий уровень ).
Re[28]: C# - как проводить собеседование ?
От: Dog  
Дата: 08.11.07 23:43
Оценка: 1 (1)
E>Сие сакральное знание приходилсь однажды даже применять на практике (зная, что комбинаций всего 120 и поэтому не отчаиваясь заранее их перебрать, удалось попасть в подъезд с кодом. Мобил в то время еще не было, так что не удивляйтесь, что просто не позвонил хозяину).
Вот чем математик отличается от нормального человека. Нормальный бы просто внимательно посмотрел на замок и нажал три самые потёртые клавиши (проверено на практике неоднократно)
... << RSDN@Home 1.2.0 alpha rev. 730>>
Re[28]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 08.11.07 23:53
Оценка:
Здравствуйте, gandjustas, Вы писали:

DDI>>а как быть с теми кто комбинаторики не знает это ведь невостребованая часть математики

G>Да ну. Вы кнута не читали? Перестановки — одна из важнейших частей математики.
G>Что-то ваши понятия о необходимых знаниях расходятся с реальной жизнью.

сколько раз за год ты применял комбинаторику на работе у себя

DDI>>если ты перечитаешь этот топик то поймешь что я даю задачи не только на рекурсию

G>Я перечитал — не заметил других ЗАДАЧ (а не вопросов на зание языка или платформы)

ты плохо читал

DDI>>условие задачи должно быть очень простым, не должно требовать специальных знаний, специальной практики , задача должна быть решена в 15 минут

G>99% таких задач можно будет решить без рекурсии. Требовать решение с рекурсией ради рекурсии — глупость.

можно, я знаю это

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

G>ЗЫ. Повоторяю вопрос, чем же вы таким занимаетесь что рекурсия настолько необходима, но нет примеров реальных задач?


реальный пример на 15 строчек кода максимум что бы условие было понятно всем это очень сложно

ты вот не смог ничего предложить нормального
Re[28]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 09.11.07 00:07
Оценка:
Здравствуйте, gandjustas, Вы писали:

DDI>>таких полно среди студентов и выпускников а они самые ценные кандидаты

G>Деревьев мало в этой жизни чтоли? Хотябы простое бинарное дерево. Думаю уж с алгоритмами обхода все вупускники знакомы

ты говоришь о том что лично тебе удобно

деревья давал, не получил ни одного правильного решения и перестал давать

DDI>>а технологии это вторично у нас

G>И чем же вы таким занимаетесь?

мне лень это объяснять топик давно перестал быть актуальным

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


теоретически да а на практике собеседование это не только задача

я не преследую цель "определить брать или не брать"

брать или не брать меня вообще не интересует по большому счету

G>Вам всетаки кодер нужен или кто?


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

в данный момент мы готовы брать даже студентов на кодерские должности

собеседование зависит от того на какую должность — когда приходится говорить с сеньором все по другому хотя это не значит что сеньорам я задач не даю просто они все разные у меня
Re[30]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 09.11.07 00:13
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>А зачем. Есть много фирм, на которых я работать буду, только если

V>заплатят раз в 10 больше, чем имею сейчас. Еси им нравиться тратить
V>время на подобное, это их проблемы. В такой фирме я все одно не смогу
V>работать.

я не понял зачем ты тогда на собеседования ходишь

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

этого я не понял

>> если тебя куда то не пригласили на собеседование

>> — если ты проходил и по направлению и по ЗП и по должности это оно и есть
V>Не было такого.

значит ты с этим не сталкивался
Re[28]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 09.11.07 00:14
Оценка:
Здравствуйте, Dog, Вы писали:

DDI>>умения алгоритмы придумывать

DDI>>умения алгоритмы реализовывать
Dog>Ага, вот самые страшные на проекте именно такие "ценные кандидаты" придумыватели и реализовыватели.

я не понял чего ты хотел этим сказать
Re[18]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 09.11.07 00:23
Оценка:
Здравствуйте, Eugeny__, Вы писали:

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

DDI>>задача много чего о человеке рассказывает, очень много

E__>Можно узнать, что в этой задаче такого, что будет рассказывать о человеке?


эта задача ничем не лучше и не хуже тех что я даю на собеседовании
Re[22]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 09.11.07 00:30
Оценка:
Здравствуйте, Eugeny__, Вы писали:

E__>А по-моему, если уж проверять, то лучше кинуть NPE

E__>C чего это NULL симметричен? К NULL данная операция неприменима.

можно и так

E__>[c#]

E__>Оптимизация? Круто.

вместо 2 написать 3 это и была оптимизация юмор такой задача то больше головоломка

E__>Здесь можно бы было бы куда больше прооптимизировать.

E__>Каждый сабстринг создает новую копию строки.
E__>Так что было бы выгоднее создать метод IsSymmetric(string s, int start, int end) и сравнивать чары

выгоднее вообще рекурсию не использовать а цикл

E__>Вобщем, смысла данного задания я не вижу.


смысл простой — экономия времени на тестирование кандидата

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

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

E__>1. Если нужна просто понятная реализация — Ромашка привел гораздо более простой вариант(обычно так и нужно, врядли где такое сравнение будет узким местом). Кстати, таки вариант Ромашки куда быстрее.

E__>2. Если нужна таки скорость — рекурсия и сабстринг сожрут всю оптимизацию. То есть, само задание не предполагает, что нужна скорость.

я знаю это много лет ничего нового ты не сказал

E__>Вобщем, я бы в страшном сне не написал ТАК проверку на симметричность.


я не заставляю это делать
Re[23]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 09.11.07 00:35
Оценка:
Здравствуйте, Dog, Вы писали:

E__>>2. Если нужна таки скорость — рекурсия и сабстринг сожрут всю оптимизацию. То есть, само задание не предполагает, что нужна скорость.

Dog>Нужно ни то и ни другое. Нужно посмотреть понимает ли человек рекурсию и посмотреть как он думает. Всё.

+ может ли он хоть немного абстрагироваться от обычных шаблонов

+ задача это микрозадание — как он относится к заданиям вообще

по работе нужно делать не только что умеешь а также и то что должно быть сделано хотя бы это было неприятно
Re[28]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 09.11.07 00:37
Оценка:
Здравствуйте, egaron, Вы писали:


DDI>>а как быть с теми кто комбинаторики не знает это ведь невостребованая часть математики


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


итого комбинаторика понадобилась тебе раза три за всю жизнь и ни разу по работе
Re[29]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 09.11.07 00:38
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

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


BZ>а не 10*9*8?


вот так с этой комбинаторикой — сколько кандидатов столько и мнений

а с рекурсией 80% мнений совпадают
Re[29]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 09.11.07 00:42
Оценка:
Здравствуйте, Ravlyk, Вы писали:

R>Поддерживаю.

R>Мне на одном собеседовании дали задачу написать мини-рефлектор (правда на дом) — вот это действительно интересная задача. В этой конторе я потом некоторое время работал, и задача та была из реальной практики проектов.
R>Также давали задачу на написание числа словами — решается на месте за полтора часа с дебагом и отладкой.
R>Есть еще куча интересных задач (больших и маленьких), которые можно использовать на собеседованиях.

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

R>P.S. Задача на рекурсию: подобрать минимальное количество монеток для получения заданной суммы. (Правда рекурсивное/итеративное решение не всегда является оптимальным, но об этом можно спросить для продвижения кандидата на следующий уровень ).


хорошая задача
Re[29]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 09.11.07 00:43
Оценка: :)
Здравствуйте, Dog, Вы писали:

Dog>Вот чем математик отличается от нормального человека. Нормальный бы просто внимательно посмотрел на замок и нажал три самые потёртые клавиши (проверено на практике неоднократно)


вот обоснование почему комбинаторика невостребована
Re[29]: C# - как проводить собеседование ?
От: Dog  
Дата: 09.11.07 03:08
Оценка:
DDI>>>умения алгоритмы придумывать
DDI>>>умения алгоритмы реализовывать
Dog>>Ага, вот самые страшные на проекте именно такие "ценные кандидаты" придумыватели и реализовыватели.
DDI>я не понял чего ты хотел этим сказать
Неужели вы не контролируете код своих студентов ?
... << RSDN@Home 1.2.0 alpha rev. 730>>
Re[24]: C# - как проводить собеседование ?
От: Dog  
Дата: 09.11.07 03:08
Оценка:
DDI>по работе нужно делать не только что умеешь а также и то что должно быть сделано хотя бы это было неприятно
Ой, я деже боюсь представить чем вы там, сжимая зубы и остальные части тела, занимаетесь
... << RSDN@Home 1.2.0 alpha rev. 730>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.