Re: Наиболее интересные вопросы на собеседованиях
От: minorlogic Украина  
Дата: 17.06.12 07:37
Оценка:
Наброшу.


В чем отличие при использовании hi1 и hi2 ?

char* hi1 = "hi";
char hi2[] = "hi";
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[3]: Собеседователь во всей красе
От: BlackStone  
Дата: 17.06.12 07:46
Оценка:
Здравствуйте, TMU_1, Вы писали:

TMU>А какое время события close в данном случае брать за рабочее? Первое?

TMU>Задачка любопытная, можно помучать людей
TMU>Только самому сначала сделать

Ну что за мышление, а?
Тьфу.

Не допускайте программистов до собеседований, делать им там — нечего!
Менеджеру надо вакансию закрыть, а таким вот товарищам — людей помучать, идиотскими задачами.
Re[2]: Наиболее интересные вопросы на собеседованиях
От: namespace  
Дата: 17.06.12 08:41
Оценка:
Да, задачка интересная, особенно если учесть, что timestamp не время, а автоинкрементное поле.
Re[3]: Наиболее интересные вопросы на собеседованиях
От: namespace  
Дата: 17.06.12 08:47
Оценка:
H>90% кандидатов заявлявших что отлично знаю SQL не могли сказать что делает
Я попадаю в остальные 10%, но не считаю, что знаю SQL на отлично.
И о чем это говорит?
1. Люди никогда не использовали этой конструкции;
2. Собеседование для них стресс;
3. У них хорошая привычка не запоминать то, как писать не надо.
Re[2]: Наиболее интересные вопросы на собеседованиях
От: PlusMyTwitterFace  
Дата: 17.06.12 09:01
Оценка:
M>char* hi1 = "hi";
M>char hi2[] = "hi";

— Изменение содержимого hi1 ведёт к UB. Например, hi1[0] = 'a';
— Длину строки hi2 можно измерить в compile-time при помощи sizeof, в отличие от hi1 и strlen

Или интересует что-то другое?
Re[3]: Наиболее интересные вопросы на собеседованиях
От: minorlogic Украина  
Дата: 17.06.12 10:09
Оценка:
Здравствуйте, PlusMyTwitterFace, Вы писали:

PMT>- Изменение содержимого hi1 ведёт к UB. Например, hi1[0] = 'a';


А почему ? можно подробнее ?

PMT>- Длину строки hi2 можно измерить в compile-time при помощи sizeof, в отличие от hi1 и strlen


PMT>Или интересует что-то другое?


ХЗ
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[4]: Наиболее интересные вопросы на собеседованиях
От: PlusMyTwitterFace  
Дата: 17.06.12 10:15
Оценка: 1 (1)
M>А почему ? можно подробнее ?

Потому что такие строковые литералы заносятся в область памяти, предназначенную только для чтения. Нет?
Re[4]: Наиболее интересные вопросы на собеседованиях
От: dilmah США  
Дата: 17.06.12 10:43
Оценка:
PMT>>- Изменение содержимого hi1 ведёт к UB. Например, hi1[0] = 'a';

M>А почему ? можно подробнее ?


hi1 это указатель на string literal.

The effect of attempting to modify a string literal is undefined.

Re: Наиболее интересные вопросы на собеседованиях
От: ssp_alex Россия  
Дата: 21.06.12 13:55
Оценка:
Здравствуйте, PlusMyTwitterFace, Вы писали:

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

сам любил задавать под конец собеседования тупые задачки типа "Буратино дали 5 яблок, потом 2 забрали, сколько яблок осталось у Буратино", но сразу предупреждал что задачки программерско-кодерские, и решение надо искать именно с точки зрения программерской.
Re[2]: Наиболее интересные вопросы на собеседованиях
От: Handie  
Дата: 21.06.12 18:45
Оценка: +1 :)
_>сам любил задавать под конец собеседования тупые задачки типа "Буратино дали 5 яблок, потом 2 забрали, сколько яблок осталось у Буратино", но сразу предупреждал что задачки программерско-кодерские, и решение надо искать именно с точки зрения программерской.

Приведите решение задачи. Планируем давать задачу кандидатам, но сами не знаем правильного решения с программерской точки зрения. Анализ задачи показал, что счетчик яблок не переполняется даже на 32 битной арифметике. В дабл арифметике может конечно получиться 3,000000000000000001 яблок. Опять таки, можно решить задачу метапрограммированием на этапе компилляции. В общем, задача сложная и требует аналитического ума.
Re[3]: Наиболее интересные вопросы на собеседованиях
От: Piko  
Дата: 21.06.12 21:08
Оценка:
Здравствуйте, Handie, Вы писали:

_>>сам любил задавать под конец собеседования тупые задачки типа "Буратино дали 5 яблок, потом 2 забрали, сколько яблок осталось у Буратино", но сразу предупреждал что задачки программерско-кодерские, и решение надо искать именно с точки зрения программерской.


H>Приведите решение задачи. Планируем давать задачу кандидатам, но сами не знаем правильного решения с программерской точки зрения. Анализ задачи показал, что счетчик яблок не переполняется даже на 32 битной арифметике. В дабл арифметике может конечно получиться 3,000000000000000001 яблок. Опять таки, можно решить задачу метапрограммированием на этапе компилляции. В общем, задача сложная и требует аналитического ума.


а разве известно сколько у Буратино было яблок до?
Re[3]: Наиболее интересные вопросы на собеседованиях
От: мыщъх США http://nezumi-lab.org
Дата: 22.06.12 01:58
Оценка:
Здравствуйте, PlusMyTwitterFace, Вы писали:

тс>>Написать пример программы, которая скомпилируется C-компилятором, но не скомпилируется C++-компилятором. Ответ лежит на поверхности, не требует знания никаких нюансов. Я не смог ответить)


PMT>Знаю лишь два варианта:

PMT>Есть какие-то ещё?
мой вариант:
main(){printf("hello\n");}
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: Наиболее интересные вопросы на собеседованиях
От: Handie  
Дата: 22.06.12 06:43
Оценка:
H>>Приведите решение задачи. Планируем давать задачу кандидатам, но сами не знаем правильного решения с программерской точки зрения. Анализ задачи показал, что счетчик яблок не переполняется даже на 32 битной арифметике. В дабл арифметике может конечно получиться 3,000000000000000001 яблок. Опять таки, можно решить задачу метапрограммированием на этапе компилляции. В общем, задача сложная и требует аналитического ума.

P>а разве известно сколько у Буратино было яблок до?


Аполитично рассуждаешь, не по программерски. Главное в задаче что? Правильно — выбрать язык программирования и применить паттерны, показать так сказать класс программирования. Тут есть несколько походов.

1) Объектно ориентированный. Во первых надо создать класс Apple и переопределить оператор складывания яблок. Но ведь современные проги создаются по идеологии MVC а Apple это Model. Надо еще View — это будет класс AppleInspector и контроллер AppleAccountingManager. Тут мы применили и объектно ориентированный дизайн и паттерны программирования. Не раскрыта тема метапрограммирования.

2) Метапрограммирование. В предыдущем случае мы написали класс Apple, но что будет если заказчику понадобятся груши? Правильно, класс Apple надо переименовать в класс AccountableAsset и сделать щаблоном. Во вторых, надо сделать инстанциацию количества ассетов на этапе компилляции, это на C++ делается через частичную специализацию когда у Буратино было 0 яблок, дали 5 и забрали 3. Частичная специализация шаблона даст нам частное решение на этапе компилляции. Общее решение останется в рантайме, но что делать, кто сказал что будет легко.

3) Функциональный подход. Императивные языки — вчерашний день. Компилятор сам должен вывести сколько у Буратино яблок. Мы должны задать только начальное состояние, представив подсчет яблок как совокупность последовательных состояний вычислительного процесса. Это же конечный автомат! Каждое добавление яблок изменят внутреннее состояние Буратино, каждый отъем яблок тоже сказывается на нем, причем отрицательно. Особенно полезен функциональный подход в связи с возможностью использования массового парралелизма, что позволит загрузить многопроцессорную систему.

В общем, No Hire по вашей кандидатуре
Re[5]: Наиболее интересные вопросы на собеседованиях
От: Handie  
Дата: 22.06.12 06:52
Оценка:
H>1) Объектно ориентированный. Во первых надо создать класс Apple и переопределить оператор складывания яблок. Но ведь современные проги создаются по идеологии MVC а Apple это Model. Надо еще View — это будет класс AppleInspector и контроллер AppleAccountingManager. Тут мы применили и объектно ориентированный дизайн и паттерны программирования. Не раскрыта тема метапрограммирования.

Дальнейшие изыскания в объектно ориентированном дизайне показали — что буратино это контроллер! Тогда становится все ясно — яблоко это модель, Буратино это контроллер. Но контроллером яблок (в генерализованном виде AccountableAsset) может являться не только Буратино но и Бармалей. Тогда Буратино надо тоже генерализовать в виде ControllingActor. Ну осталось генерализовать View и у нас получается супергибкая модель, не не только Буратино может управлять владением яблок, но и Бармалей может владеть кокосами. Это же ахрененная гибкость получается, мы создали Univerasal Asset Management System. Это же практически архитектура логистического приложения!

Осталось только решить вопрос с финансированием. На месте кандидата я бы поинтересовался, готова ли контора оплатить дальнейшие изыскания в области управления ассетами
Re[6]: Наиболее интересные вопросы на собеседованиях
От: Трололоша  
Дата: 22.06.12 22:47
Оценка:
Здравствуйте, Handie, Вы писали:

Энтерпрайзненько!
... << RSDN@Home>>
Да, йа зелёный тролль!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.