Сравнение строк может быть очень длинным. А в случае открытой адресации у нас возможна ситуация, что данные лежат в "чужом" бакете и чтобы понять что это оно надо сравнивать ключи (ну или где-то рядом прикапывать полный хеш)
А если вам надо обработку петабайтов данных, вы разворачиваете пачку инстансов и вам говорят "а нету" (квота превышена). И всё. Надо просить повысить квоту. А с той стороны логично говорят, что надо бы поучаствовать финансово. Так как простаивающие 75% времени сервера никому не нужны.
Облако имеет ещё и ограничение сверху, это тоже надо не забывать. Такое большое облако как AWS имеет большое ограничение, но не бесконечное.
Кажется, что этот FizzBuzz устойчив к LLM (ChatGPT, DeepSeek), потому что условия не чёткие, выдаются не сразу и при этом есть зависимость от прошлых решений (нельзя менять язык) Ждём что-то подобное у нас на собеседованиях
Тогда нельзя сравнивать нескольких кандидатов. Вдруг кусок кода был идеален? Например, наконец то можно удалить эту ужасную ручку и 100500 строк про неё.
Степени двойки (в том числе отрицательные) представляются точно. И получить в рассчётах точно одну вторую (поделить один на 2) - запросто.
Округлять надо так, чтобы последней цифрой не было 5. 1.45 округляется до 1.0 Но если сделать в два округления, по разрядам, то будет 1.45 -> 1.5 -> 2.0 А если математически округлять, то будет 1.45 -> 1.4 -> 1.0
Вы заменили алгоритмическую задачу на задачу-квиз. Которую легче выучить чем алгоритмическую и сложнее до неё дойти в процессе решения. Хотя такой способ интервью тоже есть
Меня на многих собеседованиях спрашивали вопросы из условно 3-х категорий:
алгоритмические задачи (простые) которые редко будут встречаться в жизни
квизы про язык "что выведет этот код", но такие кусочки кода которые ни за что не пройдут code review
"давайте спроектируем твиттер". Ага, вот так ваш CTO, 2 архитектора, 5 аналитиков и 10 синьёров дадут проектировать новую огромную систему новичку в одно лицо.
Ну и по фактическим ошибкам:
const f = (x) => Math.floor(x + 0.5)математически не верно, 2.5 округляется до 2.0 а не до 3.0 В комментах есть решения, которые учитывают этот факт
Для скриптовых языков у меня железное правило "есть встроенная функция - используй её и ни в коем случае не делай руками". Потому что авторы языка/библиотеки мало того что подумали над алгоритмом, так ещё и некоторые оптимизации могут применить. У них преймущество x10 всегда. Опередить их можно только если они ступили
Leetcode пишется именно так. Можно же было проверить, известный сайт
На Leetcode нет задач на вращение дерева. Вообще нет. Ни одной нет. Есть несколько на суффиксный массив, на хеши (в том числе кольцевые), на Фенвика, на Trie, на дерево отрезков. Есть пара на сортировку (надо оценить количество шагов при сортировке вставками). На "сделай мне красно-чёрное дерево, кучу, хешмапу" задач нет. Есть библиотеки с этим делом и ими можно (иногда нужно) пользоваться
Программисты перестали приходить на собеседование. Сварщики бы сильно матерились, если бы нанимали сварщиков по телефону, а у нас это норма жизни... Когда я реально ходил на собесы (или ко мне ходили) сплошь и рядом было "вот тебе ноут, реши проблему". Хочешь гуглить - гугли, заодно я посмотрю как ты это делаешь. Но сейчас в лучшем случае камера на лицо. И в природе есть ChatGPT.
Кстати, отревьювить кусок кода популярная задачка на собесах, вот только "чистый код" понятие не абсолютное, тут получается субъективная оценка.
ФААНГи большие. Их мало, но разработчиков там очень много. Жизнь длинная, каждый может попасть в крупную компанию, особенно если это "хорошая строчка в резюме", то можно раз вложиться в собесы и заиметь эту строчку. Текучка большая... Так что если вам сейчас крупняк не нужен, то это не значит, что он не понадобится в будущем
PS Или завтра вам не объявят, что ваш новый CEO теперь Вася Пупкин, он аж 15 лет проработал в ФААНГе! Угадайте в какую сторону будут смещаться собесы
Вопрос в том, что подобный козёл и про ваш github напишет недоброе, и разговор "по душам" будет в виде плевков в душу.
Способ борьбы известен, 4 козла и усреднённая оценка по кандидату. И статистика по собеседующим, если один идёт "не в ногу", то его не звать. Но тогда собесы должны быть короткими и дешёвыми, час в пределе. А тут лучше алгособесов придумали только алгосоревнования...
Утверждаю, что слова "нация", "пост" - заимствованные. Так же как и "эйджизм" и "сайдгрейд". Заимствование слов из другого языка - норма. Есть новое явление - должно быть и название в языке. Заимствованное слово выглядит инородным, зато не будет конфликтов с другими словами и понятиями.
PS Кажется вы неправильно понимаете значение слова "нация". Нация вполне может заимствовать хоть целый язык, не то что слова.
Если учесть, что в куче мелких пекарен "свежевыпеченный хлеб" ещё 30 минут назад был заморозкой в морозилке... Интересно, где они готовят эту заморозку, и нет ли где-то заводика на 1000 тонн замороженного хлеба в сутки. А эту заморозку уже развозят по всем мелким пекарням
Кстати, очень хорошая схема, горячий вкусный хлеб за 20 минут. А до этого может месяцами храниться. И выпускать можно на гигантском заводе с его дешевизной производства
И мапа, и два указателя с предварительной сортировкой довольно устойчивы к изменению условий. Надо три страницы - делается 3. Надо 2 в один день и 3-ю в другой - тоже делается. И код будет не сильно длиннее текстового описания задачи
То есть примерно столько же сколько и "PostgreSQL, MinIO, Nginx потребляли до 30 Мб оперативной памяти каждый" Понятно, что nodejs это про скорость разработки и унификацию, а не про экономию памяти... Но у автора то цель - простой сервис и минимум памяти
А тут вообще весело. Рекрутируют яндексы как напрямую, так и через агентсва ,а т.к. я уже общался с яндексовыми эйчарами напрямую, то соотвественно всех агентам писал "нет спасибо, яндекс сам мне пишет". Штук 20 таких рекрутеров за пару месяцев отфутболил.
Вот же она причина этих странных собеседований. Вы же не хотите штук 20 рекрутеров параллельно из одной конторы, а большие конторы нанимают много.
Поэтому вас и прогоняют через стандартный фильтр со стандартной оценкой. И потом эту оценку показывают всем командам и уже они ещё раз проводят уже нормальное собеседование (с предполагаемым начальником и его начальником) Вы просто не дотянули до этого момента.
Схема массового найма в большие компании вот такая странная, но она такая из-за их размера. Альтернатива 10 собеседованиям от Яндекса - 20 собеседований с разными командами Яндекса по часу.
Тот кто придумает и протолкнёт схему получше - озолотиться
Нет. Есть немного задач, где обычных бинарных не хватает. Есть на Фенвика, который пишется слёту. Но штук 10-15 я решал именно красно-чёрными. В язык Go поставлена внешняя либа с деревьями. И в Python подтянута внешняя либа с хитрой структурой (которая в каком-то смысле эквивалент сбалансированных деревьев)
Совсем небольшие. Пока вы не делаете вызовы в ядро всё равно в контейнере вы или на голом железе. А ядро вообще то же самое что и на голом железе. Ну добавится капелька проверок на namespace (хотя она и на голом железе должна быть). По диску получается чуть побольше, потому что вы тянете свою копию библиотек, но это тоже копейки, видел кучу проектов где статическая линковка (все библиотеки зашивают в исполняемый файл).
Собственно поэтому с контейнерами и носятся, можно же вообще образ виртуалки таскать, будет безопаснее, но там эмуляции побольше и расходов уже процентов 30 (не помню откуда в голове эта цифра, можно ей не верить)
Вот как они программу на плюсах написали в 6 раз медленнее чем на Mojo? И даже TensorFlow в 3 раза обогнали?!
Нет, я могу написать даже на питоне программу быстрее чем на C. Только это будет плохая программа на C :) Или у них ошибка в бенчмарках, или программа на C/C++ немного не оптимизирована
Сравнение строк может быть очень длинным. А в случае открытой адресации у нас возможна ситуация, что данные лежат в "чужом" бакете и чтобы понять что это оно надо сравнивать ключи (ну или где-то рядом прикапывать полный хеш)
Возможно, в тексте статьи есть ответ... Но тогда же надо прочитать статью!
А задача заноса тоже нерешаема.
Блок санузла ставится краном и потом накрывается перекрытием, тоже краном.
Разбирать весь дом в обратном порядке...
А если вам надо обработку петабайтов данных, вы разворачиваете пачку инстансов и вам говорят "а нету" (квота превышена). И всё. Надо просить повысить квоту. А с той стороны логично говорят, что надо бы поучаствовать финансово. Так как простаивающие 75% времени сервера никому не нужны.
Облако имеет ещё и ограничение сверху, это тоже надо не забывать. Такое большое облако как AWS имеет большое ограничение, но не бесконечное.
Кажется, что этот FizzBuzz устойчив к LLM (ChatGPT, DeepSeek), потому что условия не чёткие, выдаются не сразу и при этом есть зависимость от прошлых решений (нельзя менять язык)
Ждём что-то подобное у нас на собеседованиях
Тогда нельзя сравнивать нескольких кандидатов. Вдруг кусок кода был идеален? Например, наконец то можно удалить эту ужасную ручку и 100500 строк про неё.
Степени двойки (в том числе отрицательные) представляются точно. И получить в рассчётах точно одну вторую (поделить один на 2) - запросто.
Округлять надо так, чтобы последней цифрой не было 5.
1.45 округляется до 1.0
Но если сделать в два округления, по разрядам, то будет 1.45 -> 1.5 -> 2.0
А если математически округлять, то будет 1.45 -> 1.4 -> 1.0
Вы заменили алгоритмическую задачу на задачу-квиз. Которую легче выучить чем алгоритмическую и сложнее до неё дойти в процессе решения. Хотя такой способ интервью тоже есть
Меня на многих собеседованиях спрашивали вопросы из условно 3-х категорий:
алгоритмические задачи (простые) которые редко будут встречаться в жизни
квизы про язык "что выведет этот код", но такие кусочки кода которые ни за что не пройдут code review
"давайте спроектируем твиттер". Ага, вот так ваш CTO, 2 архитектора, 5 аналитиков и 10 синьёров дадут проектировать новую огромную систему новичку в одно лицо.
Ну и по фактическим ошибкам:
const f = (x) => Math.floor(x + 0.5)математически не верно, 2.5 округляется до 2.0 а не до 3.0 В комментах есть решения, которые учитывают этот фактДля скриптовых языков у меня железное правило "есть встроенная функция - используй её и ни в коем случае не делай руками". Потому что авторы языка/библиотеки мало того что подумали над алгоритмом, так ещё и некоторые оптимизации могут применить. У них преймущество x10 всегда. Опередить их можно только если они ступили
Leetcode пишется именно так. Можно же было проверить, известный сайт
На Leetcode нет задач на вращение дерева. Вообще нет. Ни одной нет.
Есть несколько на суффиксный массив, на хеши (в том числе кольцевые), на Фенвика, на Trie, на дерево отрезков. Есть пара на сортировку (надо оценить количество шагов при сортировке вставками). На "сделай мне красно-чёрное дерево, кучу, хешмапу" задач нет. Есть библиотеки с этим делом и ими можно (иногда нужно) пользоваться
Программисты перестали приходить на собеседование.
Сварщики бы сильно матерились, если бы нанимали сварщиков по телефону, а у нас это норма жизни...
Когда я реально ходил на собесы (или ко мне ходили) сплошь и рядом было "вот тебе ноут, реши проблему". Хочешь гуглить - гугли, заодно я посмотрю как ты это делаешь.
Но сейчас в лучшем случае камера на лицо. И в природе есть ChatGPT.
Кстати, отревьювить кусок кода популярная задачка на собесах, вот только "чистый код" понятие не абсолютное, тут получается субъективная оценка.
ФААНГи большие. Их мало, но разработчиков там очень много.
Жизнь длинная, каждый может попасть в крупную компанию, особенно если это "хорошая строчка в резюме", то можно раз вложиться в собесы и заиметь эту строчку.
Текучка большая...
Так что если вам сейчас крупняк не нужен, то это не значит, что он не понадобится в будущем
PS Или завтра вам не объявят, что ваш новый CEO теперь Вася Пупкин, он аж 15 лет проработал в ФААНГе! Угадайте в какую сторону будут смещаться собесы
Вопрос в том, что подобный козёл и про ваш github напишет недоброе, и разговор "по душам" будет в виде плевков в душу.
Способ борьбы известен, 4 козла и усреднённая оценка по кандидату. И статистика по собеседующим, если один идёт "не в ногу", то его не звать.
Но тогда собесы должны быть короткими и дешёвыми, час в пределе. А тут лучше алгособесов придумали только алгосоревнования...
Утверждаю, что слова "нация", "пост" - заимствованные. Так же как и "эйджизм" и "сайдгрейд".
Заимствование слов из другого языка - норма. Есть новое явление - должно быть и название в языке. Заимствованное слово выглядит инородным, зато не будет конфликтов с другими словами и понятиями.
PS Кажется вы неправильно понимаете значение слова "нация". Нация вполне может заимствовать хоть целый язык, не то что слова.
Да. УК РФ 238 часть 2 оказание услуг, не отвечающих требованиям безопасности жизни или здоровья потребителей
https://www.consultant.ru/document/cons_doc_LAW_10699/bc5d3aade4df6fc1ea563ba409c7cb6f6108be59/
Такси лицензируемая услуга.
Есть случаи когда заводили уголовку за перевозку ребёнка без кресла
Если учесть, что в куче мелких пекарен "свежевыпеченный хлеб" ещё 30 минут назад был заморозкой в морозилке...
Интересно, где они готовят эту заморозку, и нет ли где-то заводика на 1000 тонн замороженного хлеба в сутки. А эту заморозку уже развозят по всем мелким пекарням
Кстати, очень хорошая схема, горячий вкусный хлеб за 20 минут. А до этого может месяцами храниться. И выпускать можно на гигантском заводе с его дешевизной производства
И мапа, и два указателя с предварительной сортировкой довольно устойчивы к изменению условий.
Надо три страницы - делается 3. Надо 2 в один день и 3-ю в другой - тоже делается.
И код будет не сильно длиннее текстового описания задачи
То есть примерно столько же сколько и "PostgreSQL, MinIO, Nginx потребляли до 30 Мб оперативной памяти каждый"
Понятно, что nodejs это про скорость разработки и унификацию, а не про экономию памяти...
Но у автора то цель - простой сервис и минимум памяти
Вот же она причина этих странных собеседований. Вы же не хотите штук 20 рекрутеров параллельно из одной конторы, а большие конторы нанимают много.
Поэтому вас и прогоняют через стандартный фильтр со стандартной оценкой. И потом эту оценку показывают всем командам и уже они ещё раз проводят уже нормальное собеседование (с предполагаемым начальником и его начальником)
Вы просто не дотянули до этого момента.
Схема массового найма в большие компании вот такая странная, но она такая из-за их размера. Альтернатива 10 собеседованиям от Яндекса - 20 собеседований с разными командами Яндекса по часу.
Тот кто придумает и протолкнёт схему получше - озолотиться
Нет. Есть немного задач, где обычных бинарных не хватает.
Есть на Фенвика, который пишется слёту. Но штук 10-15 я решал именно красно-чёрными. В язык Go поставлена внешняя либа с деревьями. И в Python подтянута внешняя либа с хитрой структурой (которая в каком-то смысле эквивалент сбалансированных деревьев)
Совсем небольшие. Пока вы не делаете вызовы в ядро всё равно в контейнере вы или на голом железе.
А ядро вообще то же самое что и на голом железе. Ну добавится капелька проверок на namespace (хотя она и на голом железе должна быть).
По диску получается чуть побольше, потому что вы тянете свою копию библиотек, но это тоже копейки, видел кучу проектов где статическая линковка (все библиотеки зашивают в исполняемый файл).
Собственно поэтому с контейнерами и носятся, можно же вообще образ виртуалки таскать, будет безопаснее, но там эмуляции побольше и расходов уже процентов 30 (не помню откуда в голове эта цифра, можно ей не верить)
Вот как они программу на плюсах написали в 6 раз медленнее чем на Mojo?
И даже TensorFlow в 3 раза обогнали?!
Нет, я могу написать даже на питоне программу быстрее чем на C. Только это будет плохая программа на C :)
Или у них ошибка в бенчмарках, или программа на C/C++ немного не оптимизирована