Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что получится в результате i++ + ++i + ++i, Вопрос на собеседовании 
:(
    Опции темы
ZZZkoderZZZ
Дата 11.3.2013, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 11.3.2013




Был на собеседовании в одной программистской компании. Спросили чему будет равно i после такой операции
Код

    int i=2;
    i=i++ + ++i + ++i;

А вы знаете чему будет равно i ?
PM MAIL   Вверх
borisbn
Дата 11.3.2013, 13:14 (ссылка) |    (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону




Если компания нормальная, то от тебя ждали, что ты скажешь, что это - UB

Это сообщение отредактировал(а) borisbn - 11.3.2013, 13:51


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
kuzulis
Дата 11.3.2013, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 5.9.2007




Охххх.. Ну и кандибобрик...  smile 

Не, я понимаю там, задания-шманания - но не до такой же степени.

Вот я к примеру бы нифига не ответил а просто покрутил бы у виска и ушел 
с гордо поднятой головой smile
PM MAIL   Вверх
NoviceF
Дата 11.3.2013, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 13.3.2012
Где: Ростов-на-Дону




лурк в курсе проблемы

http://lurkmore.to/%2B%2Bi_%2B_%2B%2Bi

и вот тоже в тему

http://ru.wikipedia.org/wiki/%D0%A2%D0%BE%...%BD%D0%B8%D1%8F

Это сообщение отредактировал(а) NoviceF - 11.3.2013, 18:39
PM MAIL   Вверх
Alca
Дата 11.3.2013, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006




Я сказал, что я так не пишу и поэтому не знаю. 
Надо спросить у того, кто этот код писал.


--------------------
PM WWW ICQ Skype Jabber   Вверх
bsa
Дата 11.3.2013, 21:08 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия




Это вопрос на знание ЭЛЕМЕНТАРНЫХ ПОДВОДНЫХ КАМНЕЙ С++. Если ты не знаешь результат этой операции (рафинированной, кстати), то как ты определишь проблему в более сложном случае?
Этот вопрос используется для получения представления об опыте и интересах потенциального сотрудника. Если сотрудник не интересуется языком, не читает книжки, не обсуждает на форумах проблемы, то это говорит о том, что он не ту профессию выбрал.
PM   Вверх
Alca
Дата 12.3.2013, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006




Цитата

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

Можно пример такой (более сложной) ситуации?

Это сообщение отредактировал(а) Alca - 12.3.2013, 01:06


--------------------
PM WWW ICQ Skype Jabber   Вверх
borisbn
Дата 12.3.2013, 05:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону




> Можно пример такой (более сложной) ситуации?
Открой исходники буста. Или, хотя бы, STL


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
bsa
Дата 12.3.2013, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия




Цитата(Alca @  12.3.2013,  02:05 Найти цитируемый пост)
Можно пример такой (более сложной) ситуации?

Код
printf("%i %s\n", i, array[i++]);
Эта ситуация уже не такая очевидная.
Но есть более интересный пример:
Код
std::cout <<  i << array[i++] << std::endl;

PM   Вверх
sergioK1
Дата 12.3.2013, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011




Цитата(bsa @ 12.3.2013,  09:06)
Цитата(Alca @  12.3.2013,  02:05 Найти цитируемый пост)
Можно пример такой (более сложной) ситуации?

Код
printf("%i %s\n", i, array[i++]);
Эта ситуация уже не такая очевидная.
Но есть более интересный пример:
Код
std::cout <<  i << array[i++] << std::endl;

Стандартный вопрос на интервью для жуниорской позиции,
prefix/posfix оператор, команды обрабатываться с лева на право, 
что интресного то  :- smile 
следующий вопрос который стоит это что будет в случае с потоками,
PM MAIL   Вверх
azesmcar
Дата 12.3.2013, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения




Цитата(Alca @  12.3.2013,  01:05 Найти цитируемый пост)
Можно пример такой (более сложной) ситуации?

Кажется у Сатера было.
Код

foo(
    std::auto_ptr<X>(new X()),
    std::auto_ptr<Y>(new Y()));

Позможная утечка памяти при возникновении исключения в конструкторе.

Это сообщение отредактировал(а) azesmcar - 12.3.2013, 11:38
PM   Вверх
xvr
Дата 12.3.2013, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия




Цитата(sergioK1 @  12.3.2013,  11:28 Найти цитируемый пост)
что интресного то

Ну например то, что к данному примеру это отношения не имеет  smile 

PM MAIL   Вверх
azesmcar
Дата 12.3.2013, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения




Цитата(borisbn @  12.3.2013,  05:48 Найти цитируемый пост)
Открой исходники буста. Или, хотя бы, STL

А много ты там UB видел? smile

Это сообщение отредактировал(а) azesmcar - 12.3.2013, 11:39
PM   Вверх
ZZZkoderZZZ
Дата 12.3.2013, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 11.3.2013




Цитата(sergioK1 @ 12.3.2013,  11:28)
Стандартный вопрос на интервью для жуниорской позиции,

Так есть ли конкретный ответ на все эти вопросы, или это всё таки undefined behavior?
Может быть будущий младший кодер-эникейщик должен привести ответы для MS и gcc со всеми комбинациями ключей? А далее при правильном ответе его спросят что будет, если в программе 100 потоков.
Как ответить правильно?
А если немного усложнить
Код

int i=0;
int array[3]={1,2,3};
std::cout <<  i << array[i++] << array[++i] << std::endl;
i=0;
std::cout <<  i << array[++i] << array[i++] << std::endl;
Выведутся одинаковые строки или разные, и почему?

Это сообщение отредактировал(а) ZZZkoderZZZ - 12.3.2013, 11:59
PM MAIL   Вверх
borisbn
Дата 12.3.2013, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону




Цитата(azesmcar @  12.3.2013,  11:39 Найти цитируемый пост)
А много ты там UB видел?

 smile 
я имел в виду просто "более сложная ситуация". ИМХО разобраться в бусте или STL - существенно сложнее, чем определить UB в такого рода коде


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.0623 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.