Нельзя в сетевых сервисах падать от ненадёжного мира. Триста кривых клиентов пришло, процесс от них упал - и отвалились соединения ещё с миллионом. А восстанавливать их долго и дорого.
Go это язык, за который можно посадить среднего джуниора или миддла. Т.к. язык без сложных концепций, то они справятся, а т.к. сборка мусора и никаких навороченных возможностей, то в ногу себе не выстрелят. Очень удобно для компаний, которым надо подешевле пасти побольше разработчиков.
Обратной стороной являются те же сборка мусора и отсутствие навороченных возможностей. Приходится пользоваться одним молотком, потому что других инструментов нет.
"Будет ли это считаться кражей?" - да. Закон обязывает вас вернуть найденое имущество владельцу, или принять меры для его розыска. ГК РФ 227.2: "Если лицо, имеющее право потребовать возврата найденной вещи, или место его пребывания неизвестны, нашедший вещь обязан заявить о находке в полицию или в орган местного самоуправления."
"Сможете ли вы доказать" - это совершенно отдельный вопрос. Если не получается доказать, что вы вор, это ещё не делает вас честным человеком. Просто вы ловкий вор. Конкретно же в данном случае, с наличкой доказать получится разве что если переписать номера или пометить купюры, но вот блокчейн с удовольствием сохранит всю историю того, кому и когда вы продали украденое.
А зачем вам знать количество карт? Карты не надо нумеровать "1,2,3,4...". Если после воображаемой сортировки ряд будет "7,40,12345,999999,10000000", алгоритм сработает точно так же.
Поэтому можно взять любой ДСЧ, генерирующий числа от 0 до N и его использовать. Для большинства практических применений 2^64 вполне хватит с запасом.
Есть эквивалентный, но не требующий никакой арифметики алгоритм. Только ДСЧ и сравнения.
Каждый раз когда нам показывают карту, мы генерируем случайное число. Для первой карты просто забираем её и запоминаем это число. Для каждой следующей карты сравниваем числа у старой и новой карты. Оставляем ту, у которой число больше (или меньше, это неважно).
Это то же самое, что назначить каждой карте число, отсортировать их по возрастанию чисел (random shuffle), и взять первую. Несложно обобщается на выбор n карт: сравниваем новую карту с "минимальной" из уже выбраных и если у новой число больше - подменяем.
Было бы забавно, если бы практику найма программистов яндекс распространил на, скажем яндекс такси, как вам идея? Будущий таксист должен сдать "экзамен на права".
Это было бы очень хорошо для безопасности движения, но плохо для насыщения рынка таксистами. К счастью для компании, программистов яндексу надо гораздо меньше чем таксистов, и можно позволить себе гораздо больший отсев.
Нельзя в сетевых сервисах падать от ненадёжного мира. Триста кривых клиентов пришло, процесс от них упал - и отвалились соединения ещё с миллионом. А восстанавливать их долго и дорого.
"Ты не должен этого хотеть" (c) Яндекс
Позволю себе процитировать анекдот: "Ути какие мы оптимисты"
Всё вышеперечисленное может быть - и не сработать.
Сейчас вам расскажут про Теслу. Которая, правда, работает ну так... не везде и не всегда.
Я, кстати, сделал для своих поделок на STM32. Не так уж сложно.
Go это язык, за который можно посадить среднего джуниора или миддла. Т.к. язык без сложных концепций, то они справятся, а т.к. сборка мусора и никаких навороченных возможностей, то в ногу себе не выстрелят. Очень удобно для компаний, которым надо подешевле пасти побольше разработчиков.
Обратной стороной являются те же сборка мусора и отсутствие навороченных возможностей. Приходится пользоваться одним молотком, потому что других инструментов нет.
У микрософта платная еда в офисах. По крайней мере была, когда я там работал. У амазона еды не было вообще, поддерживайте местный малый бизнес.
Микрософт платит немного относительно другого бигтеха. Раньше это компенсировалось отсутствием увольнений, а теперь просто платят меньше :)
А разве не все так делают при каждой смене работы? Или вы первые полгода (в лучшем случае) работаете с нулевой отдачей?
"Будет ли это считаться кражей?" - да. Закон обязывает вас вернуть найденое имущество владельцу, или принять меры для его розыска. ГК РФ 227.2: "Если лицо, имеющее право потребовать возврата найденной вещи, или место его пребывания неизвестны, нашедший вещь обязан заявить о находке в полицию или в орган местного самоуправления."
"Сможете ли вы доказать" - это совершенно отдельный вопрос. Если не получается доказать, что вы вор, это ещё не делает вас честным человеком. Просто вы ловкий вор. Конкретно же в данном случае, с наличкой доказать получится разве что если переписать номера или пометить купюры, но вот блокчейн с удовольствием сохранит всю историю того, кому и когда вы продали украденое.
Ага, совсем как бренд Enron. Тоже дорогой, старая же компания, известная.
Ведь каждый раз с музейщиков получали обновлённый документ с ТЗ и доплату за доработки? Правда же получали, исполнитель же не дурак?
Другая книга на похожую тему: Algorithms to live by
https://www.goodreads.com/book/show/25666050-algorithms-to-live-by
А зачем вам знать количество карт? Карты не надо нумеровать "1,2,3,4...". Если после воображаемой сортировки ряд будет "7,40,12345,999999,10000000", алгоритм сработает точно так же.
Поэтому можно взять любой ДСЧ, генерирующий числа от 0 до N и его использовать. Для большинства практических применений 2^64 вполне хватит с запасом.
Попробуйте передать в качестве параметра absl::AnyInvocable. Внезапно, он не копируется.
Есть эквивалентный, но не требующий никакой арифметики алгоритм. Только ДСЧ и сравнения.
Каждый раз когда нам показывают карту, мы генерируем случайное число. Для первой карты просто забираем её и запоминаем это число. Для каждой следующей карты сравниваем числа у старой и новой карты. Оставляем ту, у которой число больше (или меньше, это неважно).
Это то же самое, что назначить каждой карте число, отсортировать их по возрастанию чисел (random shuffle), и взять первую. Несложно обобщается на выбор n карт: сравниваем новую карту с "минимальной" из уже выбраных и если у новой число больше - подменяем.
Это было бы очень хорошо для безопасности движения, но плохо для насыщения рынка таксистами. К счастью для компании, программистов яндексу надо гораздо меньше чем таксистов, и можно позволить себе гораздо больший отсев.
Вот я и говорю, хорошо вам там живётся в 2020 году.
Вряд ли же предложение в смысле job offer. Скорее письмо от рекрутера с заманиванием поговорить. Это две большие разницы.
Как вам там живётся, в 2020 году? Готовьтесь, скоро рынок ждут большие потрясения.