Fizzbuzz

Dec. 10th, 2020 06:33 pm
elglin: (Default)
[personal profile] elglin
Сегодня на собесе человек с плюсАми в резюме запоролся на сабже. Не, я понимаю, что на заборе тоже написано, а там доски.
Но я вслед за товарищем Спольским считаю, что практикующий программист должен на своем активном языке физзбазз написать за пару минут. Окей, за пять минут, из которых три он будет пытаться понять, зачем его заставили писать эту фигню.
Но не пишут же! Путаются в if-ах. Не могут написать цикл (!). И вот при этом люди рассказывают про то, что в анамнезе было дописывание чего-то на дельфи, или какая веб-приложенька или еще что. И вряд ли брешут.

Вот я и думаю, прав ли я со своим физзбаззом. С одной стороны, любой человек, умеющий придумать и запрогать алгоритм, должен суметь в физзбазз. Но, может, сейчас это уже излишне? Может, стоит попуститься и не мучать людей задачей на один цикл и три if-а? Может, сейчас уже всякие фреймворки дошли до того, что можно писать годный работающий код и вообще не мучаться вопросом, как что-то сделать?
С другой вот стороны, как только ты начинаешь решать какую-то задачу сложнее, чем "пять строчек шелла", то у тебя сразу начинают вылезать конечные автоматы, очереди, графы, структуры данных и вся прочая унылая, но нужная теория из соответствующих курсов. Помню, было очень обидно изобрести jump table чуть раньше, чем про нее прочитал.
Вот и сижу я такой умный в когнитивном диссонансе.

(no subject)

Date: 2020-12-10 03:58 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Скальщики удивляются, зачем там ифы. (n%3,n%5) match { case ... }

Но дело не в этом. А дело в том, что действительно количество людей, способных ПРОСТО ПИСАТЬ КОД, очень незначительно. Большинство передирает, с трудом продираясь. Писать код с нуля - редкое свойство.

Why Can't Programmers.. Program?

Edited Date: 2020-12-10 04:00 pm (UTC)

(no subject)

Date: 2020-12-11 04:37 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Фибоначчи я люблю; зададут такие, думают, о, мы крутые, а он лох - а я им или через матрицу, или формулу. Через матрицу же логарифмическая сложность.

(no subject)

Date: 2020-12-20 12:57 pm (UTC)
drraug: (Default)
From: [personal profile] drraug
ну ты чего? диагонализуй её перед возведением в степень. Для фибоначчи это можно на бумажке сделать даже, там просто аналитическая формула получается. Это первый курс, ну максимум второй.

(no subject)

Date: 2020-12-20 01:10 pm (UTC)
drraug: (Default)
From: [personal profile] drraug
Ну ты прав конечно, формально, но округление - это не такая уж и проблема. ты же знаешь, что в итоге ответ целочисленный. И тут ещё вопрос, а что ты вообще хочешь в качестве ответа, если он не лезет в стандартный long long int? ты же наверное хочешь эмулировать arbitrary precision arithmetic для интов? Ну так возьми тот же эмулятор (gmp наверное) и эмулируй им arbitrary precision arithmetic для floats. Все нормуль будет ))

(no subject)

Date: 2020-12-20 01:20 pm (UTC)
drraug: (Default)
From: [personal profile] drraug
как какая? точно такая же как в IEEE, только мантисса длиннее. Но поскольку процессор нативно поддерживает только 64 или 128bit, то эмулируем всю нужную арифметику на уровне библиотеки. Библиотека уже давно есть, ну gmp та же.

Ну come on. Мне уже кажется, что проще написать, чем объяснить как. Но я к сожалению совсем забыл, как писать на Си, а ты наверное не захочешь читать код на фортране?

Ты не можешь остаться в станданртной интовой арифметике, потому что при N>40 кажется у тебя уже будет int overflow.

(no subject)

Date: 2020-12-11 07:03 pm (UTC)
scif_yar: (Default)
From: [personal profile] scif_yar
>>раньше его место занимало вычисление N-ого числа Фибоначчи, разжалованное за излишнюю сложность).
-
лолшто ?

(no subject)

Date: 2020-12-11 07:39 pm (UTC)
scif_yar: (Default)
From: [personal profile] scif_yar
бле.
а у меня другой прикол. Приходят ко мне соседи - говорят некая прога тормозит, чо там у вас в инфре?
Я повтыкал в варю, ну говорю вот тут ваш приклад весь проц сожрал, но накинем, а вот на вашей бд - в инфре все збс, что там выше в БД - не знаю. Пришел шеф, он так то дба - у вас говорит родные таблица залочена уже часов (ЧАСОВ!) несколько и роллебек висит, вы какого чуда хотите вообще? Как оно у вас вообще работает то?
те почесали репы и пошли разбираться.

И это не 1с, там все мрачно.

(no subject)

Date: 2020-12-20 01:02 pm (UTC)
drraug: (Default)
From: [personal profile] drraug
я продолжаю не понимать, как эта отрасль вообще существует. Единственное объяснение - экспоненциальный рост числа клиентов, при котором деньги приходят так быстро, что у кормушки места хватает всем

(no subject)

Date: 2020-12-20 01:15 pm (UTC)
drraug: (Default)
From: [personal profile] drraug
нет, вообще программирование как отрасль индустрии. Во эта вот где люди получают 100500 за год, но не могут делать то, что они как бы нанялись делать.

Автомеханики не получают 100500, понимаешь в чем дело. Они сидят в той же финансовой нише, что и учителя, строители, водители поезда метро - обычные люди. А программеры получают как юристы или политики - патриции нового времени. И как бы это ОК для тех, что может прогать, потому что программки оч нужны, это я понимаю. Но как существуют эти 199 из 200 программеров которые не умеют прогать совсем, как индустрия ползёт с этим балластом?

(no subject)

Date: 2020-12-10 07:10 pm (UTC)
scif_yar: (Default)
From: [personal profile] scif_yar
я даже вводной не помню.

(no subject)

Date: 2020-12-10 08:46 pm (UTC)
brmail: (Default)
From: [personal profile] brmail
не смейтесь - я только что узнал про такую игру - fizzbuzz, и погуглив нашел ее правила. Думаю, что вопрос на интервью, написать код для физбазз, случись такое вчера, вызывал бы у меня сильное недоумение, что это такое и с чем его едят.
Что касается интервью, и вообще о чем сегодня спрашивать на нем - проси написать простейшую функцию возвращающую факториал числа. Через рекурсивный вызов. Если человек спросит что такое факториал, рекурсия, или не сможет написать такое - можно гнать сразу.
Мне персонально никакие графы и десять способов быстрой сортировки массивов за 25+ лет программизма не пригодились не разу. Но я не исключаю, что полно работы, такой, где эти графы действительно нужны дозарезу.
Edited Date: 2020-12-10 08:51 pm (UTC)

(no subject)

Date: 2020-12-11 07:04 pm (UTC)
scif_yar: (Default)
From: [personal profile] scif_yar
>>Мне персонально никакие графы и десять способов быстрой сортировки массивов за 25+ лет программизма не пригодились не разу. Но я не исключаю, что полно работы, такой, где эти графы действительно нужны дозарезу.
-
stp и прочий ospf. Графы и прочий обход.
Edited Date: 2020-12-11 07:04 pm (UTC)
Page generated Feb. 27th, 2026 04:44 am
Powered by Dreamwidth Studios