Re[6]: Собеседование в Яndex :) В Новосибирске будет?
От: shrecher  
Дата: 22.10.07 11:08
Оценка: +3 -1
N>>>Это неправда. Вопросы на брэйнбенче вполне разумные, и ничего подобного там нет.
L>>Вопрос "какое стандартное имя у типа basic_filebuf<char>" на звание адекватного никак не претендует.

N>Любой, кто хоть немного пользовался stl, имеет понятие о том как стандартно именуются воплощения шаблонов библиотеки. И знает, что basic_string<char> есть string, basic_string<wchar_t> есть wstring, а basic_filebuf<char> есть filebuf.


N>Ничего неадекватного в вопросе нет, вопрос проверяет, действительно ли человек пользовался stl или мельком прочитал о ней в книжке.


ну а если чел, не пользовался filebuf? Ведь всегда header посмотреть можно. А если и пользовался, но забыл или не обращал внимание на typedef, какой вывод из этого? Он STL не знает. Чушь.

Или, как такие вопросы проверяю способность человека к мышлению, а не энциклопедические знания. Ведь именно мышление, а не память определяет качество программиста.

Для завершения, по пробуйте ответить без msdn, какой 5 параметер у CreateFile

1. DWORD dwFlagsAndAttributes,
2. DWORD dwDesiredAccess,
3. DWORD dwCreationDisposition,
4. DWORD dwShareMode

если не смогли, то про Win32 мельком прочитали в книжке.
Re[4]: Собеседование в Яndex :) В Новосибирске будет?
От: shrecher  
Дата: 22.10.07 11:23
Оценка:
Здравствуйте, Игoрь, Вы писали:


И>PS

И>Вообще какая-то нехорошая тенденция пошла на этом форуме — пропогандизм серости.

ух куда вас занесло.
Re[10]: Собеседование в Яndex :) В Новосибирске будет?
От: shrecher  
Дата: 22.10.07 11:33
Оценка:
S>>Если бы такое спросили на job interview я бы в ответ спросил "у вас много такого кода?". Если ответ "да", ушел бы без продолжения.
И>Никто тебе не ответит: "да", ответят что-то в духе: "У нас такого кода нет и мы не хотим, чтобы он появился".

почему? если у них полно легаси кода и твоя задача на следующие 5 лет его maintenance. Зачем мне такая деградация и вникание в sequence point?

И> Честно говоря не понимаю: зачем идти на микроконфликт?


а зачем скрывать свою натуру? Чтобы взяли и с испытательного срока турнули?

А почему микроконфликт наоборот показываешь свое отношение к дурному коду. Вероятно у манагера такое же отношение.

S>>Кончено, разгадыва С++ шарады можно, но зачем ?

И>И что здесь разгадывать? Тут либо знаешь, либо нет.

Отнюдь. Если у меня вызывает сомнение код я его переношу в отдельный проект и там спокойно прохожу с отладчиком.
Re[7]: Собеседование в Яndex :) В Новосибирске будет?
От: Nose Россия  
Дата: 22.10.07 18:34
Оценка: +1
Здравствуйте, shrecher, Вы писали:

S>ну а если чел, не пользовался filebuf? Ведь всегда header посмотреть можно. А если и пользовался, но забыл или не обращал внимание на typedef, какой вывод из этого? Он STL не знает. Чушь.


Причем тут конкретно filebuf? Я вот тоже не пользовался, но на вопрос ответить тем не менее сумел. Дело не в конкретном filebuf, а в стандартном соглашении об именовании.
Для basic_filebuf, basic_fstream, basic_string, basic_iostream etc. воплощения с char именуются filebuf, fstream, string, iostream, а с wchar_t wfilebuf, wfstream, wstring, wiostream и так далее. Если хоть сколько-нибудь попользуешься stl этого просто нельзя не заметить.


S>Для завершения, по пробуйте ответить без msdn, какой 5 параметер у CreateFile


S>1. DWORD dwFlagsAndAttributes,

S>2. DWORD dwDesiredAccess,
S>3. DWORD dwCreationDisposition,
S>4. DWORD dwShareMode

S>если не смогли, то про Win32 мельком прочитали в книжке.


Неправильная аналогия. Аналогичный вопрос по Win32 будет про CreateFileW и CreateFileA.

Если человек не знает что такое CreateFileW и CreateFileA, можно заключить, что его опыт в Win32 весьма и весьма мал ("мельком в книжке прочитал").
... << RSDN@Home 1.2.0 alpha rev. 775>>
Re[7]: Собеседование в Яndex :) В Новосибирске будет?
От: frogkiller Россия  
Дата: 22.10.07 19:10
Оценка:
Здравствуйте, shrecher, Вы писали:

S>ну а если чел, не пользовался filebuf? Ведь всегда header посмотреть можно. А если и пользовался, но забыл или не обращал внимание на typedef, какой вывод из этого? Он STL не знает. Чушь.


Имхо не чушь. Header большой, если человек с ним не сталкивался, то простой анализ входных-выходных параметров не сильно поможет. Хуже всего, если в случае проблем программист начнёт "шаманить" с подбором параметров. А именно так чаще всего происходит, если человек раньше не работал в данной области. Если шаманство не проходит, начинается усиленное чтение хелпов, затем форумов. А время-то уходит...

S>Или, как такие вопросы проверяю способность человека к мышлению, а не энциклопедические знания. Ведь именно мышление, а не память определяет качество программиста.


Ага, при наличии бесконечного времени. Проводя аналогии с ролевыми играми, ты путаешь набранный опыт и очки интеллекта. Разумеется, чем выше IQ, тем лучше. Но в большинстве случаев у проекта есть конкретные сроки, и они подразумевают, что человек сразу начнёт работать с полной отдачей. А не проведёт сначала пару месяцев за чтением MSDN (прогоняя кучу примеров под отладкой) и не будет задавать на форумах разные вопросы из серии, почему у меня тут не работает.

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

S>Для завершения, по пробуйте ответить без msdn, какой 5 параметер у CreateFile


Выше правильно заметили, это не корректная аналогия.
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[6]: Собеседование в Яndex :) В Новосибирске будет?
От: landerhigh Пират  
Дата: 22.10.07 23:56
Оценка:
Здравствуйте, Nose, Вы писали:


N>Любой, кто хоть немного пользовался stl, имеет понятие о том как стандартно именуются воплощения шаблонов библиотеки. И знает, что basic_string<char> есть string, basic_string<wchar_t> есть wstring, а basic_filebuf<char> есть filebuf.

N>Ничего неадекватного в вопросе нет, вопрос проверяет, действительно ли человек пользовался stl или мельком прочитал о ней в книжке.
Сильно.
То есть любой, правильно ответивший (угадавший) — STL гуру? Так?
Можно утащу в цитаты?

С этим, гхм.., даже и спорить как-то не хочется.
Re[7]: Собеседование в Яndex :) В Новосибирске будет?
От: frogkiller Россия  
Дата: 23.10.07 04:11
Оценка: 1 (1)
Здравствуйте, landerhigh, Вы писали:

N>>Любой, кто хоть немного пользовался stl, имеет понятие о том как стандартно именуются воплощения шаблонов библиотеки. И знает, что basic_string<char> есть string, basic_string<wchar_t> есть wstring, а basic_filebuf<char> есть filebuf.

N>>Ничего неадекватного в вопросе нет, вопрос проверяет, действительно ли человек пользовался stl или мельком прочитал о ней в книжке.

L>Сильно.

L>То есть любой, правильно ответивший (угадавший) — STL гуру? Так?
L>Можно утащу в цитаты?

L>С этим, гхм.., даже и спорить как-то не хочется.


Вообще-то импликация не коммутативна. Из того, что человек ответил на вопрос (с вероятностью 25% угадал) не следует, что он действительно хорошо понимает, о чём идёт речь. Но вот если не ответил — весомый признак, что он не понимает/никогда с этим не работал. Да и вопрос не тянет на супер сложный, чтоб только "гуру" мог на него ответить.
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[7]: Собеседование в Яndex :) В Новосибирске будет?
От: Nose Россия  
Дата: 23.10.07 05:04
Оценка:
Здравствуйте, landerhigh, Вы писали:

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


L>Сильно.

L>То есть любой, правильно ответивший (угадавший) — STL гуру? Так?

Я где-то такое говорил? Я в ветке чуть ниже в ветке отвечал что этот вопрос эквивалентен вопросу по win32 о том что такое CreateFileA и CreateFileW.
Это элементарный вопрос, что отнюдь не делает его неадекватным.

L>Можно утащу в цитаты?


Можно.
... << RSDN@Home 1.2.0 alpha rev. 775>>
Re[9]: Собеседование в Яndex :) В Новосибирске будет?
От: Nose Россия  
Дата: 23.10.07 05:17
Оценка:
Здравствуйте, shrecher, Вы писали:

S>ключевые слова "не совсем жизненный пример". Если такое не жизненный пример нафига такие примеры давать в вопросах? Если бы такое спросили на job interview я бы в ответ спросил "у вас много такого кода?". Если ответ "да", ушел бы без продолжения.


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

S>Кончено, разгадыва С++ шарады можно, но зачем ?


Это не шарада. Это вопрос на знание и понимание sequence points.
И более того, как я уже заметил, пример максимально упрощен, чтобы оставить самую суть.
... << RSDN@Home 1.2.0 alpha rev. 775>>
Re[8]: Собеседование в Яndex :) В Новосибирске будет?
От: shrecher  
Дата: 23.10.07 05:27
Оценка: +1
N>Причем тут конкретно filebuf? Я вот тоже не пользовался, но на вопрос ответить тем не менее сумел. Дело не в конкретном filebuf, а в стандартном соглашении об именовании.
N>Для basic_filebuf, basic_fstream, basic_string, basic_iostream etc. воплощения с char именуются filebuf, fstream, string, iostream, а с wchar_t wfilebuf, wfstream, wstring, wiostream и так далее. Если хоть сколько-нибудь попользуешься stl этого просто нельзя не заметить.

S>>Для завершения, по пробуйте ответить без msdn, какой 5 параметер у CreateFile


N>Неправильная аналогия. Аналогичный вопрос по Win32 будет про CreateFileW и CreateFileA.

N>Если человек не знает что такое CreateFileW и CreateFileA, можно заключить, что его опыт в Win32 весьма и весьма мал ("мельком в книжке прочитал").

Разные люди бывают. Одни, думают от деталях типа как о "стандартном соглашении об именовании", для других важен результат, что делает его программа. Даже если человек делал в коде
 GetProcAddress(hKernel32, "CreateFileW");
он запросто может спутать в ответе с CreateFileU или чем-то похожим.

Вообще какой смысл помнить про W/A или что там у нас filebuf, если все эти понятия устаревают практически моментально? Еще вспомнить для чего там у нас ES/DS раньше использовался. Для инженера главное уметь найти при необходимости, быстро разобраться, правильно задавать вопросы если не нашел. Энциклопедические знания перегружаю и отвлекают.
Re[8]: Собеседование в Яndex :) В Новосибирске будет?
От: landerhigh Пират  
Дата: 23.10.07 05:34
Оценка:
Здравствуйте, Nose, Вы писали:

L>>То есть любой, правильно ответивший (угадавший) — STL гуру? Так?

N>Я где-то такое говорил? Я в ветке чуть ниже в ветке отвечал что этот вопрос эквивалентен вопросу по win32 о том что такое CreateFileA и CreateFileW.
N>Это элементарный вопрос, что отнюдь не делает его неадекватным.
Хорошо. Спрошу по-другому — если человек не ответил на подобный, гхм, вопрос, это означает, что он STL не знает? Так?
L>>Можно утащу в цитаты?
N>Можно.
done.
Re[9]: Собеседование в Яndex :) В Новосибирске будет?
От: Nose Россия  
Дата: 23.10.07 05:51
Оценка:
Здравствуйте, shrecher, Вы писали:

S>Разные люди бывают. Одни, думают от деталях типа как о "стандартном соглашении об именовании", для других важен результат, что делает его программа.


Об этом не нажо думать. Это очень простые вещи, они сами в голове откладываются, если пользоваться stl.

S>Даже если человек делал в коде
 GetProcAddress(hKernel32, "CreateFileW");
он запросто может спутать в ответе с CreateFileU или чем-то похожим.


Ха-ха. А так же если человек смотрел хоть раз stacktrace, нажимал из любопытства "go to declaration" в студии etc.

S>Вообще какой смысл помнить про W/A или что там у нас filebuf, если все эти понятия устаревают практически моментально? Еще вспомнить для чего там у нас ES/DS раньше использовался.


Ну конечно, конечно устаревают. С момента создания win32 до сегодняшнего дня -- сколько лет? а STL?

И потом, никто не говорит, что это "то что нужно знать". Это просто то, что сложно не знать при пользовании STL( ну или win32 если W/A ).

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


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

С таким подходом можно всю жизнь "правильно задавать вопросы". Может сменить роль, и быть тем, кому эти вопросы задают?
... << RSDN@Home 1.2.0 alpha rev. 775>>
Re[9]: Собеседование в Яndex :) В Новосибирске будет?
От: Nose Россия  
Дата: 23.10.07 05:51
Оценка:
Здравствуйте, landerhigh, Вы писали:

N>>Я где-то такое говорил? Я в ветке чуть ниже в ветке отвечал что этот вопрос эквивалентен вопросу по win32 о том что такое CreateFileA и CreateFileW.

N>>Это элементарный вопрос, что отнюдь не делает его неадекватным.

L>Хорошо. Спрошу по-другому — если человек не ответил на подобный, гхм, вопрос, это означает, что он STL не знает? Так?


Если человек не ответил на этот вопрос, я бы сказал что велика вероятность того, что у этого человека опыт использования stl весьма ограничен. Это, конечно, может оказаться не так, но для проверки этого есть еще несколько элементарных вопросов.
... << RSDN@Home 1.2.0 alpha rev. 775>>
Re[10]: Собеседование в Яndex :) В Новосибирске будет?
От: landerhigh Пират  
Дата: 23.10.07 06:18
Оценка:
Здравствуйте, Nose, Вы писали:

L>>Хорошо. Спрошу по-другому — если человек не ответил на подобный, гхм, вопрос, это означает, что он STL не знает? Так?

N>Если человек не ответил на этот вопрос, я бы сказал что велика вероятность того, что у этого человека опыт использования stl весьма ограничен. Это, конечно, может оказаться не так, но для проверки этого есть еще несколько элементарных вопросов.
Если человек задает такой вопрос, я бы сказал что велика вероятность того, что у этого человека опыт использования stl (да и опыт разработки вообще) напрочь отсутствет, что ставит под сомнение целесообразность продолжения беседы с ним.
Re[10]: Собеседование в Яndex :) В Новосибирске будет?
От: Sergey Россия  
Дата: 23.10.07 08:40
Оценка:
> S>ключевые слова "не совсем жизненный пример". Если такое не жизненный пример нафига такие примеры давать в вопросах? Если бы такое спросили на job interview я бы в ответ спросил "у вас много такого кода?". Если ответ "да", ушел бы без продолжения.
>
> Этот пример такой нежизненный, для того чтобы хорошо показать суть вопроса. Можно было бы написать гору жизненного кода, но тогда пришлось бы довольно долго его разбирать, а суть — та же.
>
> S>Кончено, разгадыва С++ шарады можно, но зачем ?
>
> Это не шарада. Это вопрос на знание и понимание sequence points.
> И более того, как я уже заметил, пример максимально упрощен, чтобы оставить самую суть.

Вообще-то при реальном программировании знание и понимание sequence points не очень нужно. Если человек данным вопросом не владеет, то обычно достаточно, чтобы он осознавал свою некомпетентность и без лишнего выпендрежа ставил побольше семиколонов. А на собеседовании времени как правило маловато, поэтому имеет смысл чего-нибудь более жизненное спросить.
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[9]: Собеседование в Яndex :) В Новосибирске будет?
От: Sergey Россия  
Дата: 23.10.07 08:45
Оценка:
> N>Неправильная аналогия. Аналогичный вопрос по Win32 будет про CreateFileW и CreateFileA.
> N>Если человек не знает что такое CreateFileW и CreateFileA, можно заключить, что его опыт в Win32 весьма и весьма мал ("мельком в книжке прочитал").
>
> Разные люди бывают. Одни, думают от деталях типа как о "стандартном соглашении об именовании", для других важен результат, что делает его программа. Даже если человек делал в коде
 GetProcAddress(hKernel32, "CreateFileW");
он запросто может спутать в ответе с CreateFileU или чем-то похожим.


Достаточно 1 раз сделать в классе метод CreateFile, и запомнишь на долго


> Вообще какой смысл помнить про W/A или что там у нас filebuf, если все эти понятия устаревают практически моментально?


более 10 лет — это моментально?

> Еще вспомнить для чего там у нас ES/DS раньше использовался. Для инженера главное уметь найти при необходимости, быстро разобраться, правильно задавать вопросы если не нашел. Энциклопедические знания перегружаю и отвлекают.


Ну просто это такие вопросы, мимо которого пройти при более-менее продолжительном программировании нереально.
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[7]: Собеседование в Яndex :) В Новосибирске будет?
От: anton_t Россия  
Дата: 23.10.07 10:44
Оценка:
Здравствуйте, landerhigh, Вы писали:

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



N>>Любой, кто хоть немного пользовался stl, имеет понятие о том как стандартно именуются воплощения шаблонов библиотеки. И знает, что basic_string<char> есть string, basic_string<wchar_t> есть wstring, а basic_filebuf<char> есть filebuf.

N>>Ничего неадекватного в вопросе нет, вопрос проверяет, действительно ли человек пользовался stl или мельком прочитал о ней в книжке.
L>Сильно.
L>То есть любой, правильно ответивший (угадавший) — STL гуру? Так?
L>Можно утащу в цитаты?

L>С этим, гхм.., даже и спорить как-то не хочется.


Из A->B не следует, что !A->!B
Re[10]: Собеседование в Яndex :) В Новосибирске будет?
От: shrecher  
Дата: 23.10.07 10:45
Оценка:
Здравствуйте, Sergey, Вы писали:

>> Вообще какой смысл помнить про W/A или что там у нас filebuf, если все эти понятия устаревают практически моментально?


S>более 10 лет — это моментально?


Отнюдь
CreateFileA -- скорее 9х, уже лет 5 как не используется во многих проектах
CreateFileW -- W2k и дальше, т.к. многие перешли на Unicode уже как лет 5.

с появлением же CLR вообще
using namespace System::IO;
FileStream^ fs = File::Create( path );

современный человек может еще и знает что такое CreateFileW, а про CreateFileA может в первый раз слышит.


>> Еще вспомнить для чего там у нас ES/DS раньше использовался. Для инженера главное уметь найти при необходимости, быстро разобраться, правильно задавать вопросы если не нашел. Энциклопедические знания перегружаю и отвлекают.


S>Ну просто это такие вопросы, мимо которого пройти при более-менее продолжительном программировании нереально.


Элементарно. В больших компания принято свой run-time держать. Там весь файловый доступ, STL, и пр. заменен на свой wrapper.
Вроде myCreateFile() или mystd::myVector, mystd::myString. Непосредственно, windows.h или "string" не включаются, а могут даже быть вообще забаннены. Это делается по ряду причин, например portability. Программисты, весь день трутся об этот run-time, знают его от корки до корки. Вероятно, оригинальный STL в деталях они не знают, но очень быстро туда въедут если будет надо. Ваш любимый brainbench всех их сольет и будет очень неправ.
Re[11]: Собеседование в Яndex :) В Новосибирске будет?
От: Sergey Россия  
Дата: 23.10.07 11:05
Оценка:
>>> Вообще какой смысл помнить про W/A или что там у нас filebuf, если все эти понятия устаревают практически моментально?
>
> S>более 10 лет — это моментально?
>
> Отнюдь
> CreateFileA -- скорее 9х, уже лет 5 как не используется во многих проектах
> CreateFileW -- W2k и дальше, т.к. многие перешли на Unicode уже как лет 5.

Здрассте. CreateFileW есть и в NT 4.0, которая сроду была юникодная. И главное — что вы хотели этим сказать? Что в свежем winbase.h отсутствует CreateFileA? или что 5 лет — это моментально?

> с появлением же CLR вообще

> using namespace System::IO;
> FileStream^ fs = File::Create( path );

Тут вообще-то плюсы обсуждались.

> современный человек может еще и знает что такое CreateFileW, а про CreateFileA может в первый раз слышит.


Значит, он очень невнимательный. Для программиста это большой минус.

> Элементарно. В больших компания принято свой run-time держать. Там весь файловый доступ, STL, и пр. заменен на свой wrapper.

> Вроде myCreateFile() или mystd::myVector, mystd::myString. Непосредственно, windows.h или "string" не включаются, а могут даже быть вообще забаннены. Это делается по ряду причин, например portability. Программисты, весь день трутся об этот run-time, знают его от корки до корки.

Этот момент я действительно упустил.

> Вероятно, оригинальный STL в деталях они не знают, но очень быстро туда въедут если будет надо.


Это все-таки сильно разные вещи — "знают" или "не знают, но очень быстро туда въедут".

> Ваш любимый brainbench всех их сольет и будет очень неправ.


Вообще он у меня не любимый, но, на мой взгляд, данный вопрос вполне имеет смысл — есть стандарт языка, в нем описан STL. Не знаешь STL — не знаешь часть языка.
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[11]: Собеседование в Яndex :) В Новосибирске будет?
От: AntZ  
Дата: 23.10.07 11:22
Оценка:
S>Отнюдь
S>CreateFileA -- скорее 9х, уже лет 5 как не используется во многих проектах
S>CreateFileW -- W2k и дальше, т.к. многие перешли на Unicode уже как лет 5.

Бред это все. Пользователь использует CreateFile, а что будет реально вызываться — CreateFileW или CreateFileA — совершенно не важно, это зависит от одной галочки в проекте.

S>современный человек может еще и знает что такое CreateFileW, а про CreateFileA может в первый раз слышит.


Ну ей бог, как дите. У большинства Win32 функций есть W и A версии, для юникода или аски соответственно. Да напишите хоть MyClass.CreateFile — макропроцессор тупой, он сделает MyClass.CreateFileA или W. Меня это никогда не заботило.

S>Элементарно. В больших компания принято свой run-time держать. Там весь файловый доступ, STL, и пр. заменен на свой wrapper.

S>Вроде myCreateFile() или mystd::myVector, mystd::myString. Непосредственно, windows.h или "string" не включаются, а могут даже быть вообще забаннены. Это делается по ряду причин, например portability. Программисты, весь день трутся об этот run-time, знают его от корки до корки. Вероятно, оригинальный STL в деталях они не знают, но очень быстро туда въедут если будет надо. Ваш любимый brainbench всех их сольет и будет очень неправ.

Заменять STL на свою доморощенную либу — это совершенно бесполезный и ненужный труд. Native Win32 или posix — куда ни шло, а зачем враппить то, что есть на всех платформах?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.