Re[13]: Понятно!
От: carpenter Голландия  
Дата: 29.11.07 08:23
Оценка: :)
Здравствуйте, IROV.., Вы писали:


IRO>Поведение человека в экстримальных ситуациях очень важна для меня.


Электрошок , в случае неправильного ответа , не пробовали ? Стимулирует

IRO>Один раз попросил расказать, как бы он сделал систему магий и аур в такой игре как вар3. не ответил


Чорт , а я только знаю чем мка с глушаком лучше калаша в КС
Весь мир — Кремль, а люди в нем — агенты
Re[14]: Понятно!
От: IROV..  
Дата: 29.11.07 12:14
Оценка:
Здравствуйте, carpenter, Вы писали:

C>Здравствуйте, IROV.., Вы писали:



IRO>>Поведение человека в экстримальных ситуациях очень важна для меня.

C>Электрошок , в случае неправильного ответа , не пробовали ? Стимулирует
Закон не разрешает, а так хороший совет, придете проверим, только предворительно напишете что вы не против, ок?

IRO>>Один раз попросил расказать, как бы он сделал систему магий и аур в такой игре как вар3. не ответил

C>Чорт , а я только знаю чем мка с глушаком лучше калаша в КС
А ты игры делаеш?
я не волшебник, я только учусь!
Re[9]: Собралось, значит работает? :)
От: Formidable  
Дата: 29.11.07 12:40
Оценка:
E>Ну мало ли что компилируется?.. Или вы программы не отлаживаете? Собралось, значит работает?
. А в принципе это мысль... надо подумать как назвать такой стиль программирования... что нибуть типа "методология фаталистического программирования" (как собралось — так и пусть работает).

E>Вообще-то трудно себе представить зачем такая строчка нужна и зачем её так загадочно получать... ИМХО хотели получить название значения enum'а...

Ну это ваше IMHO, а IMO автора строчек нам не известно.

F>>Или же с приведенным здесь "цыклом" — это штука такая для отладки... чтобы пока повторения убрать. Строчкой ниже то пришлось бы две палочки поставить, а тут — одну (охранительная экономия ресурса клавиатуры).


E>Ага. Вот именно триграфами и надо. Как же. Просто строчку с циклом закомментарить (это точный эквивалент, разберитесь в обсуждаемом примере) никак?

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

F>>А то что коллег это вгонит на пол часа в ступор — это хорошо, это его как супер-пупер-мега-Си-гуру уважать, можно же и так считать . Тем более если про такие фишки спрашивали на собеседовании — значит тут это в почете .


E>Я резкий противник переусложнения программ. И описанна тобой проблема действительно существует. Но, ИМХО, это не обозначает, что невежественный недоучка лучше грамотного специалиста. Просто специалист не только должен знать средства и приёмы разработки, но ещё и уметь их применять только тогда, когда надо.

Абсолютно верно, я даже специалист применяющий такие вещи, там где без них можно обойтись не является грамотным. Просто, если человек сходу отвечает на такие вот ребусы, стоит проверить, а сидит ли перед тобой вот как раз данная проблема. Ведь же такие штуки в нормальной практике не встречаются (если конечно это не практика разработки компиляторов).
Re[10]: Собралось, значит работает? :)
От: Erop Россия  
Дата: 29.11.07 15:23
Оценка:
Здравствуйте, Formidable, Вы писали:

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


Ну про триграфы можно случайно помнить. Или в книжке какой перед собеседованием прочитать. В том же Сартре
А про # в макросах -- это довольно часто используемый синтаксис. Если, например, ты хоть раз интересовался как написан макрос assert, то должен бы по идее знать о такой конструкции
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: Вопрос на соббеседовании
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 29.11.07 16:04
Оценка: +2
Здравствуйте, IROV.., Вы писали:

IRO>// доскольки считает этот цыкл????????????/


Цикл досчитает до 10, т.е. компиляторы пошли умные и берегут нервы нормальных разработчиков от разгребания хреней нагенерированных не совсем нормальными разработчиками.
C:\my\project\C++>g++ test.cpp
test.cpp:7:41: warning: trigraph ??/ ignored, use -trigraphs to enable

C:\my\project\C++>a.exe
10


А вот если на собеседовании задают подобный вопрос, это уже звоночек, ибо ну его нафиг с таким психами еще и работать.
Re: А я спрашиваю вот это
От: s_viy  
Дата: 30.11.07 08:18
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>Не мне, просто подкинул знакомый. Мне показался интересным.


А>
А>#define  CODE2STR(code) #code

А>enum EValues {
А>  eValue1 = 0,
А>  eValue2,
А>};

А>int n = 2;
А>const char* pVal = CODE2STR( ((EValues)n) );
А>


А>какой результат выполнения?



Я не очень много людей собеседовал, но это просто какой-то ужаснах сколько лопухов
лезут в C++. Из десяти человек "с опытом" взяли последнего, который когда-то программил
на VС++ в аспирантуре, до прихода к нам несколько лет работал исключительно в 1С, никогда
не слышал что такое STL тем более boost, но он ответил на вопрос, что будет в результате
выполнения этого кода:
#include <iostream>

template<int i>
struct f { enum { result = i*f<i-1>::result }; };

template<>
struct f<0> { enum { result = 1 }; };

int main()
{
  std::cout<< f<4>::result <<std::endl;
}

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

ЗЫ Перед этим кандидату в возрасте 35 лет с более чем 10 летним опытом, который не смог ответить,
я сказал ответ и спросил почему. Он подумал немного и предложил в дебагере посмотреть
Re[2]: А я спрашиваю вот это
От: Sash_xp  
Дата: 30.11.07 08:30
Оценка: :)
Здравствуйте, s_viy, Вы писали:

_>но он ответил на вопрос, что будет в результате

_>выполнения этого кода:

факториал?
... << RSDN@Home 1.2.0 alpha rev. 784>>
Re[2]: А я спрашиваю вот это
От: Erop Россия  
Дата: 30.11.07 10:02
Оценка:
Здравствуйте, s_viy, Вы писали:

_>Прошло две недели, он уже вовсю работает под linux, я ему передаю очень сложный проект,

_>где используется и stl, буст и конструкции где Александреску отдыхает ))))

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

Хотя у вас наверное интересно работать Только вам кадры самим готовить видимо приходится
Но это всем нормальным конторам приходится, только в разной степени


_>ЗЫ Перед этим кандидату в возрасте 35 лет с более чем 10 летним опытом, который не смог ответить,

_>я сказал ответ и спросил почему. Он подумал немного и предложил в дебагере посмотреть

Ну вот он как раз С++ возможно и знает. Просто вам не это надо
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: А я спрашиваю вот это
От: Gluk_Kazan  
Дата: 30.11.07 10:05
Оценка:
Здравствуйте, s_viy, Вы писали:

_>выполнения этого кода:

_>
_>#include <iostream>

_>template<int i>
_>struct f { enum { result = i*f<i-1>::result }; };

_>template<>
_>struct f<0> { enum { result = 1 }; };

_>int main()
_>{
_>  std::cout<< f<4>::result <<std::endl;
_>}
_>



Тоже не показатель. Жизненное надо спрашивать, а не факториалы в компайлтайе считать (IMHO разумеется).
Таки у вас в работе настолько применяется метапрограммирование, шо Александреску отдыхает ???

не верю (с)
Re: Вопрос на соббеседовании
От: Maxim S. Shatskih Россия  
Дата: 30.11.07 10:06
Оценка:
А>const char* pVal = CODE2STR( ((EValues)n) );
А>[/ccode]
А>какой результат выполнения?

Такой же, как у:

const char* pVal = " ((EValues)n) ";
Занимайтесь LoveCraftом, а не WarCraftом!
Re[11]: Собралось, значит работает? :)
От: Formidable  
Дата: 30.11.07 11:01
Оценка:
E>Ну про триграфы можно случайно помнить. Или в книжке какой перед собеседованием прочитать. В том же Сартре
E>А про # в макросах -- это довольно часто используемый синтаксис. Если, например, ты хоть раз интересовался как написан макрос assert, то должен бы по идее знать о такой конструкции
Вот поэтому я и не сказал, что сразу такого человека гнать надо.
Re[3]: А я спрашиваю вот это
От: s_viy  
Дата: 03.12.07 10:46
Оценка: :))
Здравствуйте, Erop, Вы писали:

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


_>>Прошло две недели, он уже вовсю работает под linux, я ему передаю очень сложный проект,

_>>где используется и stl, буст и конструкции где Александреску отдыхает ))))

E>Да в общем-то в том и поинт, что проверять на знание всякой хрени практически бесполезно.

E>Но я прикололся что вы спрашиваете.
E>Сначала я думал "на хрена бы это надо", но потом коммент про ваш код прочитал и понял.
E>ИМХО если в проекте решаются на такие красивости, то это реальный пападос с кадрами. Программистов, которые регулярно прогают такую в точности вещь вы на рынке ни за что не нароете. И даже таких, кто хотя бы похожий опыт имеет тоже с трудом найдёте.

Программер на C++ должен быть ас в любом случае, если это не так, то пусть уходит в C# и Java — там с меньшими усилиями будет решать задачи более эффективно.

E>Хотя у вас наверное интересно работать Только вам кадры самим готовить видимо приходится

E>Но это всем нормальным конторам приходится, только в разной степени


_>>ЗЫ Перед этим кандидату в возрасте 35 лет с более чем 10 летним опытом, который не смог ответить,

_>>я сказал ответ и спросил почему. Он подумал немного и предложил в дебагере посмотреть

E>Ну вот он как раз С++ возможно и знает. Просто вам не это надо

Он знает Builder, а не C++. Не знает даже что такое конструктор копирования. На задачку, где его небходимо пременить начал такой огород городить... К стати, про конструктор копирования, так и не удалось никому следующую задачку подкинуть:
class A{
public:
  A(){}
  A(const A&){ std::cout<<"copy constructor"<<std::endl;}
  template<typename T>
  A(const T&){ std::cout<<"template constructor"<<std::endl;}
};
class B: public A{
public:
  B(){}
  B(const B& b):A(b){ }
}


Вопрос не "где ошибка?" и даже не "где ошиба в конструкторе копирования B?", а почему надо так: "B(const B& b):A(static_cast<const A&>(b)){}"
Re[4]: А я спрашиваю вот это
От: Gluk_Kazan  
Дата: 03.12.07 13:30
Оценка: +1
Здравствуйте, s_viy, Вы писали:

_>Вопрос не "где ошибка?" и даже не "где ошиба в конструкторе копирования B?", а почему надо так: "B(const B& b):A(static_cast<const A&>(b)){}"


Доктор, вы извращенец
Героически боремся с самостоятельно созданными трудностями ???

P.S. Профессиональный программист должен решать поставленные ему задачи, а не пальцы растопыривать
с учетом этого и строится собеседование. Задача не понабрать гуру, а построить слаженную работающую команду.
С учетом этого, заранее известно, чего именно хочется от кандидата. Вопросы составляются для того чтобы убедиться,
удовлетворяет кандидат требуемым критериям или нет.
P.P.S. В любом случае, в течение испытательного срока с каждым из вновь прибывших ведется индивидуальная работа. И это как раз тот самый момент, когда кандидата можно подтянуть по теоретическим вопросам (слабина в которых определяется по итогам того-же собеседования).
Re[5]: А я спрашиваю вот это
От: s_viy  
Дата: 03.12.07 14:41
Оценка:
Здравствуйте, Gluk_Kazan, Вы писали:

G_K>Доктор, вы извращенец

G_K>Героически боремся с самостоятельно созданными трудностями ???
Ну да, самый простой способ создать один гиганский класс в проекте, и впиндюрить туда
всесь функционал и не будет тогда никаких проблем и ненужна всякая экзотика типа конструкторов. Зачем?

G_K>P.S. Профессиональный программист должен решать поставленные ему задачи, а не пальцы растопыривать

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

G_K>P.P.S. В любом случае, в течение испытательного срока с каждым из вновь прибывших ведется индивидуальная работа. И это как раз тот самый момент, когда кандидата можно подтянуть по теоретическим вопросам (слабина в которых определяется по итогам того-же собеседования).

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

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

Кроме того, ИМХО, мощь современного С++ имено в шаблонах, классические ООП решения проще и дешевле реализовавать на C# или Java. Ну задачи у нас таки, что компа с 4 процами и 16 гигами еле хватает.
Re[3]: А я спрашиваю вот это
От: s_viy  
Дата: 03.12.07 14:50
Оценка:
Здравствуйте, Gluk_Kazan, Вы писали:

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


G_K>Тоже не показатель. Жизненное надо спрашивать, а не факториалы в компайлтайе считать (IMHO разумеется).

G_K>Таки у вас в работе настолько применяется метапрограммирование, шо Александреску отдыхает ???

G_K>не верю (с)


Ну мож не отдыхает, но его списки типов используются очень активно. Кто его читал, тот и сам напишет такой факториал. Кто просто думающий, скажет типа: "нифигасе, неужели 24". А тот кто всю жизнь кнопочки в билдере тягал просто в ступор впадет — такие не нужны.
Re[4]: А я спрашиваю вот это
От: Erop Россия  
Дата: 03.12.07 15:44
Оценка:
Здравствуйте, s_viy, Вы писали:

_>Вопрос не "где ошибка?" и даже не "где ошиба в конструкторе копирования B?", а почему надо так: "B(const B& b):A(static_cast<const A&>(b)){}"


Вообще-то это сильно зависит от семантики конструкторов A...

А зачем такой изврат понадобился?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[6]: А я спрашиваю вот это
От: Sinclair Россия https://github.com/evilguest/
Дата: 04.12.07 12:44
Оценка: +3
Здравствуйте, s_viy, Вы писали:
_>Критерий один: чтобы программист мог решать поставленные ему задачи. А это реальная задача. Ну попался мне как-то такой класс. Естессно я не сразу понял, что просходит. Небольшой эксперемент показал, что вызывается не тот конструктор. И что? как всегда баг компилятора? давайте все перепишем, все поломаем и наставим костылей?
Совершенно точно. Костыль надо вставить тому, кто написал класс с таким набором конструкторов. Что за нездоровая любовь создавать ambiguity на ровном месте?
Код читается в десятки раз чаще, чем пишется. А вы, значит, поощряете право разработчика писать говнокод путем отсеивания тех, кто говнокод поддерживать неспособен, я правильно понимаю?
И это вместо того, чтобы на собеседовании спросить, как исправить класс A чтобы в будущем таких проблем не возникало. Молодцы. Еще рекомендую проверять способность разработчика пить нефильтрованную воду из-под крана и производительность труда при температуре в помещении +5. А то вдруг кто-то из коллег окно откроет или чайник унесет.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[21]: Ты уж поясни, что ли
От: jenyavb  
Дата: 05.12.07 07:06
Оценка:
Здравствуйте, IROV.., Вы писали:

IRO>это чит! который тожа дает право на переход в другой тур.


IRO>>>

D>>


Пирамидка получилась...
... << RSDN@Home 1.2.0 alpha rev. 782>>
Re[5]: А я спрашиваю вот это
От: s_viy  
Дата: 05.12.07 15:27
Оценка:
Здравствуйте, Erop, Вы писали:

E>А зачем такой изврат понадобился?


Не помню зачем, но в оригинале было что-то наподобие этого:
class A{
  ...
  std::string _value; 
  ...
public:
  ... 
  template<typename T>
  A(const T& v){ _value=boost::lexical_cast<std::string>(v); }
  ...
};


Более того VC8 для class B: public A{}; конструктор копирования по умолчанию также вызывает шаблонный конструктор
базового класса, хотя в стандарте написано, что шаблонный конструктор с одним параметром не может быть конструктом
копирования. Т.е. походу мелкософтовский компилятор генерит конструктор копирования B наподобие как B(const B& b):A(b)...
а в gcc все ок.
Re[15]: Ты уж поясни, что ли
От: vladimir.vladimirovich США  
Дата: 18.12.07 16:22
Оценка: +2
Есть один момент. Кандидат не подошел вашей компании как разработчик. Это случается. Это не страшно.

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

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

Не надо портить личные отношения с людьми, которых вы даже не знаете.

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


Ч>>Здравствуйте, IROV.., Вы писали:


IRO>>>Еще раз обьясняю! тебе в последний раз, что такие вопросы задаю только когда человек _НЕ_ прошол собеседование!

Ч>>А если эту фишку все-таки ( //????????????/ ) просечет!!!
IRO>ты лучше спроси что происходит когда они видят ответ( в смысле не отгадку, а ответ примера ).
IRO>Они перечитывают все книги, потомучто ложная опора под ногами рушится

Ч>>Как тогда поступишь?

IRO>а как я должен поступить? если собеседование окончилось еще минуту назад?

Ч>>P.S. Кстати "пошол" пишется через "Ё"

IRO>возму тебя учителем русского языка, ок?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.