Как отличить крутого прогера от обычного?

migel

Помогите, плиз, решить такую задачу: нужно тремя вопросами выделить среди группы начинающих программистов (опыт программирования 1-2 года) "звездных" челов (тех кто реально имеют хорошие навыки и "секущих тему") от обычные (которые пока еще недалеко ушли от уровня "прочитал книжку — что-то вроде понял").
Языки это C++ и perl.
Причем ответы должны быть даны заочно (то есть боянные задачки из инета не прокатят :( не требующими много времени для решения / написания решения и такими чтобы ответы смог оценить не шибко разбирающийся в программировании человек (то есть вопросы где ответом является 50 строк кода не подойдут).
Как мне кажется, среди них должен быть вопрос на алгоритмическую базу (придумать нетривиальный алгоритм один на "наличие мозга" — нетривиальная задачка, где надо что-то сообразить и один на проф. навыки — что-нибудь такое по плюсам/перлу, о чем обычно не написано в книжках аля "C++ начинающим" и что нельзя за разумное время нарыть в гугле — такой чтобы реально можно было бы проверить "класс" программиста.
(с третьим вопросом особенно надеюсь на помощь читателей девелопмента :) )
Где их такие взять - хз... Вот такая вот петрушка =(
Если у кого есть на примете хорошие вопросики/задачки — поделитесь плиз. =)
Наверняка ведь многим сейчас уже приходится собеседовать начинающих сотрудников и, как у хороших экзаменаторов, поднакопился некий арсенал типовых вопросов.

slonishka

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

slonishka

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

slonishka

вообще 1-2 года это нормально же.
спроси про их проекты, да и все.
нахер вообще проверять какую-то поебень типа алгоритмов и знания языков?
нормальные люди с тобой даже обсуждать такое не станут лол.

slonishka

10:30, а девелоперы спят. я сегодня в полседьмого на работу пришел зачем-то.
привет!

slonishka

а ты крутой менеджер? осилишь командой атских потсанов управлять?

slonishka

снесите на RSDN :grin:

slonishka

вот из меня говно-то полезло.

wwoland

Да ладно, мне понравилось! :grin:

durka82

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

tipnote

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

sinet

опыт программирования 1-2 года
Задачки для школьной олимпиады придумываешь? :grin:
Собственно что-нибудь оттуда можно и взять.

zya369

озвучь ЗП лучше, тогда и о вопросах можно будет говорить :grin:
ЗЫ а то вдруг там аж целая 1000$ - тогда вопрос должен быть чем-то типа "готовы ли вы программировать за еду?" :grin:

kokoc88

озвучь ЗП лучше, тогда и о вопросах можно будет говорить
Ага, а то бывают такие фирмы. Мало того, что сначала выясняют, читаешь ли ты стандарт перед сном и дрочишь ли на фотографию Страуструпа, так потом ещё и заявляют, что так и быть готовы взять тебя на.... в общем, даже на еду не хватает. :crazy:

katrin2201

Помогите, плиз, решить такую задачу: нужно тремя вопросами выделить среди группы начинающих программистов (опыт программирования 1-2 года) "звездных" челов
Не получится это тремя вопросами сделать. Тем более заочно, когда вообще ничего непонятно, то ли чел нагуглил задачку, то ли правда решил, то ли подсказал кто.

Werdna

Помогите, плиз, решить такую задачу: нужно тремя вопросами выделить среди группы начинающих программистов (опыт программирования 1-2 года) "звездных" челов (тех кто реально имеют хорошие навыки и "секущих тему") от обычные (которые пока еще недалеко ушли от уровня "прочитал книжку — что-то вроде понял").
Я очень всем рекомендую не идти к тебе работать.
Искать надо не "звездных" челов, а тех, кто решит задачу. Ты же ищешь просто "звездных", а ни одина "звизда" не пойдёт в "звиздец-проект".
Предположим, что ты собрал "звиздец-команду", окучил спонсора лучами поноса и выбил бюджет: твои звезды будут получать неебическую зарплату, но ровно до даты, которая в бизнес-плане будет обозначаться как "завершение проекта". И всё заканчивается печально: твои звезды оказались на рынке труда с проваленным проектом, а ты больше как лидер команды вообще останешься без работы.
Посмотри на провалы проектов NewMediaStars, top4top. Ну и кучу других. И 10 раз подумай, может стоит сначала что-то налабать самому, позвать пару человек в помощь, взлететь и дальше смотреть?

Marusetta

"кабы я была царица, третья молвила девица,
я б для батюшки царя родила богатыря"
по сабжу - если тебе набрать команду, совет - НЕ БЕРИ "звезд". Будут понты, жуткий гонор, чел будет мнить себя главой проекта а ты будешь ему кофе носить.
заочно конечно сложно, но хорошо бы побеседовать на отвлеченные темы, заодно увидишь насколько у человека живое воображение и адекватное восприятие, заодно узнаешь насколько хорошо у вас взаимопонимание. Гики, способные по 48 часов подряд кодить нужны, конечно, но от них мало толку, если ты не можешь объяснить, что тебе надо.
И вообще - для чего тебе это (это вопрос, а не призыв отказаться - просто интересно). потому что если ты хочешь его старшим прогером поставить - далеко не факт, что это будет лучший выбор, зачастую такие хороши скорее как конечные кодировщики, как ни странно. И еще - "обычные" именно в силу отсутствия опыта рождают более оригинальные идеи и реализации (хотя это и довольно шаткий аргумент, согласен)

NAIL

надо брать 1 крутого чела тимлидом и остальных просто разумных и нормальных.
ибо 2 крутых это вероятно сплошной холивар, а если 0 крутых, то вероятно получится говнецо.

tipnote

Надо просто подбирать нормальных в психоплане. Как в гугле "крутые" уживаются интересно? Устраивают подпольные бои?
Другое дело, что нафиг столько "крутых" может не потребоваться.

kruzer25

надо брать 1 крутого чела тимлидом
Этот крутой чел может оказаться совершенно никаким тимлидом.

NAIL

Тупишь. Можно вообще из цитат по букве повырезать так, чтобы полный бред получился.
Я же написал, что "надо брать 1 крутого чела тимлидом", а не просто "надо брать 1 крутого чела".
наверное, очевидно, что плохого человека как тимлида брать тимлидом не нужно.
А если крутой прогер никакой тимлид, то его тоже брать не нужно, во избежание появления религиозного дурмана.

Marusetta

Да, могу привести пример
Почитаемый мной небезызвестный Андрей 'KranK' Кузьмин, когда начинал свой, извините за термин, бизнес, собрал команду из бывших своих однокурсников. В нее вошли не самые лучшие из имевшихся на тот момент программистов (хотя и не отбросы, опять же несмотря на то, что (об этом он скажет позднее) возможность привлечь таких к проекту была. Нет, он набрал команду из своих приятелей, рассудив, что атмосфера взаимной дружбы, доверия и понимания с полуслова весьма существенны. Кранк, правда, был большим энтузиастом, да и в программировании принимал непосредственное участие, но насколько я знаю, у них не случалось неприятностей типа "нет денег - нет кода", хотя и бюджетные провалы случались, и издатель гнал - все сидели, и молча работали, не жаловались.
(если интересно, могу привести пару конкретных эпизодов)
Успех Кранка и его группы наверное не буду комментировать. Скажу только что уже со второго проекта он смог стать продюсером следующего, и сейчас активно продолжает заниматься продюсерской и спонсорской деятельностью, хотя и в другой компании.
Так что думай.

kruzer25

Я же написал, что "надо брать 1 крутого чела тимлидом", а не просто "надо брать 1 крутого чела".
Это очепятка, у меня случайно на одно слово меньше выделилось.
А если крутой прогер никакой тимлид, то его тоже брать не нужно
Вот и надо было про это сказать. А заодно и о способах узнать, будет ли он хорошим тимлидом.

Anna74

и perl.
чтобы ответы смог оценить не шибко разбирающийся в программировании человек (то есть вопросы где ответом является 50 строк кода не подойдут).
Идеология Perl: TMTOWTDI существует более одного способа сделать это, так что проверки не шибко разбирающихся боюсь не прокатят.

sbs-66

Да всё просто делается. Первую задачу даёшь с олимпиады по матемтаике (или олимпиады ABBYY, что одно и то же вторую - с собеседование в майкрософт, третью - из анкеты для приёма на работу в яндекс (http://company.yandex.ru/inside/job/index.xml/jid=cold, далее выбираешь наиболее подходящую вакансию и берёшь вопросы из неё, только надо самому знать ответы, но я надеюсь, ты справишься).

kruzer25

свои знания
Вопрос 1 Что будет напечатано в результате выполнения следующего кода?
public class MyException extends Exception { }
public class Person {
public void go throws Exception { throw new Exception; }
}
public class Me extends Person {
public void go throws Exception{ throw new MyException; }
}
public static void main(String[] args)
{
try {Person person = new Me; person.go;}
catch (Exception e) {System.out.println("Exception");}
catch (MyException e) {System.out.println("MyException");}
}

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

sbs-66

Ну, мне вот так сходу не очевиден ответ. Тут есть 2 тонкости, которые без знания языка не разрулить:
1) Дозволено ли методу, про который говориться, что он может генерировать только исключения Exception, генерировать исключения, которые являются наследниками Exception.
2) Будет ли при обработки исключения в try catch подбираться наиболее подходящий catch, или отработает первый подходящий.
PS. Плюс надо ещё понять, как там с виртуальностью методов и какой из методов будет таки вызван.
PPS. А что вообще за язык?

kruzer25

Дозволено ли методу, про который говориться, что он может генерировать только исключения Exception, генерировать исключения, которые являются наследниками Exception.
Джава - не настолько ебанутый язык, а MyException является объектом класса Exception. Тут всё очевидно.
Будет ли при обработки исключения в try catch подбираться наиболее подходящий catch, или отработает первый подходящий
Хм, об этом я и не подумал. Для меня очевидным было, что первый подходящий - думаешь, там есть какие-то такие приседания?
Плюс надо ещё понять, как там с виртуальностью методов и какой из методов будет таки вызван
Ну с этим-то всё понятно - если в случае со статическими методами ещё можно о чём-то думать, то здесь может быть единственная неприятность - если нельзя перегружать метод, который определён в базовом классе так, как он определён в этом примере. Тогда об ошибке сообщит компилятор.
Но для того, чтобы это понять, достаточно минимальных познаний в языке; эта неприятность отсеет только тех, кто раньше именно с этим языком дела не имел (и какого хрена они тогда вообще присылают свои резюме на вакансию разработчика на этом языке?)
А что вообще за язык?
Джава.

kruzer25

Хотя да, на то, что там сначала ловят Exception, а только потом - MyException, я внимания не обратил, в реальных задачах всё-таки пишут наоборот.
Так что эта задача - ещё и на внимательность. Я бы ответил MyException - по привычке.

sbs-66

Это всё показывает, что мы с тобой на Java не писали. Так что нас данный вопрос отсеит очень просто. Ну, то есть мы будем вынуждены лезть в справочники, а в яндексе тоже не дураки, и время на ответы наверняка учитывают. Плюс там есть философские вопросы, на которые без знания в предметоной области грамотно не ответишь, если день на её изучение не потратишь. В общем, мне их тесты очень нравятся. Правда, отсекают они совсем уж ламеров, а для отбора звёзд наш подход (ABBYY) или майкрософтовский подходит лучше, но я ж в яндекс не устраивался, может они потом и поинтереснее вопросы задают.

kruzer25

Правда, отсекают они совсем уж ламеров
Я бы даже сказал, отсекают тех, кто ни разу не имел дела с тем, с чем собирается работать.

Ober

public class MyException extends Exception { }
public class Person {
public void go throws Exception { throw new Exception; }
}
public class Me extends Person {
public void go throws Exception{ throw new MyException; }
}
public static void main(String[] args)
{
try {Person person = new Me; person.go;}
catch (Exception e) {System.out.println("Exception");}
catch (MyException e) {System.out.println("MyException");}
}
А оно скомпилируется так? Разве не надо переставить местами catch'и? :o

kruzer25

Разве не надо переставить местами catch'и?
Зачем их переставлять?
Да, порядок необычный... но компилятору-то что до этого?
Или ты про "этот кусок кода никогда не будет достигнут"?

Ober

Или ты про "этот кусок кода никогда не будет достигнут"?
Нет, я про "exception MyException has already been caught". :o

psix75

дать (криво/ c ошибками/ с не очень эффективным алгоритмом) написанную прогу и попросить переписать "правильно". и сравнивать итоговые варианты не с неким эталонным вариантом в голове проверяющего, а просто между собой

2354570

Имхо, есть смысл заботать статьи Джоэля Спольски ( http://www.joelonsoftware.com ) можно даже в виде книги (она тоненькая) - он много пишет о правильном подборе и управлении программерами.
Я согласен с комментариями в духе "тебе не нужны "звёзды", нужны просто толковые люди" - Джоэль правильно пишет, что от кандидата требуется только два качества: be smart and get things done. Всё остальное - типа крутого знания технологии или научной степени - весьма и весьма вторично.

Hastya

Искать надо не "звездных" челов, а тех, кто решит задачу. Ты же ищешь просто "звездных", а ни одина "звизда" не пойдёт в "звиздец-проект".
Звезды с опытом программирования 1-2 года? Мда.

klyv

Кажется, никто ещё не спрашивал...
Ты часом не Яндексу креативишь?

katrin2201

Вы все будете смеяться - ошибка времени компиляции.
> javac -sourcepath . Main.java
Main.java:6: exception MyException has already been caught
     catch (MyException e) {System.out.println("MyException");}
     ^
1 error
Самый заподлянский вопрос из того, что можно придумать.
И один из самых неудачных из того, что можно задать на собеседовании :cool:
С другой стороны, если вы сможете послушать, как человек будет _рассуждать_ при ответе на данный вопрос - то вот это уже может многое рассказать вам о собеседуемом. К сожалению, все такие провокационные вопросы я видел исключительно в письменных тестах, где предлагалось выбрать вариант онли. Такая форма - абсолютно бесполезна.
Все написанное выше чисто имхо, вопросами собеседования интересуюсь мало, имеется богатый опыт исключительно в роли собеседуемого.

kruzer25

можно даже в виде книги (она тоненькая)
В ней меньше половины его статей ;)

kruzer25

Вы все будете смеяться - ошибка времени компиляции.
Блять.
И один из самых неудачных из того, что можно задать на собеседовании
Ага, согласен. Нормальные люди так не пишут, зачем же нормальному человеку знать, как поведёт себя компилятор в случае говнокода?
Или у них идёт обратный отсев - кто ответил на этот вопрос, тот писал говнокод, и, значит, не нужен?
К сожалению, все такие провокационные вопросы я видел исключительно в письменных тестах, где предлагалось выбрать вариант онли
В яндексе ещё и рассуждения надо написать :)

Werdna

Звезды с опытом программирования 1-2 года? Мда.
Да, самые пиздатые прогеры, которые быстро в тему въехали, но ещё не устали от жизни.
Таких хуй найдешь. Штучные экземпляры гениев.

apl13

Я придумал очень простой тест. Нужно пригласить двоих человек, посадить их в две разные комнаты, в каждой из которых есть компьютер, и оставить так на полтора часа. И который напишет за это время крутую программу - тот крутой программист.

katrin2201

И который напишет за это время крутую программу - тот крутой программист.
Желательно взламывающую пентагон =)

Phoenix

Я придумал очень простой тест. Нужно пригласить двоих человек, посадить их в две разные комнаты, в каждой из которых есть компьютер, и оставить так на полтора часа. И который напишет за это время крутую программу - тот крутой программист.

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

slonishka

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

Phoenix

через полтора часа заходит манагер, ты, ковыряя в носу. Я тут вам клёвую прогу написал. Называется Windows2. От настоящего не отличишь..
только она настолько крутая, что места не хватило, поэтому исходники я потёр, чтобы образец запустить.

timefim

Делаешь из этого http://habrahabr.ru/blog/sport_programming/39790.html
опросник и определяешь насколько человек близко подошел к званию крутого прогера.

hwh2010

Мне понравился один вопрос, который мне однажды дали на собеседовании.
Он звучал так: напишите на JavaScript (совершенно не важно, что это был JavaScript, можете любой другой язык предложить) функцию, которая принимает 1 аргумент. Если ей дать 1, пусть возвратит 2, а если ей дать 2 — пусть возвращает 1.

pinstripe

Наверное, подразумевался ответ 3 - x. Только не понятно, почему не подходит if(x==1) return 2; else return 1;

timefim

В моем варианте были 4 и 5 и нельзя было пользоваться операторами ветвления, первое что пришло в голову это поменять последний бит.

hwh2010

В моем варианте были 4 и 5 и нельзя было пользоваться операторами ветвления, первое что пришло в голову это поменять последний бит.
нет, дело не в хаках. Можно всем пользоваться, в то числе if'ом.

timefim

Тогда я выбираю вариант с if'ом.

vall

а вот и зря, вариант x^3 будет быстрее на всех платформах.

aleks058

Вот истинный trueъ код:
switch (input)
{
case 1: return 2;
case 2: return 1;
}

throw new ArgumentOutOfRangeExceptions;

vall

неа, тру это вот так:
BUG_ON(x!=1 && x!=2);
return x^3;

timefim

вариант x^3 будет быстрее на всех платформах.
Это "корень всех бед" на всех платформах.

sbs-66

Я слабо представляю себе ситуацию, когда будет нужна подобная оптимизация для такой функции. А код со switch или с if else if else будет и понятнее, и безопаснее.

katrin2201

Я слабо представляю себе ситуацию, когда будет нужна подобная оптимизация для такой функции.
Чмы. Например интегралы трапециями считать. Там коэффициенты "моргают" 2 4 2 4 кажется.
Конечно не сказать, что критично, но немаловажно. Я с этим способом оптимизации именно на этом примере познакомился =)

vall

ты похоже слабо представляешь насколько вычисление быстрее условного перехода (итаниум не в счёт)
какой-нить p4 может продолбать тут половину своего конвейера.

aleks058

А если новое требование "для 3 вернуть -1, для 7 вернуть 14", как будешь удовлетворять закащщига?

vall

как будешь удовлетворять закащщига?
спрашу на форуме =)

aleks058

На форуме потсаны

sbs-66

Давай, когда ты в следующий раз столкнёшься с ситуацией, в которой время ожидания отклика пользователем из-за подобной оптимизации удастся сократить так, что он это заметит, ты об этом тут напишешь.
Подобная оптимизация может быть полезна при обработке мультимедиа информации, когда одна и та же операция выполняется миллионы раз. Но там приходится писать на асме и такие убогие приёмы уже не решают. А в обычно коде такая оптимизация просто не нужна.

vall

ещё один верующий в чудодейственную силу ассемблера.

sbs-66

Я не верующий, а своими глазами видел, как в 10 раз ускорили код, работающий с изображениями, за счёт переписывания двух кусков кода на ассемблере. Как раз таки в тех местах, где оптимизация по скорости нужна (обработка аудио/видео и картинок чипмейкеры в лице Intel и AMD предлагают нам чудные быстрые наборы команд, работающие с векторами.

vall

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

sbs-66

Блаженны нищие духом.
Есть конкретная задача. Компилятор от интела и MS не может векторизовать вычисления (да и откуда ему знать, что они векторизуются, если они не совсем тривиальные? а программист может.

sbs-66

ещё один верующий во всемогущество компиляторов.

vall

да и откуда ему знать, что они векторизуются, если они не совсем тривиальные?
а ты ему подскажи!

katrin2201

там приходится писать на асме и такие убогие приёмы уже не решают. А в обычно коде такая оптимизация просто не нужна.
Далеко не весь "необычный" код переписывается на асм.
Написать грамотный код на асме - это не в тапки срать.
А сделать замены таких ифов на присваивание, и получить прирост скажем 50% в отдельных циклах - вполне реально.
Да, вероятнее всего, это кардинально не изменит дела, но иногда именно из кучи таких мелочей в сумме и складывается быстрая производительность.

hwh2010

Вот истинный trueъ код
Ну да, после того, как я спросил, что должна делать функция, если ей ввели не 1 и не 2, мне сказали, что писать не надо :)

sbs-66

А сделать замены таких ифов на присваивание, и получить прирост скажем 50% в отдельных циклах - вполне реально.Да, вероятно всего, только это кардинально не решит дела, но иногда именно из кучи таких мелочей в сумме и складывается быстрая производительность.
Чтобы получить прирост в 50%, надо чтобы этот цикл больше ничего не делал. :)

katrin2201

Чтобы получить прирост в 50%, надо чтобы этот цикл больше ничего не делал. :)
Еще пару простых операций за итерацию, почему нет.
Предлагаемая операция - бесплатный ненулевой прирост производительности. Где-то заметный, где-то не очень. В тех самых интегралах трапециями при большой точности на старых процах прирост вполне ощутим.
Написать же что-то на асме и еще векторно - совсем другие трудозатраты и другой уровень.
А ты что хотел, чтоб этот простой прием программирования сразу тебе все алгоритмы к логарифмическим по сложности приводил что ли?

Marinavo_0507

Например интегралы трапециями считать. Там коэффициенты "моргают" 2 4 2 4 кажется.
А тупо развернуть цикл разве не лучше будет?

Anna74

Мне тоже так кажется, тем более умножение тогда вообще выносится из цикла. Ещё эти суммы могут потребоваться при проверке точности по отдельности или рекурсивно ветвимся для шага h/2 чтобы заново часть суммы не пересчитывать. И это не трапеции, а Симпсона. Аналогичное упоминавшимся выше возражение: что делать, если решили взять формулы Ньютона-Котеса для n=4, а не n=2 (Симпсона) - там коэффициенты тоже моргают 14 32 12 32.
ИМХО программа должна быть прозрачной и очевидной, насколько возможно, если цель не обфускация кода.

apl13

при обработке мультимедиа информации, когда одна и та же операция выполняется миллионы раз. Но там приходится писать на асме
Я не верующий, а своими глазами видел, как в 10 раз ускорили код, работающий с изображениями, за счёт переписывания двух кусков кода на ассемблере.
1) Все люди смертны; 2) Сократ смертен; => Сократ - человек.
Ты зря недооцениваешь компиляторы...

katrin2201

А тупо развернуть цикл разве не лучше будет?
Да, лучше, но это уже опять же и не тупая замена.

katrin2201

И это не трапеции, а Симпсона.
чорт =)

pilot

выделить среди группы начинающих программистов (опыт программирования 1-2 года) "звездных" челов
Работал я с одним "звездным челом" месяца 3 по фрилансу. Программист на Питоне из Украины — сейчас конференции организовывает (Exception) и доклады докладывает, статьи пишет.
Но работать с ним было невозможно: 10 строк в письме на одну строчку в коде. Выгнали в итоге. Очень крутой, питон хорошо знает, тест пройдет, но совершенно бесполезен.

Helga87

это не звездный, это звезданутый. =)

mkrec

не лучше. Если у тебя 1e8-1e10 шагов, то не лучше. Это во-первых. Во-вторых, трапециями считается с коэффициентами 1 [а, это уже написали, оказывается]. С коэффициентами 1-2-1-2 считается парабола (собственно, ею все и пользуются). Лично мне кажется (и я именно так и делаю что удобнее прогнать цикл по четным точкам, умножить на два, затем прогнать цикл по нечетным точкам. Конечно, это зависит от того, как считается интегрируемая функция (может, это просто массив, тогда, вроде, полезнее трогать его последовательно но мне кажется, в большинстве реальных ситуаций мой вариант работает быстрее.

Andbar

Иван Пирог что ли?

Kalya777

Как отличить крутого прогера от обычного?

по походке

psihodog

> Как отличить крутого прогера от обычного?
У крутого есть аккаунт на forum.local.

kruzer25

:D

zya369

У крутого есть аккаунт на forum.local.

ты, должно быть, имел ввиду "У крутого есть аккаунт на forum.local и его ник не начинается на penartur." ?

Anna74

:) классика...
Законы Паркинсона
Сирил Н. ПАРКИНСОН
Окончательный список, или принципы отбора кадров
Нынешней администрации, и деловой, и правительственной, постоянно приходится отбирать людей. Неумолимый закон Паркинсона гарантирует непрестанную нужду в кадрах, но выбрать того, кого надо, не так легко. Расскажем о методах отбора, применявшихся в былое время, и о методах нынешних.
Раньше (а отчасти и теперь) применялись метод британский и метод китайский. Оба они заслуживают внимания хотя бы потому, что принесли гораздо больше пользы, чем вреда. Британский метод (старого типа) основан на личной беседе, в которой соискатель должен объяснить, кто он такой. Немолодые джентльмены, сидящие вокруг краснодеревого стола, спрашивают его имя и фамилию. Предположим, он отвечает: «Джон Сеймур». Один из членов комиссии интересуется: «А вы не родственник ли герцогу Сомерсетскому?» На это соискатель, скорее всего, ответит: «Нет». Другой джентльмен скажет: «Тогда, быть может, епископу Вестминстерскому?» Если и здесь ответом будет «нет», третий джентльмен возопит: «Так чей же вы родственник?» В том случае, когда соискатель отвечает: «Ну, отец мой торгует рыбой в Чипсайде...» – беседу можно считать исчерпанной. Комиссия переглядывается, один из членов звонит, а другой говорит лакею: «Вывести». Одно имя вычеркивается без обсуждений. Если следующим предстанет Генри Молине, племянник графа Сефтонского, шансы его будут велики вплоть до появления Джорджа Говарда, который сумеет доказать, что он – внук герцога Норфолкского. Комиссия не встретит трудностей, пока ей не придется выбирать между третьим сыном баронета и вторым, хотя и побочным, сыном виконта. Но и тут можно справиться в специальной книге, так что выбор прост, а нередко и удачен.
Адмиралтейская разновидность метода (напомним: старого типа) отличается лишь тем, что выбор ограниченней. На адмиралов не действуют титулы как таковые. Им важно, связан ли соискатель с моряками. Идеальный ответ на второй вопрос: «Да, адмирал Паркер – мой дядя, капитан Фоли – отец, коммодор Фоли – дед. Мать моя – дочь адмирала Харди. Капитан Харди приходится мне дядей. Мой старший брат – лейтенант королевского флота, другой мой брат учится в морском училище, а третий ходит в матроске». – «Так, так, – говорит главный адмирал. – А почему вам вздумалось идти во флот?» Ответ на этот вопрос практически безразличен, поскольку секретарь уже отметил имя в списке. Если приходится выбирать из двух таких соискателей, какой-нибудь адмирал попросит назвать номера такси, на которых они приехали. Тот, кто честно ответит: «Не знаю», будет отвергнут, а тот, кто быстро соврет «23...51», будет принят, как юноша с хваткой. Метод нередко давал блестящие результаты.
Британский метод нового типа выработался в девятнадцатом веке, как более уместный для демократической страны. Комиссия живо интересуется: «Где учились?» И, слыша в ответ: «Хэрроу», «Хейлибери» или «Регби», задает второй вопрос: «Во что играете?» Хороший соискатель ответит на это: «Я играю в теннис за Англию, в крикет за Йоркшир, в регби за клуб «Арлекин» и в гандбол за «Винчестер». Тогда задают третий вопрос: «А в поло не играли?» – чтобы он не возомнил о себе, хотя и без поло такой соискатель заслуживает внимания. Если же на первый вопрос ответом будет «Уиглворт», беседа не затянется. «Что?!» – удивится председатель. «А где это?» – вскричат остальные, когда вопрошаемый повторит название. «В Ланкашире», – объяснит он, и кто-нибудь для порядка все же спросит насчет игр, но ответ «Настольный теннис за Уигэн, велосипедные гонки за Блекпул и биллиард за Уиглворт» окончательно преградит ему путь. Возможны нечленораздельные замечания о наглецах, расходующих чужое время. И этот метод давал неплохие результаты.
Китайскому методу (старого типа) подражало в свое время столько наций, что немногие помнят теперь о его происхождении. Метод сводится к письменным испытаниям. Во времена династии Мин экзамен для самых способных устраивали каждые три года и включал он три трехдневные сессии. В первую сессию соискатель писал три сочинения и поэму в восьми четверостишиях. Во вторую он писал пять сочинений на издавна установленные темы. В третью он писал пять сочинений об искусстве управления. Тех, кто все сдал успешно (процента два допускали к последнему экзамену, который проходил в столице. Длился он один день и включал одно сочинение на тему из текущей политики. Выдержавшие этот экзамен могли стать чиновниками, и чем выше была отметка, тем выше было и место. И эта система работала вполне успешно.
Европейцы изучили ее где-то между 1815 и 1830 годом и применили в 1832 году в Ост-Индской компании. В 1854 г. эффективность метода проверила комиссия с Маколеем во главе и ввела его в Англии на следующий же год. В китайских испытаниях была особенно важна их литературная основа. Соискатель доказывал знание классиков, легкость слога (и в стихах, и в прозе) и редкую выносливость. Предполагалось, что классическое образование и литературные способности свидетельствуют о годности к любой чиновничьей службе. Предполагалось далее (без сомнения, правильно что знания научные не нужны нигде, кроме науки. Предполагалось, наконец, что выбор практически невозможен, если соискатель экзаменуется по разным предметам. Никто не в силах решить, сильнее ли один соискатель в геологии, чем другой в физике, и потому удобно, когда есть возможность сразу их провалить. А вот когда все пишут греческие или латинские стихи, достойнейшего выбрать нетрудно. Знатоков классической словесности отправляли править Индией. Тех, кто послабее, оставляли править Англией. Самых слабых отсеивали вообще или посылали в колонии. Систему эту нельзя назвать негодной, но она гораздо хуже тех, о которых мы уже рассказали. Во-первых, нельзя гарантировать, что лучший знаток классиков не окажется ненормальным, – нередко так и случалось. Во-вторых, могло оказаться, что способности соискателя ограничивались писанием греческих стихов. Бывало и так, что экзамен сдавал кто-нибудь другой, а сам соискатель в случае надобности не мог написать стишка по-гречески. Таким образом, система больших плодов не принесла.
Однако при всех своих недостатках она была плодотворней любой из сменивших ее систем. Современные методы сводятся к проверке умственного уровня и психологической беседе. Недостаток вышеозначенной проверки в том, что победители не знают совершенно ничего. Они тратят столько времени на подготовку к тесту, что ничего больше не успевают выучить. Психологическая беседа приняла в наши дни форму так называемого «испытания в гостях». Соискатель проводит приятный уик-энд, а за ним наблюдают. Когда он, споткнувшись о коврик, вскрикнет: «А, черт!», наблюдатели, притаившиеся поблизости, заносят в записные книжки «неуклюж» или «несдержан». Вряд ли стоит описывать подробно этот метод, но результаты его очевидны и весьма плачевны. Наблюдателям могут угодить лишь скрытные мелочные субъекты себе на уме, которые мало говорят и ничего не делают. При таком методе нер
Оставить комментарий
Имя или ник:
Комментарий: