Re[4]: И вот feedback от них и мои им ответы
От: 0xCAFEDEAD  
Дата: 09.03.19 03:50
Оценка:
Здравствуйте, arth, Вы писали:

A>Здравствуйте, 0xCAFEDEAD, Вы писали:


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


CAF>>Честно говоря, по американским меркам, ты им посто нахамил. Думаю, что можно списать на разницу культур, учитывая общий уровень англ. — но вообще это просто жесть.


A>а при чем здесь америка? может они из австралии? а по факту русские пацаны из питера

Я написал для примера.
Раз уж у тебя собеседование на англ., то и культуру в конторе перенимают оттуда скорее всего.


CAF>>Ксати в дискусси на форуме нет смысла особенно препираться, это тебе с работой не поможет. Твоя задача, не нас уюедить, а понять что у тебя не так. Лучше подумай почему люди тебя не понимают.


A>откуда ты знаешь какая у меня задача? может мне тут пободаться в кайф и работа мне вообще не нужна?


Да видимо так и есть.

A>>>The solution is no concurrency safe — transaction is not atomic

A>>> me — there is no explicit requirement and actually basic
A>>>transaction (add) is atomic. There is no race conditions. Atomicity of
A>>>_transfer_ is required if we don't want to loose data — but here there
A>>>is no such problem since we don;t store anything between sessions.

CAF>>Не поленился — посмотрел, но синхронизации я не нашел. Поясни, как она делается, и это самое атомисити достигается.

CAF>>Транзакии/аккаунт — классические пример для синхронизации. И да, для сервиса — это и так понятное требование.

A>ConcurrentHashMap.merge — атомарен. Строго говоря для совершения транзакции должно соблюдаться три условия:

A>1 атомарное дебетирование источника
A>2 атомарное кредитование получателя
A>3 предшествование первого второму

A>атомарность всей транзакции — необязательна. я могу сначала списать 2 суммы с одного и того же счета а уже потом перевести их на другие. тут гранулярность не на уровне

A>перевода со счета на счет, а на уровне изменения баланса аккаунта

У тебя даже ее нет, я это имел ввиду. У тебя если 2 запроса одновременно работают с одним аккаунтом, то все может быть

Проверил хватает ли денег в первой транзакциии, затем вьорая все списала, и вот ты в минусе
Нужен лок на всю операцию по аккаунту.
A>единственный вопрос тут может быть к #3 из-за возможного reordering'a инструкций и отсутствия явных memory barriers. но я думаю и тут все чисто
Не barriers, a fences. И причем тут они?
A>и тут уже не один раз мешали все в кучу — атомарность, потокобезопасность, concurrency, синхронизация.
A>это все разные вещи.
А причем тут я?

A>>>Insufficient testing coverage

A>>>nothing to say. It's 6hrs test. Not 40hrs
CAF>>в принципе тут просто более внятно надо ответить было, и все
CAF>>хотя я бы тесты вместе с интерфесами нахерачил, а потом имплементацию лепил

A>>>If we transfer negative amount money, author don’t throw exceptions, it takes abs value of this amount and transfer positive amount of money.

A>>>transferring negative amount is something which is odd. So it's a
A>>>convention. It either has to be documented or exception should be
A>>>thrown. So I partially agree.
CAF>>ну это вообще саботаж какой-то, кмк

A>я в ветке уже несколько раз отвечал.

Я видел, но мнение высказал. Это ошибка, и очень груюая.
A>>>Author don't know how to catch exceptions in junit
A>>>minor. Nothing to add.
CAF>>мдааа

A>я вообще не очень понимаю суть претензий от них. ты вот мне можешь вместо "мдааа" написать в чем косяк?

Мдаа по поводу ответа. Вот спросил бы у них, что им не нравится.

A>>>Procedure of transferring money is not clear and difficult to support

A>>>no comment.
CAF>>Сложность — понятие нескольно субъективное, но да. Пишешь не очень понятно местами. Кучка разбрсанных мелких классов,

A>о ужас, разбросанные по именованным модулям мелкие классы. очень обще, давай конкретику


На кой она тебе? Я же говорю, не особо понятно пишеш. В маленком проекте все ок, а в большом не знаю что будет

A>>>Poor documentation — there is no specifications of endpoints, how to build a project

A>>>KL — there is a README. And there is a build.gradle. It's kind of
A>>>misunderstanding what we expect from 6hrs test.

CAF>>Вот кстати, уже более внятное объяснение. К концы начало получаться немного.


A>ну мне не 15 лет чтобы хотеть всем нравиться


Причем тут это?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.