ansi wrote: > > EN>Тут круче. На неделе пришёл чел на должность C# программера и не смог > сказать про 3 парадигмы ООП (инкапсуляция,наследование,полиморфизм). И > при этом хотел 1500$. > > Блин, вот я в терминах реально не силен... Я знаю все это, но не помню > как называется Наследование — понятно. Инкапсуляцию я не так давно > зазубрил — что-то вроде сокрытия данных и реализации (типа есть > интерфейс наружу, а как там внутри устроено — пофиг). Полиморфизм — > ...ой Это что-то про виртуальные функции, да?
Инкапсуляция: выборочное закрытие доступа к тем или иным частям
объекта. Открытым оставлять рекомендуется лишь некий набор методов,
составляющий официальный интерфейс. Еще рекомендуется делать умное
лицо и говорить, что скрыты детали реализации, как будто они не
проявятся через, скажем, временные характеристики работы, объем
используемой памяти, и характер изменения данных величин.
На самом деле, это все старая добрая концепция черного ящика, ничем
ООП не обязанная, зато специальное имя подчеркивает ее применимость
по отношению к классам и имеет высокое воспитательное значение.
Наследование: возможность группировать объекты с общими свойствами,
выделяя оные свойства в виде общих классов-предков.
В демагогических целях концепция описывается в обратном порядке:
мол сначала мы имели некие абстрактные сущности со взятыми с
полотка свойствами, а потом на их основе наклепали реальных
классов объектов.
Полиморфизм: возможность использовать общие свойства
объектов разных классов, выделенные в классе-предке,
одним и тем же образом.
DAN>Почему же это не может быть интегрирован? Unit testing это далеко не самая эффективная методика нахождения багов. DAN>На мой взгляд ценность unit test-ов состоит в а) как дополнительный (но далеко не основной) критерий тестирования, б) база для будущих smoke test-ов. DAN>Во-вторых Unit тесты могут разрабатываться параллельно с разработкой основного кода.
Т.е. у Вас в компании (я так понимаю, вы говорите о компании, в которой работаете (работали)) человек пишет код, сует его в систему, система падает (без вариантов), вы какими-то способами (какими? code review? функциональные тесты?) начинаете находить баги и автор кода их исправляет? Как-то уж очень накладно получается...
-VaS- wrote: > > Т.е. у Вас в компании (я так понимаю, вы говорите о компании, в которой > работаете (работали)) человек пишет код, сует его в систему, система > падает (без вариантов), вы какими-то способами (какими? code review? > функциональные тесты?) начинаете находить баги и автор кода их > исправляет? Как-то уж очень накладно получается...
Обязать заставить гонять тесты перед сованием в систему.
Здравствуйте, DEMON HOOD, Вы писали:
SR>>Предложение сначала брать, а потом смотреть что из этого получиться (предложенное Вами), очевидно неприемлимо: DH>Говорите за себя! Вам неприемлемо, а нам приемлемо!
Скажите а сколько человек у вас в компании и на сколько планируется расширить штат? а то как то не хватает для полноты картины...
PS: Для нас тоже не приемлемо брать без тестирования — это очень дорого.
Здравствуйте, DEMON HOOD, Вы писали:
DH>Здравствуйте, Calc, Вы писали:
C>>Если человек идет работать врачем, то он знает как оказать первую помошь. DH>в отличие от врача, программист чаще меняет специализацию. Да, я согласен, что инженер должен развиваться. Но я против современных методов приёма на работу, они имхо, дискредитируют дипломы ВУЗа.
А что вы можете предложить в ответ? Только учитывая то, что работодателя инетесует метод приема который в кратчайшие сроки даст ему лучших программистов по минимально возможной цене. Это может нам нравиться или нет, но это обьективная реальность и ее следует учитывать.
VS>Т.е. у Вас в компании (я так понимаю, вы говорите о компании, в которой работаете (работали)) человек пишет код, сует его в систему, система падает (без вариантов), вы какими-то способами (какими? code review? функциональные тесты?) начинаете находить баги и автор кода их исправляет? Как-то уж очень накладно получается...
Накладно получается если система _падает_. В реальности в большинстве случаев обратная ситуация — все работает, но с недочетами.
Тесты пишутся параллельно разработке, просто другим человеком. Их роль больше для дальнейших автоматических smoke тестов, нежели как средство нахождения багов.
Для обеспечения качества используется code review и black box testing.
Code review делается до чекина.
Впрочем мы уже залазим в дебри. Думаю на основной вопрос нашего диалога я ответил: Unit test-ы и основной код все таки могут разрабатываться разными людьми.
DH>1. Что такое Hashtable и SortedList и как и для чего их обычно используют.
DH>2. Как можно осортировать массив целых чисел?
DH>3. Какие алгоритмы сортировки вы знаете?
DH>судя по всему в той конторе нужен человек шарящий в п.п 1.2.3.
DH>А теперь ситуация — человек не прошёл собеседование, и пошёл в контору Calca а тот его и спрашивает —
DH>
DH>1. просчет сталкновений?
DH>2. движки для игр?
DH>для Calca это такие-же базовые знания как для МаксимаВК сортировка итп.
DH>А бедному стажёру приходится читать всё. Т.к большие грозные дяди-работодатели, назвали его некомпетентным-ламером и отправили повторно учится в ВУЗЕ
Ты так и не понял. Спрашивать во второй конторе у стажёра будут именно то же, что и в первой (плюс отдельно для геймдева — геометрия). А просчёту столкновений, движкам, ДиректИксам — обучат. По крайней мере я тебе говорю именно об этом.
Но я действительно спор этот прекращаю, а то у меня запасы дзена кончились и мне уже предупредительные выстрелы делают...
Здравствуйте, ENull, Вы писали:
EN>Тут круче. На неделе пришёл чел на должность C# программера и не смог сказать про 3 парадигмы ООП (инкапсуляция,наследование,полиморфизм). И при этом хотел 1500$.
Укатился под стол
Вообще-то слово парадигма применяется не так ООП — это парадигма программирования. А инкапсуляция,наследование и полиморфизм (иногда ещё добавляют identity — не знаю, как это по русски) — это базовые понятия объектно-ориентированной парадигмы.
Так что если бы меня спросили про три парадигмы ООП — я бы из такого места в ужасе бежал
ПАРАДИГМА (от греч. paradeigma пример, образец) — концептуальная схема, модель постановки проблем и их решения, методов исследования.
C>Пример из жизни: сколько строк будет выбрано запросом "select * from a, b", где в a 5 строк, а в b 6. Знаете какие ответы давали на этот вопрос люди написавшие не одну серьезную систему?... Вот и я удивляюсь как они их писали... .
Правильно. Потому что никто на практике не применяет декартово произведение — оно мало кому нужно
Н>Я чесслово удивляюсь. То есть базовые, имхо, знания того, что, грубо говоря, индексы — это B-деревья, что кластерные индексы определяют физическое размещение данных на страницах, что составные индексы надо строить определенным образом, и то, что индексы как таковые увеличивают время обновления, уменьшая при этом время поиска — это больше 600?
Конечно.
Я просто от практики говорю. Я знаю, что такое "человек за 600 баксов" в Москве, и знаю, что средний "человек за 600 баксов" не сумеет соптимизировать тормозливую датабазную апликацию путем построения композитного индекса.
K>Если бы не поковырялся случайно во внутренностях одной из БД, так K>бы этого и не знал. Ни в одном курсе данная информация не K>попадалась. Т.о. подобное знание может сформироваться либо K>случайно, либо при намеренном копании.
Входит в MCSEшные экзамены по MSSQLServer. Но, как вы сами понимаете, MCSE — это не 600 баксов.
MSS>>За 600 баксов ни о ком более и речи быть не может. P>москвич,100%
Ага. Я не хотел, чтобы мою заяву поняли как понты "столичностью", к коей я не склонен. Просто мне действительно показалось из заглавного поста "Наболело", что речь о Москве.
SR>Все-таки, мне кажется, что возможно. Не все практиканты профессионально непригодны. Есть и такие, которым не хватает практического опыта и платить им много экономически нецелесообразно. Если для человека это первое место работы, скорее всего в первые месяцы он и эти 600 баксов не будет отрабатывать. А вот когда он втянется, тогда можно и
Возможно. Это целый стиль бизнеса — набрать людей за 600 — юных и неопытных, но толковых и делать с ними серьезные дела.
Что тут важно:
— надо понимать, что опыт работы и качество мозгов — вещи разные.
— "таржетировать" надо — на качество мозгов, т.е. задачки не на знание нюансов MSSQL 2000 и чем он лучше "семерки", а типа олимпиадных.
— надо быть готовым к высокой текучести кадров. Такой "практикант" уже через год уйдет куда-нить на 1200.
— а значит — непрерывно HR и собеседования, циркуляция и ротация. Причем собеседования часто с лохами — на цифру в 600 их понабежит немеряно.
— с коммерческими тайнами тоже тяжеловато.
В наше время, как я понимаю, большинство руководителей не хотя такого, а предпочитают больше платить, но чтоб с гарантией. Отсюда рост зарплат.
Здравствуйте, Calc, Вы писали:
DH>> Вообще можно же импортировать *.dll а они уж хоть на VBA пусть будут написаны. C>Долго и на оптимизацию не тянет. *.obj файлы собираются в один *.exe и все без лишних линков.
и в шарпе?
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Здравствуйте, eaa, Вы писали:
DH>>почему должен? Сейчас вообще много программ делается с использованием "cout"? eaa>Ты наверное будешь смеяться, но таки да...
а в программе с помощью которой я пишу эти слова — нет. И кто прав?
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
DH>>Хотелось бы услышать список этих "фундаментальных знаний" SR>А все просто. Нужно уметь свободно обращаться наиболее распространенными алгоритмами и структурами данных
Повторяюсь. Какие алгоритмы и структуры данных наиболее распространены, и почему ты считаешь, что именно эти алгоритмы наиболее распространены??
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Здравствуйте, _Obelisk_, Вы писали:
_O_>Вообще, в жизни может сложиться так, что шпаргалки нет, а решать надо.
в жизни как раз шпаргалка есть всегда! Это исскуственная трудность (запрещение пользоватся литературой) сделана только на экзаменах/контрольных в школе/вузе/ПТУ. В жизни всё не так!!
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Здравствуйте, eaa, Вы писали:
eaa>Скажите а сколько человек у вас в компании и на сколько планируется расширить штат? а то как то не хватает для полноты картины...
в нашей компании на это смотрят так
(жёлтый текст)
То-есть, берёться новобранец и из него получается, если не дурак, лейтенант->капитан->майор итд, если перевести рост карьеры в военную терминологию
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Здравствуйте, DEMON HOOD, Вы писали:
DH>Здравствуйте, Calc, Вы писали:
DH>>> Вообще можно же импортировать *.dll а они уж хоть на VBA пусть будут написаны. C>>Долго и на оптимизацию не тянет. *.obj файлы собираются в один *.exe и все без лишних линков.
DH>и в шарпе?
Здравствуйте, DEMON HOOD, Вы писали:
DH>Здравствуйте, SeRya, Вы писали:
DH>>>Хотелось бы услышать список этих "фундаментальных знаний" SR>>А все просто. Нужно уметь свободно обращаться наиболее распространенными алгоритмами и структурами данных DH>Повторяюсь. Какие алгоритмы и структуры данных наиболее распространены, и почему ты считаешь, что именно эти алгоритмы наиболее распространены??
Таблицы, списки и деревья