Здравствуйте, Calc, Вы писали:
C>Все зависит от куска C>Я не знаю что там будет этот кусок компилить, но для оптимизации лучше сторонний копмилятор подобрать.
Ассемблер на то и ассемблер, что его вручную "оптимизируют".
Та-а-ак... что-то у меня начинает появляться очень сильное желание взять с буфета столь дорогих моему сердцу слоников и начать их вручать в качестве персональных подарков некоторым участникам ветки. Давайте-ка с провокациями завязывать — иначе поедем как минимум в "СВ".
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by Led Zeppelin — In My Time Of Dying ]
Здравствуйте, Митяй, Вы писали:
DH>>опять общие слова! Базовые знания — что это? М>Структуры данных, алгоритмы, парадигмы программирования и т.п. — это базовые знания. Если у тебя их нет — ты _не хороший_ программист.
какие *выделенное*, все?
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Поскольку обсуждение уже давно норовит принять явно неконструктивный характер, то при следующем [провокационном | резком | неуважительном к собеседнику] посте оно поедет прямиком в Войны — там можно флеймить и поливать друг друга нечистотами сколько душе угодно.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by Led Zeppelin — Brown-Yr-Aur Stomp ]
Здравствуйте, Calc, Вы писали:
DH>>Повторяюсь. Какие алгоритмы и структуры данных наиболее распространены, и почему ты считаешь, что именно эти алгоритмы наиболее распространены?? C>Таблицы, списки и деревья
Хорошо. Пусть под этим подпишутся все работодатели.
Что мы имеем? Зачем тогда интервью? Если наверняка все кандидаты зазубрили "Таблицы, списки и деревья". А не возникнет ли тогда желание спросить, что то такое эдакое?
Всё таки лучше взять человека и смотреть как он работает, а не как он к собеседованию подготовился.
Вобщем этим постом
Здравствуйте, eaa, Вы писали:
eaa>В том то и дело что не намертво. Во первых человек может сказать, что было там что то для решения подобной проблемы, а если повезёт то скажет как оно звалось. А во вторых вспомнит он это намного быстре чем другой с нуля выучит.
собственно из-за этого и весь сыр-бор. Я говорю, что знаю пузырёк, но не наизусть. А меня убеждают, что знать нужно именно наизусть.
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Calc была разрешена к обоюдному удоблетворению в частной беседе via ICQ. Он "не имел ввиду", "честь офицера не порочил", etc. Соответственно, дальнейшие посты в данную ветку не считаются конструктивными.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by Led Zeppelin — Sick Again ]
посте оно поедет прямиком в Войны — там можно флеймить и поливать друг друга нечистотами сколько душе угодно.
DH>правда?
А то Вы не знали. Да, правда, там "барьер" существенно ниже, чем в "МФЦ" и обоих "Работах", которые (в основном) модерю я. "У меня" удаффком, брань и невалидные вакансии "караются" очень жестко... там — "на усмотрение". Если кому-то хочетчся "побороьтся в грязи" — это его право. А "здесь" у нас, в конце концов, женщины бывают — и ругань они слушать не будут, "я сказал" (с) Жеглов. У RSDN уже есть Имя (именно с большой буквы) и "низлагать" его — ИМХО зло по отношению к 99% посетителей форума.
P.S.
В данном посте высказана сугубо личная позиция.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by Luca Turilli — Black Realms' Majesty ]
Терпел-терпел и не вытерпел.
DH>собственно из-за этого и весь сыр-бор. Я говорю, что знаю пузырёк, но не наизусть. А меня убеждают, что знать нужно именно наизусть.
Нет, Вас в этом не убеждают. Дело в том что знать пузырек наизусть нет необходимости, любой программист должен быть способен написать его с нуля, т.к. это простейший алгоритм из школьного курса информатики (который был по крайней мере в конце 80-х). Еще раз повторю, это даже не база, это ЭЛЕМЕНТАРНО.
Если говорить по простому то мои базовые требования совпадают с упрощенной программой курса инженера-программиста в ВУЗе, таких специальносте несколько, я возьму примерно первые 3 курса. Это БАЗА для стажера.
1) Умение писать простые программы, пузырек как пример. Декомпозиция задачи на подзадачи.
2) Базовые структуры данных: массив, стек, очередь, список, деревья, таблицы. Стажер дожен иметь представление об этих структурах. От него не требуется написать на листе реализацию списка свободных страниц, или вставку в сбалансированное дерево, хотя это и не сложно. Но совершенно точно должен знать различия между этими структурами и знать чоть немного их преимущества и недостатки.
3) Основные алгоритмы. Алгоритмы с рекурсией, с возвратом. Какие бывают алгоритмы сортировки по временной сложности, достаточно дать две оценки n^2 и nlog(n), привести названия таких алгоритмов. Очень хорошо если стажер понимает разницу между сложностью в среднем и в худшем случае. Весьма неплохо, если стажер скажет о том, что существуют сортировки основанные на знании внутренней структуры данных, которые имеют лучшую сложность, чем сортировки основанные на попарном сравнении (как пример цифровая сортировка).
4) Базовые знания об операционных системах: процесс, поток, виртуальная память, ирархическая структура памяти.
5) Основные знания ООП, тут надо осторожнее, так как иногда в институтах учат непонятно чему.
6) Знание всех основных конструкций предпочитаемого стажером языка программирования. Т.е. если идет на C++, то уж запись template <class T> class X {}; не должна вводить стажера в суппорт. Требовать от него написань шаблонного списка не обязательно, хотя нормальный студент с этим справится без проблем.
7) Если стажер идет на направление связанное с БД, то уж слышать про то что существуют нормальные формы он обязан. Очень хорошо, если сможет сказать что такое 3 НФ, хотя и не обязательно. По крайней мере понять по таблице с примером (не соотвестсвующей 2 НФ) что что-то не так он должен.
Нет необходимости спрашивать по всему списку, но если человеку задали несколько вопросов из этого перечня и он НЕ НА ОДИН не смог ответить, то что с ним делать ???
Эти знания являются базовыми, потому что их наличие в голове очень сильно облегчает решение программистом сложных задач. Без этих кубиков ничего не постороить.
Если программист не знает, что такое стек или очередь, откуда он поймет что именно эта структура необходима для задачи. Для того чтобы в гугле узнавать про то, что такое сбалансированное дерево, нужно что бы кто-то сказал, что в данном случае применимо именно оно.
Не вполне понял удаления грубости... Вообще-то, исходное высказывание было довольно грубое, согласен, но теперь оно выглядит матерным (c #### вместо мата) и, в результате, полностью потеряло смысл, кстати. Чем так странно править цитату — не проще ли было удалить всё сообщение?
Здравствуйте DEMON HOOD, Вы писали : > DH>>Зачем мне диплом инженера-программиста? > S>Вот видите — даже для вас это вопрос!!! > > конечно, ведь меня настойчиво убеждают, что пузырёк важнее диплома
Ясное дело!!! Вспомни себя в ВУЗе. Пузырек это очень важно!!! К нему
нельзя отнеситься легкомсленно. С некоторыми вещами без пузырька не
разобраться!!! Некоторые предметы без пузырька не сдашь!!!
Эхххх... Бывало возьмешь пузырек, положишь на столик пачку закуски и
зажигалку...
Posted via RSDN NNTP Server 2.0 beta
Всё, что нас не убивает, ещё горько об этом пожалеет.
Здравствуйте, DEMON HOOD, Вы писали:
DH>>>почему должен? Сейчас вообще много программ делается с использованием "cout"? eaa>>Ты наверное будешь смеяться, но таки да... DH>а в программе с помощью которой я пишу эти слова — нет. И кто прав?
Вопрос же стоял не как часто используется cout в одной конкретно взятой програме. А так исполюзуется для написания консольных приложений. Многие алгоритмичиские задчи решаються изначальноименно с выводом на консоль... и даже если в исходниках релиз какого то продукта неи ни одного cout, то ето не значит что им не пользовались пока его создавали.
PS: А сейчас ещё и всякие пингвины подтянутся, вот они то про консоль раскажут...
Здравствуйте, Maxim S. Shatskih, Вы писали:
MSS>Возможно. Это целый стиль бизнеса — набрать людей за 600 — юных и неопытных, но толковых и делать с ними серьезные дела.
... А ещё руководителей и ведущих таких что бы работу в этом цирке выдержали, вот видимо к ним и уйдёт вся секономленая зарплата...
Здравствуйте, DEMON HOOD, Вы писали:
DH>Здравствуйте, eaa, Вы писали:
eaa>>Скажите а сколько человек у вас в компании и на сколько планируется расширить штат? а то как то не хватает для полноты картины... DH>в нашей компании на это смотрят так
(жёлтый текст) DH>То-есть, берёться новобранец и из него получается, если не дурак, лейтенант->капитан->майор итд, если перевести рост карьеры в военную терминологию
А если дурак? Цель собеседования, если речь идёт о взятии Juniora, именно отсеять дураков. А насчёт элементарного, то тут критерии у каждого свои, кто то считает, что необходимым минимумом есть решение дифур, а кто то спрашивает что такое класс. Человеку который пришёл на собеседование в свою очередь оставлен выбор или стараться доказать тому кто его интервьюирует, что он этот минимум знает, или решить, что ему не подходит контора которая задаёт такие вопросы, встать и уйти тем самы сыкономить время всем.
Кроме того бывают случаи когда именно не профильные вопросы оказывают огромную роль, на пример в команде все самоучки без дипломов ВУЗа, то по всей вероятности человеку с дипломом откажут. И в такой ситуации это плюс для всех. Но это скорее уже вопрос психологии.
Что касаеться взятие человека то стоимость ошибки может быть различна. Отказать хорошему кандидату намного дешевле чем взять плохого. Если сесть и посчитать во сколько обходиться взятие нового человека для компании, то сразу становиться понятно, что если этого человека уволить или он сам уволится в течении года, то комания только теряет. (Я говорю про класичиский вариант, а не толпа обезьян с резервирование в 300%)
Здравствуйте, Maxim S. Shatskih, Вы писали:
SR>>Все-таки, мне кажется, что возможно. Не все практиканты профессионально непригодны. Есть и такие, которым не хватает практического опыта и платить им много экономически нецелесообразно. Если для человека это первое место работы, скорее всего в первые месяцы он и эти 600 баксов не будет отрабатывать. А вот когда он втянется, тогда можно и
MSS>Возможно. Это целый стиль бизнеса — набрать людей за 600 — юных и неопытных, но толковых и делать с ними серьезные дела.
MSS>Что тут важно: MSS>- надо понимать, что опыт работы и качество мозгов — вещи разные.
Безусловно. Помимо качества мозгов (знаний и способности решать проблемы) есть еще личностные качества, что также немаловажно. И хотя собеседование выявляет многое, оно не гарантирует того, что человек будет успешно справляться, особенно когда нельзя опереться на предыдущий опыт.
MSS>- "таржетировать" надо — на качество мозгов, т.е. задачки не на знание нюансов MSSQL 2000 и чем он лучше "семерки", а типа олимпиадных. MSS>- надо быть готовым к высокой текучести кадров. Такой "практикант" уже через год уйдет куда-нить на 1200. MSS>- а значит — непрерывно HR и собеседования, циркуляция и ротация. Причем собеседования часто с лохами — на цифру в 600 их понабежит немеряно. MSS>- с коммерческими тайнами тоже тяжеловато.
Речь, все-таки, не о том, что студентам можно платить ниже рыночной стоимости, а о том, что рыночная стоимость человека без опыта невысока. Но она может быстро вырасти и за этим нужно внимательно следить чтобы не остаться в дураках. Недоплачивать также невыгодно как переплачивать.
К тому же непонятно, что заставляет вас считать, что на 1200 лохов набежит меньше Может статься совсем наоборот. Пролема может решаться эффективным скринигом. Мы обычно проводим краткое телефонное интервью и даем тестовое задание. На основании этого решаем, стоит ли тратить свое время на нормальное интервью. К тому же задание позволяет посмотреть посмотреть на некоторые вещи, которые на интервью не видны.
MSS>В наше время, как я понимаю, большинство руководителей не хотя такого, а предпочитают больше платить, но чтоб с гарантией. Отсюда рост зарплат.
Этот подход применим (и вполне оправдан) к опытным разработчикам, доказавшим свою эффективность на практике. Но как раз в случае стажера никаких гарантий, как правило, нет. Даже в случае более высокой зарплаты.
Здравствуйте, DEMON HOOD, Вы писали:
DH>Здравствуйте, eaa, Вы писали:
eaa>>Скажите а сколько человек у вас в компании и на сколько планируется расширить штат? а то как то не хватает для полноты картины... DH>в нашей компании на это смотрят так
(жёлтый текст) DH>То-есть, берёться новобранец и из него получается, если не дурак, лейтенант->капитан->майор итд, если перевести рост карьеры в военную терминологию
Так может Вам лучше в армию, раз уж Вам так близки их подходы?
К счатью, соотношение количества кандидатов и ванактных мест в сфере разработки ПО значительно лучше, чем в армии К тому же военным проще — им денег зарабатывать не надо, их государство содержит. А если кандидат (призывник) не очень толков, то работы ему все равно найдется.
Здравствуйте, DEMON HOOD, Вы писали:
DH>Здравствуйте, Calc, Вы писали:
DH>>>Повторяюсь. Какие алгоритмы и структуры данных наиболее распространены, и почему ты считаешь, что именно эти алгоритмы наиболее распространены??
C>>Таблицы, списки и деревья DH>Хорошо. Пусть под этим подпишутся все работодатели.
Работодатели под этим не подпишуться Именно поэтому они проводят интервью а не дают тесты за которые можно выставить баллы.
DH>Что мы имеем? Зачем тогда интервью? Если наверняка все кандидаты зазубрили "Таблицы, списки и деревья". А не возникнет ли тогда желание спросить, что то такое эдакое?
Зубрить вовсе не обязательно. Концепции, особенно основные, очень простые. Если Вы их понимаете, то уж как-нибудь обясните. А если не понимаете, то и точное знание определения не поможет.
Программисты помнят эти концепции не потому что они их каждый день явно используют. Большинство из них так или иначе реализованы в библиотеках. Просто они задумываются о том, как работает то, чем они пользуются.
Программисты ежедневно пользуются коллекциями, которые реализованы на основе связных списков, хешей или сбалансированных деревьев. Все это очень простые концепции (ну хорошо, я сам некоторые операции с ходу, наверное, не напишу, особенно операцию удаления из красночерного дерева, но на уровне концепций все элементарно). Многие на столько просты, что если Вы понимаете общую идею, вам ничего не стоит это реализовать. Если не можете — это значит одно из двух: 1) вы не монимаете идею, 2) вы не можете реализовать даже простых вещей.
Почему я считаю, что это кандидат это должен знать? Это преподают в вузах (как выяснилось, за редким исключением , а если человек это понял (а не зазубрил), то он скорее всего этого уже не забудет поскольку постоянно использует (хотя и косвенным образом). Конечно, если задумывается над тем, что делает. А хороший программист задумываться обязан.
При этом я не считаю, что нужно принимать решение о том, нужно ли его брать на основании его фундаментальных знаний. Вполне нормально если человек что-то забыл (частенько стоит ему слегка напомнить и он легко восстановит полную картину). Но если он вообще ничего не знает, то дальнейшее общение (собственно, самая интересная часть интервью) теряет всякий смысл.
DH>Всё таки лучше взять человека и смотреть как он работает, а не как он к собеседованию подготовился.
Во-первых, это нереально (и я уже говорил почему). Во-вторых, интервью действительно помогает понять что из себя кандидат представляет. Сособен ли он выйти за рамки повседневного опыта или действует по выработанным стериотипам, принимает ли он решение на основе понимания или пытается выдать результат не разобравшись в проблеме, способен ли он создать что-то новое или может лишь применять хорошо известное. А фундаментальные знания — это лишь основа для дальнейшего разговора, способ убедиться, что ты общаешься с кандидатом на одном языке.