@ProCxx

Страница 694 из 2477
Kathu
22.03.2017
20:25:39
и на ноль делить можно, если ловить исключение которое кинется при делении на ноль)

Matway
22.03.2017
20:37:53
0.0 (он же binary64) в IEC 559 (IEEE 754) имеет мантиссу, прозрачную как слеза тестировщика. Все цифры (двоичные разряды), которые там есть - ноль. Целочисленное деление на 0 в C++ - UB. По стандарту нет никакого исключения.

Aldar
22.03.2017
20:39:10
Ну я могу рассказать, как собеседовал. Сначала шел по С++. Очень подробно останавливался на ключевом слове const во всех его вариациях включая указатели. Писал примеры на листке с const, спрашивал скомпилиться или нет, нормальный код или нет. Потом спрашивал про конструторы, деструкторы, виртуализацию (без этого бесполезного вопроса про таблицы), опять, с примерами ну и дальше мельком остальные маловажных, неопределяющих вопросов, типо шаблонов. Если человек отвечает на const, конструкторы с деструкторами, виртуализацию, то однозначно идем дальше независимо от отрицательных результатов остальных вопросов по плюсам (типо исключений). Дальше спрашивал знает ли что такое stl. Если не знает, спрашивал про структуры. Если не знает и про структуры, давал написать код на бумаге создания массива и вставки нового элемента в него. Если код более менее правильный, просил оценить сложность его. Если не знает что такое сложность, то какой порядок операций нужно чтобы это сделать. Потом предлагал структуру списка, и просил написать код листа. Потом просил сравнить порядки и объяснял что это и есть сложность. Потом шел по дереву, давал некоторое количество чисел в ряд, и просил их расположить в дереве. Если человек рисовал не сбалансированное бинарное, спрашивал про сложность, и предлагал её уменьшить. Потом спрашивал про хеш таблицы на уровне знает или нет. Если же человек знает stl то пробегался просто по stl со стандартными вопросами, но вопрос "Почему нельзя всегда использовать простой массив" задавал всегда :)
это на джуна?

/dev
22.03.2017
20:43:43
"да на херу я вращал ваши деревья" ?
вот! человек следует стандартным, проверенным практикой решениям! самое место в промышленной разработке!

Google
/dev
22.03.2017
21:06:41
А вообще UB
не, есть ieee-754

Evgeniy
22.03.2017
21:07:28
не, есть ieee-754
Да, для floating point, я забыл)

Антон
22.03.2017
21:37:10


Pavel
22.03.2017
21:40:22
норм)

Антон
22.03.2017
21:41:11
там должно быть так: stringpool.push_back(&((MPushsOp*)op)->str);

Alexander
22.03.2017
21:45:19
Evgeniy
22.03.2017
21:47:11
/dev
22.03.2017
21:49:57
приправь это reinterpret_cast
и ещё к void * по пути пару раз приведи

Gregory
22.03.2017
21:51:18
Что у нас тут? Конкурс: Ай какой я теперь незаменимый сотрудник на работе?

Антон
22.03.2017
22:00:23
Ты так думаешь?
работает же, все равно это временное решение, ибо оно приводит к утечке памяти

Pavel
22.03.2017
23:27:27
"сколько байт в килобайте"

вот в байте может быть 9 бит :)

Google
Anatoly
23.03.2017
01:23:44
А может и не быть

Mikhail
23.03.2017
06:15:48
это на джуна?
На разработчика

Kirill
23.03.2017
06:30:36
Мне понравилось когда давали код с нным количеством ошибок, говорили объяснить код по ходу чтения строчка за строчкой и параллельно исправить ошибки

Ты и показываешь знания и не пытаешься из памяти вытащить нужное слово)

А было дело я пришел на собеседку в 12 в ушел в 2 40 сам, сказав что сдаюсь и не буду больше решать задачи)

Притом задача например была такая, реализовать на бумажке type trait is_same. Я сделал через перегрузку. Гововюрят, ок, но сделайте подругому, я сделал через статическое приватное поле которое у одинаковых типов одно на двоих, мне говорят, хорошо, но мы хотим по другому

Kirill
23.03.2017
06:35:04
Хотели они через специализацию, но чтобы догадаться как хотел собеседующий, нужно было под часа решать задачу разными способами пока не угадаешь

Aleksei
23.03.2017
06:37:19
Вчера про const говорили. Мне кажется, это хороший вопрос. Много нюансов. Не обязательно рассказывать все, главное чтобы кандидат вообще его использовал. А то бывает, что const вообще нигде не пишут.

Kirill
23.03.2017
06:37:26
Плюс там же главное объяснить, почему вот так сделано плохо, а не сказать что говно, я бы сделал по другому)

Всмысле битовая и логическая

Aleksei
23.03.2017
06:39:07
Так я бы сам не ответил :)

Денис
23.03.2017
06:39:50
Да, почему выбрали нашу компанию бред. Но почему ушел с предыдущего норм вопрос я счиатю
Поддержу. Спрашивают про предыдущее место, чтобы понять - а стоит ли с этим специалистом иметь дело - если он уходит из-за того, что предыдущий руководитель пукнул случайно.

Kirill
23.03.2017
06:42:35
Ну конст метод может менять бытовое представление класса, но не менять его логически. Тоесть есть например класс который содержит данные и свое приватное поле для каких то промежуточных расчетов, чтобы в стеке его не дергать. данные мы не поменяли, а после вызова какого то метода поле типа temp поменялось, и вроде класс тот же. А побитово нет

Вот из этого и вылезает правильно ли кандидат использует конст мьютабл или нет

/dev
23.03.2017
06:43:53
Да даже в банальном вопросе: есть вектор из 100 даблов, найдите сумму — можно закопаться. Учитывая, что сумма не ассоциативна, и результат будет плавать от порядка суммирования и кучи других факторов, а от её результата может много другого зависеть (тесселяция, например), есть что обсуждать.

Anatoly
23.03.2017
06:44:25
Сломать с дуру многое под силу

Google
Anatoly
23.03.2017
06:45:53
Смотрел доклад по так называемому мета программированию. Отличный способ взорвать мозг у соискателя

Kirill
23.03.2017
06:48:11
Смотрел доклад по так называемому мета программированию. Отличный способ взорвать мозг у соискателя
Почему нет) у меня спрашивали. я отвечал, естественно никто Пипец сложных вещей не спросит, но делать один класс наследником другого исходя из рекурсивного разаорачивания шаблонов это норма на собеседованиях спрашивать

В итоге оно конечно никогда практически не пригодится, но это галочка, типо ты в этом разбирался, ты из наших)

Anatoly
23.03.2017
06:49:48
После чего все обнимаются

?

Kirill
23.03.2017
06:50:01
И танцуют)

Mikhail
23.03.2017
07:07:09
После чего все обнимаются
И лайкают друг друга на хабре

Anatoly
23.03.2017
07:29:06
Конечно, доклад можно скинуть

На трубе был

Evgeniy
23.03.2017
07:29:56
Конечно, доклад можно скинуть
Да интереснее, какие по твоему можно задать вопросы на собеседовании, чтобы взорвать мозг

Anatoly
23.03.2017
07:30:51
По всей теме. Слишком узкое направление

На мой скромный взгляд конечно

Evgeniy
23.03.2017
07:31:37
Ну один конкретный вопрос можно?)

Anatoly
23.03.2017
07:33:25
Да нет же, я совершенно не понимаю в этом.

Aldar
23.03.2017
07:36:59
Ну один конкретный вопрос можно?)
#include <utility> #include <type_traits> template<class, class = void> struct has_method_foo : std::false_type {}; template<class T> struct has_method_foo<T, std::void_t<decltype(std::declval<T>().foo())>> : std::is_same<decltype(std::declval<T>().foo()), int>::type { }; что делает и как работает?

Aldar
23.03.2017
07:41:36
да, но это и так понятно))

точнее метод foo

Evgeniy
23.03.2017
07:42:07
Google
Evgeniy
23.03.2017
07:43:45
да, но это и так понятно))
Если метода нет вообще, специализируется первая структура по SFINAE, если есть, то из сейм проверяет инт или нет

Vyacheslav
23.03.2017
08:46:24
Предполагаю, что Анатолий говорил про этот доклад https://www.youtube.com/watch?v=MbbOsKMA3rk про рефлексию в C++14

Vyacheslav
23.03.2017
08:54:13
возможно )

Dmytro
23.03.2017
09:23:52
драсте)

Anatoly
23.03.2017
10:05:33
Предполагаю, что Анатолий говорил про этот доклад https://www.youtube.com/watch?v=MbbOsKMA3rk про рефлексию в C++14
Спасибо, в точку. Валяюсь с 39С, не ищется ) извините ща подробность

Monday Begins on Saturday
23.03.2017
10:23:09
Привет, а могу я создать шаблон который будет выглядеть вот так: lock_space(object_mutex) { bool data = Obj.GetData(); calculate(data); }а на этапе компиляции преобразовываться в вот это: { std::lock_guard<std::mutex> lock(object_mutex); bool data = Obj.GetData(); calculate(data); }

Как-нибудь можно фигурные скобки и всё что внутри шаблону передать в аргументах?

Evgeniy
23.03.2017
10:24:47
Tema
23.03.2017
10:24:54
Плюшка
23.03.2017
10:25:00
ну можно сделать что-то вроде #define lock_space(x) std::lock_guard<std::mutex> lock(x)

Monday Begins on Saturday
23.03.2017
10:27:04
Всеравно непонятно как строки внутри передать. Я просто хочу от такого избавиться: // ... object_mutex->lock(); Data data = Obj.GetData(); calculate(data); object_mutex->unlock(); // ...

Google
Tema
23.03.2017
10:29:15
{ object_mutex(mylock); Data data = Obj.GetData(); calculate(data); }

Tema
23.03.2017
10:29:24
прост незабывай скоупы делать

новомодный

/dev
23.03.2017
10:29:44
{ object_mutex(mylock); Data data = Obj.GetData(); calculate(data); }
проблема будет, даю минуту подумать

mefest
23.03.2017
10:29:55
какой ещё
std::lock_guard

Tema
23.03.2017
10:30:04
проблема будет, даю минуту подумать
бла ну я внетрений код скоприровал

там разрулить просто

вынести обжэкт наружу

ну это мелочи

/dev
23.03.2017
10:30:38
бла ну я внетрений код скоприровал
оптимизатор может лок выкинуть

Tema
23.03.2017
10:31:00
я вот чот даж не уверен

mefest
23.03.2017
10:31:55
оптимизатор может лок выкинуть
разве? а на край тогда volatile

Anatoly
23.03.2017
10:35:39
оптимизатор ничего не выбросит

Страница 694 из 2477