Re[9]: Story from the interview...
От: Олег К.  
Дата: 20.02.11 01:32
Оценка:
MC>>Вы такие страхи рассказываете. Такие люди реально есть? Если да, то я наверное ошибочно высокого мнения о среднем уровне программистов...

T>Увы, они есть и их всё больше. Это естественная деградация рынка языка C, я полагаю. Смышлёная молодёжь, вероятно, уходит на дотнет/яву. А я уже никуда не хочу, мне уже тридцать скоро и пора умирать.

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

Приблизительно выучить за год-полтора? Афигеть!

T>уже в универе курсу к пятому большинство начинает входить в тонкости,


Курсу к пятому говоришь? Да на Си одного семестра много!

T>недавно вот просто замечательного студента взяли на джуниорскую позицию по С. Но когда я начинаю спрашивать по С++... знаете я вам даже ничего не буду рассказывать из этого нечеловеческого кошмара который льётся в ответ на простейшие вопросы типа тех, что разобраны в замечательных книгах Майерса и Саттера.


Кошмар мы прочитали тут
Автор: Tilir
Дата: 12.08.08
.
Re[7]: Story from the interview...
От: __kot2  
Дата: 20.02.11 05:58
Оценка:
Здравствуйте, Tilir, Вы писали:
T>Здравствуйте, __kot2, Вы писали:
__>>я стописят лет в обед пишу на C и C++ и даже знаю чем они отличаются, но я не помню, где в typedef идет имя типа, а где обьявление, я их часто автоматом когда пишу местами путаю.
T>Это бывает. Но последовательность typedef сделает такое объявление очевидным (см. ответ Криса) а к порядку параметров в typedef я бы точно не стал придираться. Вот незнание того *чем отличается* указатель на массив от массива указателей концептуально -- это уже хуже. Непонимание как работают сишные объявления -- ещё один минус. Кстати возможно хороший вопрос "для начала беседы" (не пробовал) это дать человеку сложное неочевидное объявление со скобками в одну строчку и попросить переписать его в очевидном стиле последовательностью typedef. Потому что (и тут вы правы), в реальном проекте хорошим программистом чаще пишется именно в очевидном стиле, но в унаследованном коде бывает всякое.
наверное умение помнить наизусть самые запутанные обьявления это все-таки именно ваша специфика, как разработка компиляторов. мне ближе гораздо собеседование когда берется некая NP задача, например коммивояжер или пятнашки и с кандидатом обсуждается, как к задаче подступиться, как оптимизировать, какие узкие места, как параллелить и т.д.
а парсить в уме сложные выражение это слишком скучно, пусть этим компилятор занимается
Re[10]: Story from the interview...
От: Tilir Россия http://tilir.livejournal.com
Дата: 20.02.11 05:58
Оценка:
Здравствуйте, Олег К., Вы писали:

T>>недавно вот просто замечательного студента взяли на джуниорскую позицию по С. Но когда я начинаю спрашивать по С++... знаете я вам даже ничего не буду рассказывать из этого нечеловеческого кошмара который льётся в ответ на простейшие вопросы типа тех, что разобраны в замечательных книгах Майерса и Саттера.


ОК>Кошмар мы прочитали тут
Автор: Tilir
Дата: 12.08.08
.


Было такое Но там нет ничего кошмарного, я искренне горжусь этим сапёрчиком. В далёком 2006-м написанный, он в 2007-м помог мне получить очень сочную работу и с тех пор лежит заброшенный. Зато попрактиковался в тонкостях.
Re[8]: Story from the interview...
От: Tilir Россия http://tilir.livejournal.com
Дата: 20.02.11 06:01
Оценка: -2
Здравствуйте, Олег К., Вы писали:

ОК>Я не эмбеддерщик, но... Они что, каждый день прямо-таки пишут указатели на массив из 10-и интов?


А какая разница что мы каждый день пишем? День на день не приходится. Этот вопрос прекрасен, чтобы проверить концептуальное понимание человеком массивов и указателей как таковых и знание того, как работают объявления в языке С. Вы можете предложить для этих целей вопрос лучше?
Re[8]: Story from the interview...
От: Tilir Россия http://tilir.livejournal.com
Дата: 20.02.11 06:03
Оценка:
Здравствуйте, __kot2, Вы писали:

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


У нас тоже есть такой вопрос -- только мы даём подумать над проектрованием несколько другой задачи ближе к нашей предметке но тоже очень интересной. Но. Чтобы дойти до этого вопроса, человек должен показать минимальные базовые *знания*. При этом никто не возражает если он чего-нибудь не будет *помнить*.
Re[9]: Story from the interview...
От: __kot2  
Дата: 20.02.11 06:45
Оценка:
Здравствуйте, Tilir, Вы писали:
T>Здравствуйте, __kot2, Вы писали:
__>>гораздо собеседование когда берется некая NP задача, например коммивояжер или пятнашки и с кандидатом обсуждается, как к задаче подступиться, как оптимизировать, какие узкие места, как параллелить и т.д.
T>У нас тоже есть такой вопрос -- только мы даём подумать над проектрованием несколько другой задачи ближе к нашей предметке но тоже очень интересной. Но. Чтобы дойти до этого вопроса, человек должен показать минимальные базовые *знания*. При этом никто не возражает если он чего-нибудь не будет *помнить*.
не только компания оценивает кандидата, но и он ее. если ему начать задавать вопросы типа "каков размер int" или "обьявите указатель", он может занервничать, начать подозревать, что попал в логово дебилов, которые действительно интересуются такими вопросами по ходу работы
Re[9]: Story from the interview...
От: Олег К.  
Дата: 20.02.11 06:54
Оценка: :)
ОК>>Я не эмбеддерщик, но... Они что, каждый день прямо-таки пишут указатели на массив из 10-и интов?
T>А какая разница что мы каждый день пишем?

Имелось в виду что такое объявление вы врядли сами когда писали в реальном коде. Под "вы" я имею в виду не тебя лично а всю команду.

T>День на день не приходится. Этот вопрос прекрасен, чтобы проверить концептуальное понимание человеком массивов и указателей как таковых и знание того, как работают объявления в языке С. Вы можете предложить для этих целей вопрос лучше?


Предлагаю более прекрасный вопрос! Объявить указатель на массив десяти указателей на функцию которая принимает указатель на массив десяти указателей на функцию принимающую int и возвращающую void. Вопрос, по желанию, можно усложнить.
Re: Story from the interview...
От: iHateLogins  
Дата: 20.02.11 08:11
Оценка: +1
Здравствуйте, Tilir, Вы писали:

T>Но я до сих пор в себя придти не могу. Первый раз такое. Что в таких случаях вообще делают? А вдруг он реально неплох, просто сорвался? Там же десять лет опыта в резюме, три крупные компании, работа в США, публикации, выступления на конференциях, гранты какие-то... Но с другой стороны я точно не смогу с ЭТИМ в одной комнате работать, он же меня убьёт.


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

У меня был еще более уникальный кандидат. Тоже огромное резюме, тоже 10 лет опыта и т.д. Одна маааленькая особенность — у человека была шизофазия. Он говорил ПОЛНЕЙШНИЙ БРЕД, если вслушиваться. Граматически корректно, но по смыслу — набор слов. Я собеседовал его вместе с коллегой, который во время интервью копался в ноуте, и коллега после интервью, уловив лишь ключевые слова, был уверен, что перед нами достойный кандидат! После того, как я привёл пару цитат кандидата, коллега несколько опешил и после этого случая старался не отвлекаться во время интервью.

Мораль — проверять надо. А халявщиков и ненормальных — гнать взашей!
Re[8]: Story from the interview...
От: nvb Россия  
Дата: 20.02.11 08:54
Оценка:
Здравствуйте, Олег К., Вы писали:

V>>>З.Ы. Да, мы поняли, что круче тебя только яйца.

CC>>А в чём у тебя к нему претензия?
CC>>Я так понимаю он эмбеддерщик, ему и в самом деле надо люди, которые понимают подобные вещи.
CC>>Так что в его области все подобные претензии обоснованы. Они с этим работают постоянно.

ОК>Я не эмбеддерщик, но... Они что, каждый день прямо-таки пишут указатели на массив из 10-и интов?


При реализации протоколов обмена частенько случается. Пришел пакет данных и его надо разбирать. А структуры эмбеддеры почему-то не любят.

Помню, смотрел код одного эмбеддера, весьма и весьма продвинутого. В одном месте я увидел копирование массива unsigned char[20] в цикле, хотя вполне можно было ограничиться ссылкой — данные не менялись.
На кипение моего разума возмущенного он совершенно не смутился, пояснив, что, во первых, этот кусок кода расположен в месте, где на производительность начхать, во-вторых, это осталось с отладки, а в-третьих, компилятор с ключиком О3 это место все равно оптимизирует.
А вот критические места он писал просто на ассемблере, говоря, что ему так быстрее, чем писать на Сях и потом оптимизировать препроцессорными директивами и прочим до посинения.
И он же, как мне потом рассказывал, на собеседовании не смог ответить на элементарный вопрос "как объявить две переменные, чтобы они гарантированно лежали в памяти рядом?"
Re[10]: Story from the interview...
От: dilmah США  
Дата: 20.02.11 10:11
Оценка: 1 (1) +1
ОК>Ну это со слов топик-стартера. А задачка практической ценности не имеет.

вот реальная ошибка связанная с непониманием массивов и указателей в реальном очень известном проекте (имена изменены):

foo::foo(const uint8_t salt[SALT_LENGTH]) {
  memcpy(salt_, salt, sizeof(salt));
}


в результате копируются только первые байты (потому что sizeof(salt) < SALT_LENGTH) Самый прикол в том что этот баг теперь просто так не исправишь потому что это, грубо говоря, изменит хэши и все юзерские профили от старых версий окажутся некорректными.
Re[9]: Story from the interview...
От: __kot2  
Дата: 20.02.11 10:15
Оценка: +1 :)
Здравствуйте, Tilir, Вы писали:
T>Здравствуйте, __kot2, Вы писали:
__>>гораздо собеседование когда берется некая NP задача, например коммивояжер или пятнашки и с кандидатом обсуждается, как к задаче подступиться, как оптимизировать, какие узкие места, как параллелить и т.д.
T>У нас тоже есть такой вопрос -- только мы даём подумать над проектрованием несколько другой задачи ближе к нашей предметке но тоже очень интересной. Но. Чтобы дойти до этого вопроса, человек должен показать минимальные базовые *знания*. При этом никто не возражает если он чего-нибудь не будет *помнить*.
дополню свой ответ еще таким сравнением.
вы собеседуете человека на должность водителя карьерных Белазов. к вам приходит человек, который имеет права всех категорий и судя по резюме 10летний опыт работы водителем на различной технике. вы садитесь напротив него и спрашиваете: "а вот на машине с автоматической коробкой передач педаль газа слева или справа?", "а зачем включать ночью фары?", "а поедет ли бензиновый мотор на солярке?". человек может начать нервничать. ведь он по вопросам оценивает уровень тех, кого компания набирает и если ему придется работать с теми, кто затрудняется запомнить, где педаль газа или не включает свет ночью, то он потратит кучу времени своего и нервов, работая с такими людьми.
Re[9]: Story from the interview...
От: dilmah США  
Дата: 20.02.11 10:26
Оценка:
nvb>Помню, смотрел код одного эмбеддера, весьма и весьма продвинутого. В одном месте я увидел копирование массива unsigned char[20] в цикле, хотя вполне можно было ограничиться ссылкой — данные не менялись.

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

nvb>И он же, как мне потом рассказывал, на собеседовании не смог ответить на элементарный вопрос "как объявить две переменные, чтобы они гарантированно лежали в памяти рядом?"


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

int a[2];
int& x = a[0];
int& y = a[1];
Re[9]: Story from the interview...
От: MescalitoPeyot Украина  
Дата: 20.02.11 11:54
Оценка:
Здравствуйте, Tilir, Вы писали:

T>А какая разница что мы каждый день пишем? День на день не приходится. Этот вопрос прекрасен, чтобы проверить концептуальное понимание человеком массивов и указателей как таковых и знание того, как работают объявления в языке С. Вы можете предложить для этих целей вопрос лучше?


А зачем это все? Неужели в голых сях это часто встречается? Я вообще-то плюсовик и не помню, использовал ли вообше когда-нибудь многомерный массив, уж точно не тайпедефил их, указатели на них и т.п.; typedef'ы — в основном шаблоны и иногда указатели на функции (спрашивать синтаксис объявления указателей на функции тоже считаю глупым).

З.Ы.: вообще часто синтаксис main() забываю, ужас, да?
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re[3]: Story from the interview...
От: silverwolf  
Дата: 20.02.11 12:29
Оценка:
Здравствуйте, Lloyd, Вы писали:

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


T>>>Первый раз такое.


x64>>По всем признакам, это был профессиональный ходильщик по собеседованиям. Ну, есть такие.


L>А в чем прикол такй деятельности? Тратить свое и чужое время, а пофит в чем?

Пришел на норм ЗП поседел пару месяцев (обычно 3-8) пока не поймут шо он ничто и в новую контору на бОльшую ЗП, поскольку опыта уже побольше и узнал много новых модных слов.
Re[5]: Story from the interview...
От: senglory  
Дата: 21.02.11 06:03
Оценка:
Здравствуйте, Klatu, Вы писали:

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


D>>Не очень понимаю твою мысль. Насколько я могу судить, он не хамил и не орал на кандидата — всего лишь задал кандидату вопрос который ему не понравился.


K>Чтобы унизить, не обязательно орать и хамить. У некоторых очень мастерски получается без таких прямолинейных приемов.

K>Кстати, на эту тему есть неплохой фильм "Метод" (El Metodo)

А с английской озвучкой он есть?
Re[2]: Story from the interview...
От: pvirk Россия  
Дата: 21.02.11 07:32
Оценка: 1 (1)
Здравствуйте, x64, Вы писали:

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


Какой же он профессиональный, если сразу запсиховал?
Re[2]: Story from the interview...
От: jazzer Россия Skype: enerjazzer
Дата: 21.02.11 07:57
Оценка:
Здравствуйте, 0rc, Вы писали:

0rc>Но самое ужасное — вы не закрыли позицию, а значит не факт что выиграли при этом.


Какой-то странный критерий
Типа главное — закрыть позицию, а как и кем — не важно, и пофиг, что тебе потом с этим человеком на протяжении нескольких лет работать?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Story from the interview...
От: Воронков Василий Россия  
Дата: 21.02.11 08:14
Оценка: +1
Здравствуйте, Tilir, Вы писали:

T>Но я до сих пор в себя придти не могу. Первый раз такое. Что в таких случаях вообще делают? А вдруг он реально неплох, просто сорвался? Там же десять лет опыта в резюме, три крупные компании, работа в США, публикации, выступления на конференциях, гранты какие-то... Но с другой стороны я точно не смогу с ЭТИМ в одной комнате работать, он же меня убьёт.


А черт его знает, как оно на самом деле. У меня тоже был случай на интервью — проходил я собеседование в одну контору, текущая на тот момент позиция у меня была не совсем программистская (хотя по факту я программировал и много) и, видимо, со стороны интервьюера было некоторое сомнение, что я вообще программировать умею. Короче, заставили меня писать код в прямом смысле на бумажке. И на бумажке я *не смог* написать простейшие вещи типа for-а. Удивительно, но факт.

С объявлениями массивов я тоже одно время сильно путался, когда писал параллельно на C# и C++\CLI (или это был MC++?).

Так что тут все относительно. Для себя я лично сделал вывод — никогда не стоит задавать *слишком* простые вопросы. Это все равно что спрашивать профессионального наборщика, где какая буква на клавиатуре находится. Он точно ответит? Я, к примеру, нет, хотя печатаю вслепую.

Но судя по описанию у человека с нервами и правда было что-то не то. Так что переживать по его поводу, наверное, не стоит.
Re[7]: Story from the interview...
От: Vzhyk  
Дата: 21.02.11 09:20
Оценка:
18.02.2011 18:03, XuMuK пишет:

> V>З.Ы. Да, мы поняли, что круче тебя только яйца.

>
> вы правда думаете что развернуть односвязный список это архисложная
> задача? тогда армадилло-таки прав, признаю.
То есть ты согласен, что ты не представляешь как много программистов не
способны сделать, написанное выше?
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Story from the interview...
От: AndrewJD США  
Дата: 21.02.11 09:54
Оценка:
Здравствуйте, зиг, Вы писали:

зиг>не читала весь тред, — ТС как-то объяснил присутствие секретарши на тех интервью? вот этот пункт меня вообще поразил. Если бы я была мужчиной, и другой мужчина задавал бы мне унизительные для меня вопросы про то как объявить переменную (похиг что я точно не помню как их объявлять) в присутствии женщины — я бы вполне возможно тоже завелась.


А если бы интервювер был бы женщиной и задал "унизительный" вопрос как обьвить переменную? Подали бы в суд как sexual harassment?
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.