|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
Eugene Newлибо ошибку времени выполнения Divide by zero было бы самое то Eugene Newлибо NaN В int нет NaN Но процессоры поступают проще: https://web.itu.edu.tr/kesgin/mul06/intel/instr/neg.html Subtracts the destination from 0 and saves the 2s complement of dest back into dest. Думаю в ASM'е в этом случае флаг переноса устанавливаетя. А в Java, как высокоуровневом языке, его просто проигнорировали и получили такой "эффект". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2018, 14:48 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
WGA, Это ж как должно повезти, чтобы на практике встретился хэш 0x80000000? Если неприятность может случится, она происходит. Закон Мэрфи. Leonid Kudryavtsev, Divide by zero было бы самое то Не понял. Проглотило бы без ошибки деление на ноль? В int нет NaN Точно, я затупил. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2018, 16:04 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
Eugene NewНе понял В том плане, что это единственная арифметическая ошибка в процессорах сейчас Но в процессоре, скорее всего, ошибки ни потери точности нет. Скорее всего будет установлен флаг переноса, а дальше его корректно обработать - задача программиста. 1) Можно было бы арифметику делать на singed long 2) Или с hash'ем работать как с unsigend: через бинарные маски или через https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html#remainderUnsigned-int-int- (Java 1.8) Math.Abs и математика над Hash'ами - даром не нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2018, 17:01 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
WGAAlexey Tomin, Это ж как должно повезти, чтобы на практике встретился хэш 0x80000000? Неужели таки "выстрелило"?.. Да, выстрелило. Там не проблема- это DMP, новые данные валяться непрерывно тысячами в секунду. У нас другая бага выстрелила- приложение при старте посылает сигнал регистрации в единую систему авторизации. Бага была в том, что если от двух приложений сигнал придёт в одну милисекунду то будет ошибка. А стартуют приложения- ну 1000 в день в самом крайнем случае. Так один тестировщик поймал эту багу. Хорошему тестировщику теория вероятности не помеха Я час логи читал, пока не догадался ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2018, 08:10 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevНо процессоры поступают проще: https://web.itu.edu.tr/kesgin/mul06/intel/instr/neg.html Subtracts the destination from 0 and saves the 2s complement of dest back into dest. Думаю в ASM'е в этом случае флаг переноса устанавливаетя. А в Java, как высокоуровневом языке, его просто проигнорировали и получили такой "эффект". Экономят на тактах процессора. Постоянно флаг переполнения проверять- дорого. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2018, 08:11 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
Alexey TominДобрый день! Вот пулл-реквест в рабочий код: Fix ArrayIndexOutOfBoundsException Было: Код: sql 1. 2.
Стало: Код: sql 1. 2.
Вот вроде нафиг не надо знать эту странную багофичу abs, а вот выстрелила... проект убила или кандидата? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2018, 08:34 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
Luchokпроект убила или кандидата? Бага и фикс. Не критично. У нас не атомная станция, а реклама. Не показали баннер- ну что ж ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2018, 12:26 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
Alexey Tomin, богатая неделя на ArrayIndexOutOfBoundsException, я в касандре вон нашел, что integer переполнился при сложении https://issues.apache.org/jira/browse/CASSANDRA-14773 , хвала аллаху что пока в версии которая никогда не была зарелизена(официально). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2018, 19:06 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
Alexey TominWGAAlexey Tomin, Это ж как должно повезти, чтобы на практике встретился хэш 0x80000000? Неужели таки "выстрелило"?.. Да, выстрелило. Там не проблема- это DMP, новые данные валяться непрерывно тысячами в секунду. У нас другая бага выстрелила- приложение при старте посылает сигнал регистрации в единую систему авторизации. Бага была в том, что если от двух приложений сигнал придёт в одну милисекунду то будет ошибка. А стартуют приложения- ну 1000 в день в самом крайнем случае. Так один тестировщик поймал эту багу. Хорошему тестировщику теория вероятности не помеха Я час логи читал, пока не догадался 1:2^32/2 шанс. жесть какая. да хоть 1000 раз стартуй на дню. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2018, 23:13 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
не совсем понял сентенции на предмет тонкостей и спрашивания на собеседовании кейса в топике. т.е. вы полагаете, что вас взяи на работу случайно и по ошибке? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2018, 23:18 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
andreykaT, 1:2^32/2 шанс. жесть какая. да хоть 1000 раз стартуй на дню. Огласите, пожалуйста, свою методику подсчета шансов. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2018, 23:48 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
Сорян, двойка лишняя ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2018, 23:51 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
andreykaTне совсем понял сентенции на предмет тонкостей и спрашивания на собеседовании кейса в топике. т.е. вы полагаете, что вас взяи на работу случайно и по ошибке? Да это не мой код- не я писал, не я правил. И вообще это шутка была. Просто есть дискуссия на тему того, надо ли знать про размер кэша Integer, про такое поведение abs, про способ хранения элементов с коллизиями хэша в HashMap. На самом деле собеседование - это поиск границ знания и понимания человека. И если человек на все вопросы знает ответы- то тут что-то неправильно- либо собеседует слишком слабый технарь, либо вопросы не умеет задавать. У нас работает несколько разработчиков, которые после собеседования выходили со словами "да я ничего не знаю, оказывается", а потом получали офер на запрошенную сумму ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2018, 07:09 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
применительно к теме.. ну типа все что тут обсуждают что я на сейм пейдж.. речь о том что абс возвращает минусовое значение при передаче минимального инта, верно? )) ну так ёу, это ж классика тестирования проверять методы на пограничных значениях. по-идее правильный тест должен был это выкусить. вот. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2018, 10:39 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
andreykaTприменительно к теме.. ну типа все что тут обсуждают что я на сейм пейдж.. речь о том что абс возвращает минусовое значение при передаче минимального инта, верно? )) ну так ёу, это ж классика тестирования проверять методы на пограничных значениях. по-идее правильный тест должен был это выкусить. вот. Тестировать функцию, раскладывающую объекты по партициям на пограничное значение хэша объекта? Нет, мы ещё не параноики. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2018, 12:32 |
|
А вы говорите, зачем тонкости на собеседовании спрашивать...
|
|||
---|---|---|---|
#18+
ну.. давай так.. может быть объект... с криво написанным хэшем... ты его используешь как отправную точку. я понимаю канеш что есть психи кто геттеры и сеттеры тестируют. но такую хитро выкрашенную функцию потестить на что-нибудь этакое - это сам боженька велел. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2018, 13:06 |
|
|
start [/forum/topic.php?fid=59&msg=39708058&tid=2121761]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 151ms |
0 / 0 |