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

Кэр>>Черт побери, выглядит мощно

Кэр>>Но вот только мне одному так кажется или программа на C# все больше начинает напоминать чириканье наподобие регулярных выражений? Я код прочитал совсем не с первого взгляда.

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


Потому что это могли прочитать уже и в других ветках. А в отличие от других неверных решений — данное хотя бы выглядит очень необычно
Re[9]: ПЕВ - Getting Things Done (D. Allen)
От: Она На Нас Ий Россия  
Дата: 06.11.07 05:20
Оценка:
Здравствуйте, De-Bill, Вы писали:
DB>Нет, не более лёгкий путь. Просто сейчас моя оперативная память до отказа забита финасами, математикой, статистикой, формулами. Для GC там места нет, да и не нужен он мне в данный момент.
В подтверждение, рекомендую всем почитать
David Allen. Getting Things Done

Основная мысль — не держать в голове (в оперативной памяти) и вокруг себя того,
что Вам не надо в данный момент
Re[33]: C# - как проводить собеседование ?
От: Dog  
Дата: 06.11.07 05:38
Оценка:
DDI>>>люди проявляют себя четко именно в пограничных ситуациях ничего не могу с этим поделать не я это придумал
TL>>1. Плохо, что ты (как потенциальный работодатель и начальник) не можешь ответить прямо, а "философствуешь": в реальной работе это сильно непрактично и сильно демотивирует работника и подчиненного. имхо.
DDI>это не философия а психология
И где вы такой психологии набрались только ?

DDI>подход к интервью — не стрессовое, но нагрузкой



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

Это не стрессовое, это хамское.
... << RSDN@Home 1.2.0 alpha rev. 730>>
Re[9]: C# - как проводить собеседование ?
От: Dog  
Дата: 06.11.07 05:38
Оценка:
DB>На самом деле, я читал Рихтера, и даже разбирался во всём этом, только вот сейчас вспомнить сходу ничего не смогу. Но если, вдруг, мне это понадобится, то всмопню за 20 минут. Кстати, кроме Рихтера я ещё много чего читал. Даже основы операционных систем Таненбаума и даже изучал исходники ядра MINIX. Но так как это мне в работе не нужно, то я ничего уже не помню.
Ну так вы там сначала решите у себя в голове с чем вы можете разобраться и что можете вспомнить, а после пишите.
То что глупо держать в голове всё это и так понятно. А то что вы использовали базовые вещи и потом "забыли", так это лично ваши проблемы. Я вот использовал и не забыл.

Dog>>... но похоже вы избираете более лёгкий путь

DB>Нет, не более лёгкий путь. Просто сейчас моя оперативная память до отказа забита финасами, математикой, статистикой, формулами. Для GC там места нет, да и не нужен он мне в данный момент.
Вы в данный момент ищите работу ?

Dog>>зы. Автор топика, безвременно нас покинувший , ищет специалиста в WinForms. А там зачастую, при написании собственных контролов, идёт работа с unmanaged ресурсами. И знание работы GC и модели освобождения ресурсов просто обязательно.

DB>Допустим, в городе N есть 100 программистов на .NET, которые готовы сменить работу. Из них 95 не работали с unmanaged ресурсами и не помнят подробности работы GC. У нас есть два варианта:
DB>а. Попытаться нанять оставшихся 5.
DB>b. Нанять лучших из 100 и заставить в первый же рабочий день изучить работу с unmanaged ресурсами и GC.
Вы себя к каким отностите ?
... << RSDN@Home 1.2.0 alpha rev. 730>>
Re[28]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 06.11.07 08:17
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


AVK>Но рекурсией намного проще.


волновой он не решается рекурсией
рекурсия — это самй простой алгоритм нахождения пути, при этом путь может быть сколь угодно неэффективным
с волновым будет самый эффективный
Re[22]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 06.11.07 08:29
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>[Не думал что буду писать по-удаффски, но сдержаться не могу]

G>АФФТАР, убей себя аб стену!
G>Этот код в случае симметричной строки работает в 100 раз медленее варианта с Array.Reverse!!!!!!!

я знаю это много лет

DDI>>можно, я не люблю трудночитаемый неэффективный код

G>Этот код гораздо читаемее вариантов в 3 строчки?

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

G>Нет уж, не надо. У меня есть работа, и на собеседовании никто не заставлял меня на бумаге писать рекурсию (кстати очень тяжелое занятие, потому что на бумаге пошаговая отладка не работает)


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

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

G>Мне о вас очень много эти 13 строчек рассказли.
G>Кстати у вас еще две попытки есть

твое сообщение больше о тебе говорит
обо мне ты ничего не сказал
Re[14]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 06.11.07 08:33
Оценка:
Здравствуйте, Konstantin.Nizhegorodov, Вы писали:

DDI>>
DDI>>string s = "строка символов";
DDI>>s.Remove(6,9);
DDI>>Console.Write(s);
DDI>>


DDI>>Услышал ответ "строка символов", поправлять не стал


KN>А парень был абсолютно прав, а Вы заблуждались.


это мой прокол копипаст
я во время собеседования все фиксирую на бумаге — он ответил "строка"
еще был наводящий вопрос про s[0] = '0'; и результат "0трока"
Re[9]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 06.11.07 08:36
Оценка:
Здравствуйте, De-Bill, Вы писали:

DB>На самом деле, я читал Рихтера, и даже разбирался во всём этом, только вот сейчас вспомнить сходу ничего не смогу. Но если, вдруг, мне это понадобится, то всмопню за 20 минут. Кстати, кроме Рихтера я ещё много чего читал. Даже основы операционных систем Таненбаума и даже изучал исходники ядра MINIX. Но так как это мне в работе не нужно, то я ничего уже не помню.


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

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

+1

DB>Допустим, в городе N есть 100 программистов на .NET, которые готовы сменить работу. Из них 95 не работали с unmanaged ресурсами и не помнят подробности работы GC. У нас есть два варианта:

DB>а. Попытаться нанять оставшихся 5.
DB>b. Нанять лучших из 100 и заставить в первый же рабочий день изучить работу с unmanaged ресурсами и GC.

unmanaged это только один из вопросов
4 плюса из 12 возможных это совсем мало
Re[34]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 06.11.07 08:49
Оценка:
Здравствуйте, Dog, Вы писали:

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

Dog>Это не стрессовое, это хамское.

много компаний использует именно такой подход
узнавай про собеседования там куда хочешь идти
Re[10]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 06.11.07 08:57
Оценка:
Здравствуйте, Dog, Вы писали:

Dog>То что глупо держать в голове всё это и так понятно. А то что вы использовали базовые вещи и потом "забыли", так это лично ваши проблемы. Я вот использовал и не забыл.


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

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


G>>[Не думал что буду писать по-удаффски, но сдержаться не могу]

G>>АФФТАР, убей себя аб стену!
G>>Этот код в случае симметричной строки работает в 100 раз медленее варианта с Array.Reverse!!!!!!!

DDI>я знаю это много лет

Так от кандидата требовалось выдать такой ответ? Если нет, зачем вы его пишете здесь?
Если код — говно, зачем оптимизацию туда включать?

DDI>>>можно, я не люблю трудночитаемый неэффективный код

G>>Этот код гораздо читаемее вариантов в 3 строчки?

DDI>варианты в три строчки многие не понимают

Ну да, зато все рекурсию понимают...

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

DDI>да бумага неудобна но думать можно и без бумаги вовсе и даже без студии
DDI>если кандидат пишет код дебуггером это уровень ниже требуемого
Вы в какой реальности живете? Заставьте своих программистов писать код в Notepad, а компилировать с помощью csc и не пользоваться отладчиком. Посмотрите во сколько (тысяч) раз упадет производительность.


Вы лет 10-15 назад информатику в вузе не преподавали?
Re[24]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 06.11.07 11:14
Оценка: :)
Здравствуйте, gandjustas, Вы писали:

DDI>>я знаю это много лет

G>Так от кандидата требовалось выдать такой ответ? Если нет, зачем вы его пишете здесь?

от кандидата годится любой код на C# если это проверка на симметричность если выполняются два условия — рекурсия + работоспособность

G>Если код — говно, зачем оптимизацию туда включать?


это сделал автоматически, не задумываясь

DDI>>варианты в три строчки многие не понимают

G>Ну да, зато все рекурсию понимают...

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

DDI>>если кандидат пишет код дебуггером это уровень ниже требуемого

G>Вы в какой реальности живете? Заставьте своих программистов писать код в Notepad, а компилировать с помощью csc и не пользоваться отладчиком. Посмотрите во сколько (тысяч) раз упадет производительность.

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

DDI>рекурсию нужно уметь и понимать в нашей области

DDI>приведи пример хорошей не избитой задачи буду благодарен
DDI>решение — до 15 строчек со скобками

Обход дерева. Например посчитать количество листовых узлов. Можно использовать XML DOM.

DDI>от кандидата годится любой код на C# если это проверка на симметричность если выполняются два условия — рекурсия + работоспособность

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

Если рекурсия так важна в вашей работе, то возьмите какую-либо задачу, решаемую только рекурсией, упростите так чтобы влезала в 15-20 строк.
Re[16]: C# - как проводить собеседование ?
От: egaron http://127.0.0.1
Дата: 06.11.07 15:24
Оценка: +1
Здравствуйте, Dog, Вы писали:

E>>>Хорошим манерам типа использования StringBuilder, String.Format (если строка с параметрами) s.Length = 0 вместо s == String.Empty научены почти все шарписты.

R>>s.Length недоступна для записи. И присвоить ему 0 никак нельзя. (Разве что вы имели ввиду StringBuilder)

Я имел в виду (и выведу), что без набора кода в студии зевнуть "=" вместо == — раз плюнуть. А потом собеседователь будет делать долгоиграющие выводы, делая вид что не понимает очепятки.

Dog>Имхо, это всё реализация... ошибки на уровне дизайна стоя граздо больше...
Re[25]: C# - как проводить собеседование ?
От: Konstantin.Nizhegorodov Россия  
Дата: 06.11.07 15:34
Оценка:
Здравствуйте, Dan Dare III, Вы писали:

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


Я, обычно, решение "ханойских башень" спрашиваю. Классика с коротким кодом.
Re[15]: C# - как проводить собеседование ?
От: egaron http://127.0.0.1
Дата: 06.11.07 15:59
Оценка: :)
Здравствуйте, Dan Dare III, Вы писали:

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


DDI>человек претендует на знание винформс при этом не знает что такое idisposable и event и много чего еще


Может он в институте изучал, на лабах. Там такие вещи не рассказывают.

DDI>зачем он это в резюме писал ? не знает — мог бы и сказать. а так — попытка обмануть


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


Я так понимаю, он вписал "винФормз", а не "эксперт по винформз". А это может значит что угодно — от "когда-то юзал" до уровня эксперта.


DDI>Кодером работает успешно — зп как у девелопера но я не хочу работать с таким.


хозяин — барин.


DDI>качественный код — это гарантия , что если кодер уйдет, его работа не пропадёт

DDI>это гарантия что сотрудничать будет легко, что его код я буду читать как свой
DDI>это гарантия что другие тоже легко читать
DDI>это показатель отношения к работе — халяву, авось и подобное не приветсвую

Кстати, хочу сказать, что
1) качественный код != расширяемый.
2) то что понимают под "качественным кодом", таковым на самом деле не является.

Иногда в стремлении к якобы качественному коду нагромождаются десятки уровней абстракции, используются какие-то ненужные библиотеки и визарды (лишь бы было по идеологии МС), а надо ли оно ?
потом такой качественный код приходится приводить в действительно качественный (по рациональности), притом не нарушая принятой архитектуры. А добавленное при таком кодировании в таблицу поле при таком подходе порождает полдня работы над объектной моделью. и самого кода-то нет, есть только нагромождение абстракций, по большей части малонужных. ну, и зато хмл-комменты везде написаны )))



E>>И еще — при работе над проектами, особенно крупными, бизнес-процесс затмевает детали технологии и изощреное знание технологии говорит лишь о том, что человек отягощен академическими знаниями, а не опытом работы.


DDI>изощренного знания технологии не требуется от кандидата. хочется иметь гарантию что он освоит хотя бы необходимый минимум


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


DDI>освоит, только у студедента потенциал выше, интерес есть в наличи, есть азарт, качество кода и знания не хуже а ЗП вдвое ниже


вот в чем ключ-то. не хотим платить ЗП. хотим подешевле, да посердитее. студент освоит и уйдет. ах да, он же качественный код оставит за собой, для следующих студентов )))


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

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


вылазят в любых проектах, что длинных что коротких.


DDI>если человек говорит честно, что не сталкивался, это показатель профессионального подхода к делу — говорит значит о том, что знает.


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

DDI>не люблю угадайщиков — код на авось он в следующей версии вылезет как говно весной


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

DDI>а рабочее время на что ?

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

DDI>для информации — 6-6 + 0.5 бала за интерес, т.е. 6.5-6 это повод рекомендовать на прием


ну что ж, пожелаем ему удачи. и чтоб не икалось, а то все кости бедолаге перемыли.
Re[35]: C# - как проводить собеседование ?
От: Dog  
Дата: 06.11.07 16:56
Оценка:
DDI>>>на стрессовых примерно так
Dog>>Это не стрессовое, это хамское.
DDI>много компаний использует именно такой подход
DDI>узнавай про собеседования там куда хочешь идти
Вроде как сейчас работников не хватает, а не работы. Зачем себя сознательно ограничивать вресурсах ?
... << RSDN@Home 1.2.0 alpha rev. 730>>
Re[11]: C# - как проводить собеседование ?
От: Dog  
Дата: 06.11.07 16:56
Оценка:
Dog>>То что глупо держать в голове всё это и так понятно. А то что вы использовали базовые вещи и потом "забыли", так это лично ваши проблемы. Я вот использовал и не забыл.
DDI>значит ты забыл чтото другое
Я уже писал. За пару собеседований основные вещи языка и платформы быстро вспоминаются, если конечно у вас есть желание получить работу
... << RSDN@Home 1.2.0 alpha rev. 730>>
Re[23]: C# - как проводить собеседование ?
От: Dog  
Дата: 06.11.07 16:56
Оценка:
Не могу удержаться снова.

G>>Нет уж, не надо. У меня есть работа, и на собеседовании никто не заставлял меня на бумаге писать рекурсию (кстати очень тяжелое занятие, потому что на бумаге пошаговая отладка не работает)

DDI>код пишется в голове а в студии или бумаге он фиксируется,
Неверно

DDI>да бумага неудобна но думать можно и без бумаги вовсе и даже без студии

Неверно

DDI>если кандидат пишет код дебуггером это уровень ниже требуемого

Неверно

Это лишь ваше представлениие о написании кода.

Всё что, для меня, будет написано через (_._) будет проверятся дебагером, а ещё лучше тестами. Пусть даже там 3 строчки. А проявление "преждевременной оптимизации" и есть — через (_._)
зы. Я ничего не имею против этой задачи на собеседовании. Вполне нормальная для проверки понимания рекурсии.
... << RSDN@Home 1.2.0 alpha rev. 730>>
Re[24]: C# - как проводить собеседование ?
От: Dan Dare III  
Дата: 06.11.07 22:28
Оценка:
Здравствуйте, Dog, Вы писали:

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

Dog>Неверно
Dog>Неверно
Dog>Неверно
Dog>Это лишь ваше представлениие о написании кода.

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

Dog>Всё что, для меня, будет написано через (_._) будет проверятся дебагером, а ещё лучше тестами. Пусть даже там 3 строчки. А проявление "преждевременной оптимизации" и есть — через (_._)


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

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

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


Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.