Re[18]: C# - как проводить собеседование ?
От: BulatZiganshin  
Дата: 05.11.07 14:31
Оценка:
Здравствуйте, aerobus, Вы писали:

BZ>>а логическими операторами почему не пользуешься?


A>Ну на мой взгляд так данный код немножко лучше читается и его легче развернуть в if-then-else и на бумаге и в голове.


я ваш код прочесть не смог. по моему мнению, людей с императивным мышлением ("ди эрсте колонне марширт...") брать как раз не надо. мыслить нужно логически — либо строка короткая, либо первый и последний символы одинаковы, а середина опять же симметрична
Люди, я люблю вас! Будьте бдительны!!!
Re[28]: C# - как проводить собеседование ?
От: Lao Украина  
Дата: 05.11.07 14:31
Оценка:
Здравствуйте, Dan Dare III, Вы писали:

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


Lao>>В С# не получиться сделать параметры по-умолчанию.


DDI>почему же не получится можно сэмулировать


Хотя бы намекните, что вы имели ввиду под эмуляцией.
Re[29]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 05.11.07 14:31
Оценка:
Здравствуйте, Lao, Вы писали:


DDI>>почему же не получится можно сэмулировать


Lao>Расскажите, пожалуйста, как это "сэмулировать"?


сэмулировать через params но вобще это штука была я видел такой код в портированой проге с с++ там авторы злоупотребили перегрузкой и параметрами по умолчанию
Re[24]: C# - как проводить собеседование ?
От: The Lex Украина  
Дата: 05.11.07 14:37
Оценка:
Здравствуйте, Dan Dare III, Вы писали:

BZ>>
BZ>>int len=s.Length;
BZ>>return  len<=1  ||  s[0]==s[len-1] && IsSymmetric(s.Substring(1,len-2));
BZ>>


BZ>>я тебе предлагаю более простой способ отбора — показываешь свои 13 строчек девелоперу и если его кондрашка не хватит, сразу прощаешься


DDI>решение дожно быть понятно всем если они не решили разумеется


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

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

DDI>кроме этого есть специалисты которые переходят на с# из других областей — им тяжеловато читать код


Ну ты даешь! А если у тебя весь код так написан? И ты возмешь себе "специалиста", которому "трудно будет читать" твой код? А смысл? Как с ним потом работать?

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


вот-вот... а зачем? какова цель инициированного тобой процесса "собеседование"?

DDI>потому решени должно читаться очень, очень легко


А зачем? Какова цель демонстрации такого решения?

DDI>если твой код кандидат не поймет — это исключительно твой прокол кандидата этого ты уже не увидишь


А нужно? См.выше: если он твой код не поймет уже на собеседовании — что с ним дальше делать, начни он работать?

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


(это я так — не со зла...)
Голь на выдумку хитра, однако...
Re[25]: C# - как проводить собеседование ?
От: BulatZiganshin  
Дата: 05.11.07 14:40
Оценка: 3 (1) :)
Здравствуйте, Dan Dare III, Вы писали:

DDI>приведи задание что бы была рекурсия и при этом не было избитых примеров типа чисел фибоначчи которые студенты могут писать по памяти и условие было в две-три строки и само решение укладывалось в 15 строк вместе со скобками в виде один оператор на строку


сопоставление с образцом (?*):

match (c:cs) ('?':ps) = match cs ps
match cs     ('*':ps) | match cs ps = True
match (c:cs) ('*':ps) = match cs ps 
match (c:cs) (p:ps)   = c==p && match cs ps
match _ _ = False
Люди, я люблю вас! Будьте бдительны!!!
Re[19]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 05.11.07 14:41
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>>>а логическими операторами почему не пользуешься?


A>>Ну на мой взгляд так данный код немножко лучше читается и его легче развернуть в if-then-else и на бумаге и в голове.


BZ>я ваш код прочесть не смог. по моему мнению, людей с императивным мышлением ("ди эрсте колонне марширт...") брать как раз не надо. мыслить нужно логически — либо строка короткая, либо первый и последний символы одинаковы, а середина опять же симметрична


я смог прочесть и твой код и его запросто, при чем в коде aerobus нашел к чему придраться
а вот код avk я не понял
Re[22]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 05.11.07 14:49
Оценка:
Здравствуйте, Кэр, Вы писали:

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


Кэр>Начнем с того, что данный код не работает на следующей симметричной строке "a\u0304ba\u0304".


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

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

Кэр>Зачем вам там рекурсия крайне непонятно.


в проекте такой код не должен быть это очевидно от сюда и пляши
Re[26]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 05.11.07 14:51
Оценка:
Здравствуйте, The Lex, Вы писали:

DDI>>приведи задание что бы была рекурсия и при этом не было избитых примеров типа чисел фибоначчи которые студенты могут писать по памяти и условие было в две-три строки и само решение укладывалось в 15 строк вместе со скобками в виде один оператор на строку


TL>Давай пойдем от обратного: зачем тебе вообще "проверять кандидата на знание рекурсии"?


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

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


TL> Если дополнить картину твоим этим постом, то картина рисуется четче, но от это еще пессимистичнее...


я не понял что ты хотел сказать
Re[26]: C# - как проводить собеседование ?
От: BulatZiganshin  
Дата: 05.11.07 14:54
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:
BZ>
BZ>match (c:cs) ('?':ps) = match cs ps
BZ>match cs     ('*':ps) | match cs ps = True
BZ>match (c:cs) ('*':ps) = match cs ps 
BZ>match (c:cs) (p:ps)   = c==p && match cs ps
BZ>match _ _ = False
BZ>


функциональный язык значительно увеличивает производительность программиста, измеренную в кол-ве ошибок на строку
Люди, я люблю вас! Будьте бдительны!!!
Re[25]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 05.11.07 14:55
Оценка: :)
Здравствуйте, The Lex, Вы писали:

TL>>Я внятно выразился?


TL>Но если не суетиться и спокойно подумать — над тем, стоит ли использовать такие задачи на собеседовании — то... почему бы и нет? Но Баба Яга все равно против! (к)


кроме этой задачи есть и без рекурсий
примитивный конечный автомат — её даю совсем слабым студентам для того что бы через год можно было оценить прогресс
Re[25]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 05.11.07 14:59
Оценка:
Здравствуйте, The Lex, Вы писали:

TL>Это, как раз, не обязательно. Тут, как раз, уже другая задача со стороны компании: не доказать что решение вообще существует, а показать кандидату, как именно задачу решили бы они и каких именно решений они ждут от работника.


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

TL>Из здесь возникает вопрос: поскольку предложенная задача "на рекурсия" в реальной жизни нежизнеспособна


приведи задание что бы была рекурсия и при этом не было избитых примеров типа чисел фибоначчи которые студенты могут писать по памяти и условие было в две-три строки и само решение укладывалось в 15 строк вместе со скобками в виде один оператор на строку


DDI>>кроме этого есть специалисты которые переходят на с# из других областей — им тяжеловато читать код


TL>Ну ты даешь! А если у тебя весь код так написан? И ты возмешь себе "специалиста", которому "трудно будет читать" твой код? А смысл? Как с ним потом работать?


если специалист решил задачу то уровень у него выше чем у того кому я показываю решение при чем гарантия 100%


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


TL> вот-вот... а зачем? какова цель инициированного тобой процесса "собеседование"?


процесс не я инициировал
задача — очень удобно рассматривать кандидата со всех сторон

DDI>>потому решени должно читаться очень, очень легко

TL>А зачем? Какова цель демонстрации такого решения?

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

DDI>>если твой код кандидат не поймет — это исключительно твой прокол кандидата этого ты уже не увидишь

TL>А нужно? См.выше: если он твой код не поймет уже на собеседовании — что с ним дальше делать, начни он работать?

нужно через год если будет прогресс все отлично — его берут
Re[27]: C# - как проводить собеседование ?
От: The Lex Украина  
Дата: 05.11.07 14:59
Оценка:
Здравствуйте, Dan Dare III, Вы писали:

DDI>>>приведи задание что бы была рекурсия и при этом не было избитых примеров типа чисел фибоначчи которые студенты могут писать по памяти и условие было в две-три строки и само решение укладывалось в 15 строк вместе со скобками в виде один оператор на строку


TL>>Давай пойдем от обратного: зачем тебе вообще "проверять кандидата на знание рекурсии"?


DDI>считаю хорошо проверяет умение строить алгоритмы

DDI>сложно загружать кандидата смысла нет

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

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


TL>> Если дополнить картину твоим этим постом, то картина рисуется четче, но от это еще пессимистичнее...


DDI>я не понял что ты хотел сказать


Я хотел сказать, что очевидно стало, что ты даешь задачи, которых в практической работе у тебя на самом деле нет. Хорошо это или плохо? Т.е. вот я — кандидат. Я пришел, увидел, и понял (ну или для себя решил): "он дает задачи не из тех которые предстоит решать в работе" — точнее "совсем не из тех". Как ты считаешь я, как кандидат, должен оценить для себя перспективу работы с таким работодателем?
Голь на выдумку хитра, однако...
Re[30]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 05.11.07 15:00
Оценка:
Здравствуйте, Dan Dare III, Вы писали:


Lao>>Расскажите, пожалуйста, как это "сэмулировать"?


DDI>сэмулировать через params но вобще это шУтка была я видел такой код в портированой проге с с++ там авторы злоупотребили перегрузкой и параметрами по умолчанию


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

BZ>сопоставление с образцом (?*):


BZ>
BZ>match (c:cs) ('?':ps) = match cs ps
BZ>match cs     ('*':ps) | match cs ps = True
BZ>match (c:cs) ('*':ps) = match cs ps 
BZ>match (c:cs) (p:ps)   = c==p && match cs ps
BZ>match _ _ = False
BZ>


хорошая шутка
Re[26]: C# - как проводить собеседование ?
От: The Lex Украина  
Дата: 05.11.07 15:02
Оценка:
Здравствуйте, Dan Dare III, Вы писали:

TL>>>Я внятно выразился?


TL>>Но если не суетиться и спокойно подумать — над тем, стоит ли использовать такие задачи на собеседовании — то... почему бы и нет? Но Баба Яга все равно против! (к)


DDI>кроме этой задачи есть и без рекурсий

DDI>примитивный конечный автомат — её даю совсем слабым студентам для того что бы через год можно было оценить прогресс

Каким таким "студентам"?
Голь на выдумку хитра, однако...
Re[28]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 05.11.07 15:11
Оценка:
Здравствуйте, The Lex, Вы писали:

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


да, задача головоломка хотя и не головоломка на деле то

DDI>>я не понял что ты хотел сказать


TL>Я хотел сказать, что очевидно стало, что ты даешь задачи, которых в практической работе у тебя на самом деле нет. Хорошо это или плохо? Т.е. вот я — кандидат. Я пришел, увидел, и понял (ну или для себя решил): "он дает задачи не из тех которые предстоит решать в работе" — точнее "совсем не из тех".


твое право отказаться силой тебя никто не заставляет работать
Re[27]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 05.11.07 15:21
Оценка:
Здравствуйте, The Lex, Вы писали:

DDI>>кроме этой задачи есть и без рекурсий

DDI>>примитивный конечный автомат — её даю совсем слабым студентам для того что бы через год можно было оценить прогресс

TL>Каким таким "студентам"?


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

я не настаиваю даю попроще

конечный автомат — это только название страшное а решения один цикл и один if внутри цикла

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

само решение простое вовсе 8-9 строчек а условие довольно сложное студенты вот его не понимают

задач хватает — иногда даю на выбор
Re[26]: C# - как проводить собеседование ?
От: The Lex Украина  
Дата: 05.11.07 15:24
Оценка:
Здравствуйте, Dan Dare III, Вы писали:

TL>>Это, как раз, не обязательно. Тут, как раз, уже другая задача со стороны компании: не доказать что решение вообще существует, а показать кандидату, как именно задачу решили бы они и каких именно решений они ждут от работника.


DDI>код должен быть понят кандидатом

DDI>многие ихз нерешивших буквально не верят что решение существует

Вот я и говорю: у тебя нет задачи "научить кандидата" (или ты таки имеешь в виду студентов!?) — у тебя есть задача "заполнить вакансию" — задачу "посмотреть людей и поискать которые может пригодятся" я не рассматриваю в виду непрактичности конечной цели.

TL>>Из здесь возникает вопрос: поскольку предложенная задача "на рекурсия" в реальной жизни нежизнеспособна


DDI>приведи задание что бы была рекурсия и при этом не было избитых примеров типа чисел фибоначчи которые студенты могут писать по памяти и условие было в две-три строки и само решение укладывалось в 15 строк вместе со скобками в виде один оператор на строку


Слушай... так ты препод! Только без обид! Ну ты бы сразу так и сказал!

DDI>>>кроме этого есть специалисты которые переходят на с# из других областей — им тяжеловато читать код


TL>>Ну ты даешь! А если у тебя весь код так написан? И ты возмешь себе "специалиста", которому "трудно будет читать" твой код? А смысл? Как с ним потом работать?


DDI>если специалист решил задачу то уровень у него выше чем у того кому я показываю решение при чем гарантия 100%


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


TL>> вот-вот... а зачем? какова цель инициированного тобой процесса "собеседование"?


DDI>процесс не я инициировал

DDI>задача — очень удобно рассматривать кандидата со всех сторон

Зачем!? Жил бы ты в Штатах — еще и получил бы "втык" за "херассмент" (или как там его?)

DDI>>>потому решени должно читаться очень, очень легко

TL>>А зачем? Какова цель демонстрации такого решения?

DDI>я уже объяснил — что бы у кандидата не было никаких сомнений что я спрашивал простой вопрос

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

Ты точно в Штатах живешь: ну кто станет каждый год резюме слать? Кроме студентов и студентов на пересдаче...

DDI>>>если твой код кандидат не поймет — это исключительно твой прокол кандидата этого ты уже не увидишь

TL>>А нужно? См.выше: если он твой код не поймет уже на собеседовании — что с ним дальше делать, начни он работать?

DDI>нужно через год если будет прогресс все отлично — его берут


или "таки получает свой зачОт" (к)
Голь на выдумку хитра, однако...
Re[29]: C# - как проводить собеседование ?
От: The Lex Украина  
Дата: 05.11.07 15:25
Оценка:
Здравствуйте, Dan Dare III, Вы писали:

TL>>Я хотел сказать, что очевидно стало, что ты даешь задачи, которых в практической работе у тебя на самом деле нет. Хорошо это или плохо? Т.е. вот я — кандидат. Я пришел, увидел, и понял (ну или для себя решил): "он дает задачи не из тех которые предстоит решать в работе" — точнее "совсем не из тех".


DDI>твое право отказаться силой тебя никто не заставляет работать


Ты на меня рельсы не переводи — ты лично мне (и другим читающим это кандидатам) что посоветуешь в такой ситуации?
Голь на выдумку хитра, однако...
Re[27]: C# - как проводить собеседование ?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 05.11.07 15:34
Оценка: 19 (3)
Здравствуйте, Dan Dare III, Вы писали:

AVK>>Программа на языке C#, осуществляющая проверку строки на симметричность рекурсивным образом.


DDI>а какая версия C# ?


3.0. Но на 2.0 можно то же самое сделать, только писанины больше.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
AVK Blog
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.