Здравствуйте, Smetanin, Вы писали:
S>>>значит ты книг по С++ (например, Старуструпа) DH>>вот ещё выжали — обязательное прочтение Страустропа. Наверное на собеседовании нужну пару раз автора процитировать?
S>Ясно. Не читаешь.
Подход понятен!
Коментировать остальное хамство даже не буду.
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Здравствуйте, Anatolix, Вы писали:
ЯИ>>Кстати идея — давать стажерам на собеседовании комп и задачку именно на поиск, ИМХО если умеет искать и главное знает где, то с работой у него проблем будет не много...
A>Это неправда. Вернее найти может и можно, но не понятно как из остального найденного мусора вытащить.
Я регулярно нахожу нужную мне информацию. Потому, что когда-то, где-то читал/слышал/делал.
Работодателю не всё ли равно откуда работник черпает знания? Из своих мозгов, мозгов товарища, или гугля/мсдн/итд. если в итоге работу сделано?
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Здравствуйте, Gollum, Вы писали:
G>Здравствуйте, olegkr, Вы писали:
O>>Подавляющее большинство из них — это asp.net-ы, которым "потоки знать необязательно".
G>А кто сказал, что программистам asp.net "потоки знать необязательно"? Папрашу асп.нет не трогать!
это смотря для каких задач
потоки в моей практике встречались очень редко
я их использовал когда надо было запустить долгий расчет на сервере.. а потом результат по e-mailу приходит
ну и под windows у меня были потоки
а, вообще, программистам asp.net "потоки знать необязательно" — я согласен
главное чтобы знали sql, html и javascript.
Здравствуйте, DEMON HOOD, Вы писали:
DH>Здравствуйте, Anatolix, Вы писали:
ЯИ>>>Кстати идея — давать стажерам на собеседовании комп и задачку именно на поиск, ИМХО если умеет искать и главное знает где, то с работой у него проблем будет не много...
A>>Это неправда. Вернее найти может и можно, но не понятно как из остального найденного мусора вытащить. DH>Я регулярно нахожу нужную мне информацию. Потому, что когда-то, где-то читал/слышал/делал. DH>Работодателю не всё ли равно откуда работник черпает знания? Из своих мозгов, мозгов товарища, или гугля/мсдн/итд. если в итоге работу сделано?
С программистами дело обстоит весьма серьёзно. Производительность зависит от способности одновременно держать в кратковременной памяти огромное количество различных мелких деталей. Любое вмешательство может вмиг всё это разрушить. Когда вы подводите итоги работы, вы не можете удержать в памяти все детали (имена локальных переменных, которые вы использовали, или на каком месте вы остановились в кодировании поискового алгоритма). Поэтому вам приходится то и дело просматривать эти вещи, что в свою очередь, будет замедлять процесс работы до тех пор, пока вы не вернётесь в нормальный режим.
Вот вам простая арифметика. Факты свидетельствуют, что если мы отвлекаем программиста даже на 1 минуту, мы отнимаем у него 15 минут продуктивной работы. К примеру, у нас есть два программиста: Джеф и Мат, сидящие за соседними столами на обычной Дилбертской ферме по откорму телят. Мат забыл название Unicode версии функции strcpy. Он может найти его самостоятельно, для чего надо 30 секунд, иди спросить Джефа, на что уйдёт 15 секунд. Так как он сидит рядом с Джефом, почему бы не спросить Джефа. Джеф отрывается от работы и теряет 15 минут продуктивной работы (чтобы сэкономить 15 секунд Мата).
Здравствуйте, DEMON HOOD, Вы писали:
DH>Здравствуйте, jdev333, Вы писали:
J>> Программист либо должен знать алгоритмы сортировки, либо способен придумать их.
DH>Согласен. DH>Добавлю третье — либо найти в литературе. DH>И вообще, это ко всему относится, не только к сортировке.
Чем скудней базовые знания, тем поиск в литературе менее результативен. Если что-то и найдешь, то навряд ли быстро поймешь. А пока поймешь — много времени пройдет. За это время человек с более общирными базовыми знаниями уже пять раз работу закончит.
Вообще, такие понятия как структуры данных, сортировки, методы разработки алгоритмов, паттерным проектирования и т.д составлют некий мета-язык программиста. Чем лучше он им владеет — тем быстрее и эффективней решает задачи (при прочих равных условиях). Да и ставить сами задачи ему становится проще.
Скажем, если я говорю человеку, что эту задачу надо решать динамическим программированием и он знает что это, то он говорит "Ага" и идет решать ее.
Если же человек не знает про этот подход, то мне прийдется потратить несколько часов на объяснению и ему еще предстоит прочесть литературу по этому вопросу. Тем самым времени затратится больше.
Здравствуйте, ilya_ny, Вы писали:
_>а, вообще, программистам asp.net "потоки знать необязательно" — я согласен _>главное чтобы знали sql, html и javascript.
Ну да. А потом выясняется, что данные они хранят в appplication и длительные операции выполняют синхронно, а пользователь за подвисшим эксплорером нервно курит в сторонке.
Исправность аккумулятора можно проверить не выходя из салона, лизнув специально выведенные на приборную доску контакты.
Здравствуйте, Gollum, Вы писали:
G>Ну да. А потом выясняется, что данные они хранят в appplication и длительные операции выполняют синхронно, а пользователь за подвисшим эксплорером нервно курит в сторонке.
Хм. А я почему-то эту проблему(подвисание эксплорера при выполнении серверром длительных опреаций) решал не с помощью потоков на сервере, а с помощью "правильного" написания клиентских скриптов. Неужели я был не прав, когда думал, что это оптимальное решение?
Здравствуйте, Victor Repetsky, Вы писали:
VR>Здравствуйте, MaximVK, Вы писали:
VR>Мы используем самописный тест с проверкой таких знаний VR>1. основы языка (например как считать такое p+=k-=j<<=i%=4;l=--j/i++;
А какже i++ + ++i ?
VR>что означают ключевые слова abstract, static, protected; разобраться в коде с интерфейсами и наследованием). VR>2. основные алгоритмы и контейнеры (сортировка-поиск, связный список, хэш таблица, деревья) VR>3. теория БД (ключи, НФ, транзакции, уровни изоляции) VR>4. задачи на сообразительность (взешивания, веревки, монеты и тп) VR>Для людей с опытом еще вопросы по технологиям.
VR>Если по какому-то разделу ноль но в сумме нормально, то все равно берем. VR>Подход когда "человека нельзя брать если не знает скорости поиска в хеше" не прижился, VR>так как любое отдельно взятое незнание не мешает работать. Мешает суммарное незнание ничего
Мне звонили с открытия пленума — я сказал им, что я не приду
Здравствуйте, A_l_e_x_e_y, Вы писали:
A__>Хм. А я почему-то эту проблему(подвисание эксплорера при выполнении серверром длительных опреаций) решал не с помощью потоков на сервере, а с помощью "правильного" написания клиентских скриптов. Неужели я был не прав, когда думал, что это оптимальное решение?
Не всегда скриптов хватает, иногда нужно операции подобного рода вообще в windows service выносить. Хотя конечно, такая необходимость возникает довольно редко.
Если вы скриптами решили проблему полностью и с минимальнвми трудозатратами, значит это и есть оптимальное решение.
Здравствуйте Владислав, Вы писали : > Естественно. Один человек недавно в этот форум написал что он не может > уже решить даже квадратное уравнение. Я тоже не могу... Забыл как их > решать, тем более интегралы. Но уверен, что найду в сети алгоритм > вычесления интегралов минут за 10, а за пол часа несколько этих > алгоритмов и их характеристик. Разве этого не достаточно?
Ну, в случае с интегралами, либо ты их брать можешь, либо нет. Четких
алгоритмов там попросту нет.
> этого требуется куча времени, и если выбирать между человеком, который > участвовал в мировой олимпиаде по программированию и сортировки знает > как свои 5 пальцев и человеком, который прилично знает C++/STL/ATL/COM, > то лично я выбрал бы последнего.
Я бы лично выбрал того, кто способен что-то написать.
Знавал я людей, что не спроси по теории -- ответят, но на практике не
понимают элементарного.
Posted via RSDN NNTP Server 2.0 beta
Всё, что нас не убивает, ещё горько об этом пожалеет.
Здравствуйте, Gollum, Вы писали:
G>Не всегда скриптов хватает, иногда нужно операции подобного рода вообще в windows service выносить. Хотя конечно, такая необходимость возникает довольно редко.
На самом деле я хотел сказать, что для решения этой проблемы(подвисание эксплорера) совершенно не обязательно хорошо разбираться в механизме использования потоков в asp.net. Я бы даже сказал, что вообще не обязательно знать о их существовании.
Здравствуйте, A_l_e_x_e_y, Вы писали:
A__>На самом деле я хотел сказать, что для решения этой проблемы(подвисание эксплорера) совершенно не обязательно хорошо разбираться в механизме использования потоков в asp.net. Я бы даже сказал, что вообще не обязательно знать о их существовании.
Здравствуйте, Владислав, Вы писали:
В> И для изучения всего этого требуется куча времени, и если выбирать между человеком, который участвовал в мировой олимпиаде по программированию и сортировки знает как свои 5 пальцев и человеком, который прилично знает C++/STL/ATL/COM, то лично я выбрал бы последнего.
Здравствуйте, jdev333, Вы писали:
J> Программист либо должен знать алгоритмы сортировки, либо способен придумать их. J> Если не знает и не способен придумать хотя бы что-то типа пузырька — "мозг отсутствует" (зачем такой нужен — непонятно)
Вопрос. Нахрен нужен программист, который постоянно будет сидеть и придумывать пузырьковую сортировку? Или (привет, Демон Худ) постоянно находить её в "литературе", поскольку она там "шире всего представлена"?
Что одному хорошо, то другому — смерть (с). У отдела из 10 человек, делающих сайты на asp.net, несколько иные масштабы/задачи/проекты/планы_развития, чем у Microsoft.
S>...о ужас, знаю о нормализации баз (когда 5 лет назад защищал диплом, это был любимейший вопрос в ГАКовцев)
О ужас, и я ее знаю, и что теперь?
Когда в этой теме люди пишут о том, что другие не знают, я начинаю понимать, что пора бросать текущую работу и идти на полтора килобакса программером
Здравствуйте, Smetanin, Вы писали:
S>Здравствуйте, jdev333, Вы писали:
J>> Программист либо должен знать алгоритмы сортировки, либо способен придумать их. J>> Если не знает и не способен придумать хотя бы что-то типа пузырька — "мозг отсутствует" (зачем такой нужен — непонятно)
S>Вопрос. Нахрен нужен программист, который постоянно будет сидеть и придумывать пузырьковую сортировку? Или (привет, Демон Худ) постоянно находить её в "литературе", поскольку она там "шире всего представлена"?
Здравствуйте, Anatolix, Вы писали:
A>Здравствуйте, execve, Вы писали:
E>>Здравствуйте, execve, Вы писали:
A>>>>Никто же не просит qsort взять и написать, нужно знать его общие принципы, что он например делает O(n^n)
E>>>Гугл подсказыает, что O(n*2)
E>>Рука дрогнула. E>>n^2
A>У меня тоже дрогнула n*n конечно.
Подскажите мне пожалуйста.
qsort это не то, что делит масив на 2 части и сортирует с использованием рекурсии?
И не является ли это реализацией алгоритма "Разделяй и влавствуй"?
Столько раз о нем упоминули, сомнения замучили
Здравствуйте, Владислав, Вы писали:
В>Здравствуйте, SeRya, Вы писали:
SR>>Ну я недавно пользовался. С отсортироанными данными работают алгоритмы вроде std::set_intersection. На днях написал сортировку слиянием и сортировку подсчетом. Но это так, для удовольствия.
В>Искренне завидую. Завидую тому, что у вас после работы остаются время и силы чтобы писать что — либо для удовольствия.
Если уж совсем честно, то на этот раз все-таки не только для удовольствия К тому же хотелось "руками пощупать" разницу в ассимптотической эффективности.
Но вообще-то, по моему мнению, по другому не выжить. Либо Вы развиваетесь, либо деградируете. Оставаться не месте, судя по личному опыту, не получается. "Нет времени" — это оправдание для неудачников (Вы уж извините за откровенность; это мой подход, в первую очередь к себе; лично против Вас я ничего не имею, к тому же я понимаю, что в жизни разные периоды и обстоятельства бывают).
SR>>Маленькая поправка... В>Вот видите, не прошёл бы я собеседования на должность beginner'а asp. Правда я кроме сортировок и asp то не знаю.
Как раз ASP в процессе работы изучить проще когда сталкиваешься каждый день. А изучать алгоритмы у большинства нет никакой мотивации.
SR>>С таким же успехом можно сказать, что знание, к примеру, интергралов излишне отягощает память бедных программистов из-за того что используется это очень редко (почти никогда).
В>Естественно. Один человек недавно в этот форум написал что он не может уже решить даже квадратное уравнение. Я тоже не могу... Забыл как их решать, тем более интегралы. Но уверен, что найду в сети алгоритм вычесления интегралов минут за 10, а за пол часа несколько этих алгоритмов и их характеристик. Разве этого не достаточно?
SR>>И дело даже не в пузырьковой сортировке как таковой (хочешь — напиши сортировку вставками, никто за это не осудит). Перед человеком ставиться элементарная задача (отсотрировать массив) и если он не может справиться с ней, то что же он будет делать с действительно сложными задачами?
SR>>Но отсортировать массив — это тест на вменяемость. Такую задачу я решал классе в 8 не зная ни одного метода сортировки. А здесь все-таки люди c высшим образованием. Должны как-то продемонстрировать, получили что-то помимо навыков списывания
В>Да поймите вы, никто ведь не спорит с тем, что нужно спрашивать сортировки/поиски/структуры данных. Но спрашивать нужно на уровне: знаешь — знаю. Т.е. без подробностей, если человек знает как использовать std::sort и примерно представляет сложность алгоритма то это и есть good.
Так что теперь, просить поставить галочки на против тех методов сортировки, которые кандидат знает? Полная ерунда. Некторые из тех, кто по причине хорошей памяти способны перечислить с десяток методов (например, потому что им пришлось сдавать это на зачете) могут вообще не разбираться в предмете. Значительно интереснее глубокое понимание вопроса, пусть даже без знания деталей. Лично я не представляю, как человек может что-то понимать и быть неспособным написать сортировку пузырьком или простыми всавками или что-то подобное. Не уметь реализовать сортировку Хоара простительно, но это тоже довольно несложно. Лично я просто полюбовался изяществом реализации std::sort (в реализации MS) и теперь это, наверное, долго не вылетит у меня из головы
В> Если он при этом ещё и знает где и что посмотреть/найти так просто прекрасно. Сейчас столько информации, которую нужно прочитать чтобы хоть как — то начать программировать для OC Win, например, что для прочтения подробностей реализации сортировок просто не остаётся времени.
В том-то вся и беда — если кандидат в фундаментальных вопросах ноль, с вероятностью 99% таким и останется. В остальных вопросах он разбереться, а в этих — врядли. Острой необходимости ведь нет. Более того, вполне возможно, что 80% задач он может выполнять ничуть не хуже всех остальных. Но если вам приходится постоянно следить, не попалась ли ему задача из оставшихся 20%, то работать становится тяжело.
B> Любой мало — мальски грамотный разработчик назовёт вам минимум 15 технологий/IDE/баз данных которые он хорошо знает. И для изучения всего этого требуется куча времени, и если выбирать между человеком, который участвовал в мировой олимпиаде по программированию и сортировки знает как свои 5 пальцев и человеком, который прилично знает C++/STL/ATL/COM, то лично я выбрал бы последнего.
Павильно и сделаете. Иначе все равно через пару лет уйдет в IBM/Sub/Intel/Microsoft
Лично мне просто обидно когда неграмотные люди называют себя профессионалами.