Pull to refresh

Comments 16

Но как научиться догадываться до таких вещей

опыт подсказывает, что примерно никто без матобразования не умеет догадываться до эффективных решений с такими префиксами. Всякие radix sort из той же оперы.

реальность подсказывает что либо алгоритмы не нужны либо должен быть способ научится их решать быстрее чем за 4-6 лет жизни

этот способ давно найден, называется - библиотека, я уже в 80-е пользовался.

самостоятельно могу написать только сортировку пузырьком, больше не знаю ничего (когда-то знал, но успешно забыл за ненадобностью)

Вы помните то что учили в вузе или только то чем занимаетесь каждый день? Я со школы и вуза помню только "квадрат гипотенузы равен сумме квадратов катетов" и "как использовать дискриминант". Из языков программирования что я изучал за всю жизнь помню только C# на уровне Hello world, просто потому что я на нем писал немного года три назад. Все остальные языки не помню совершенно, кроме базовых конструкций. Когда-то даже прочитал книжку по питону и сделал кучу уроков, написал пару программ для себя, а потом понял, что питон сам по себе пустой, нужно пользоваться безумным количеством библиотек, с которыми еще нужно повозиться чтобы они начали работать. Поэтому просто вернулся на C#. Из питона помню только его название.

Но как научиться догадываться до таких вещей

после прорешивания некоторого количества задач появляется чутье. А давайте-ка попробуем тут весьма универсальный и сильный метод динамического программирования применить. Вот мы ищем подпоследовательность для двух строк. Если последний символ в первой строке в нее входит, то найдем ему пару и дальше задача сводится к такой же но на префиксах. Если не входит, то его можно пропустить. Потом можно подумать и не искать пару а просто пропускать символ во второй строке. В любом случае, после формализации ДП можно придумать как его считать побыстрее.

алгосики - это язык ALGOL? И в чем потребность в статье использовать такой сленг? Вы книг много прочитали? В скольких из них авторы прибегали к уличному сленгу? Почему в написании статьи вы считаете что окружающим будет приятно читать неформальщину?

Это прям очень токсично было.

Откуда ж такой снобизм? Почему я себя должен выдавать за наукообразного ... другого человека?

Я много книг читал, например, "Статистика и котики", "Гитара для чайников" и т.д. Есть серия книг "the complete idiots guide". Авторы этих книг умственно отсталые и не могут нормально что ли объяснить? Зачем все эти котики и idiots?

Так вот, дело в том, что когда автор использует много лишних терминов, чтобы казаться умнее, это очень сложно читать, читатель чувствует себя на изнурительной подготовке к скучному экзамену. Читатель чувствует себя глупым. Чем больше занудства, тем меньше хочется читать до конца. И наоборот - неформальное общение в условной курилке, с матом и приколами, может длиться очень долго, и всем норм. Потому что расслабленное общение продуктивно.

Лучше пусть читатель автора считает легкомысленным, чем себя глупым.

Есть, кстати, и книги на этот счет, где показано, что умничать на рабочих совещаниях - это самое плохое, что можно сделать.

Эта статья - это объяснение "на пальцах". Самый эффективный способ передачи информации.

Ну и последнее - есть люди, которым нравиться наукообразность, есть люди, которым нравится простое общение. Почему я должен подстраиваться именно под первую категорию? Мне это не интересно. Я, наоборот, в следующих статьях планирую вкладывать больше естественности речи.

Это прям очень токсично было

Нет, скорее фактологично. Если вам не нравятся факты о себе, то вы не понимаете что делаете.

Откуда ж такой снобизм?

А причем тут манеры и высшее общество?

Почему я себя должен выдавать за наукообразного ... другого человека?

Статьи вы пишете не для себя, а для других. Это называется - целевая аудитория. И когда вы пишете, то мысли должны оформляться под ЦА. Ниже вы в полной мере обосновали вашу ЦА, это ни плохо ни хорошо, но имеет смысл в начале статьи писать - кому она посвящена, она исключит необходимость тарить время.

Я много книг читал, например, "Статистика и котики", "Гитара для чайников" и т.д. Есть серия книг "the complete idiots guide"

Я видел такие книги, но мыслей для их прочтения у меня не появлялось, объяснять почему?

Так вот, дело в том, что когда автор использует много лишних терминов, чтобы казаться умнее

Вы отталкиваетесь от ложной предпосылки. Использование терминов вообще и использование лишних терминов (что бы это не значило) это в любом случае разные вещи. Почему использование терминов - это "казаться умнее", мне неведомо.

это очень сложно читать

Почему? У меня только один ответ - вы не являетесь ЦА этой книги.

читатель чувствует себя на изнурительной подготовке к скучному экзамену

Ну это просто чушь. Вас кто-то заставляет читать? Мне кажется после окончания ВУЗа человек находится в свободном плавании и волен читать или НЕ читать. А использование слов и конструкций это не вопрос скуки или развлечения.

Читатель чувствует себя глупым

Если вы не понимаете предмета, то вы не понимаете предмета. Внезапно. Никакой другой информации из этого нельзя выделить. А кто там и что чувствует - это к психологам.

Чем больше занудства, тем меньше хочется читать до конца

Соглашусь, но вы эту предпосылку используете опять же заблуждаясь. Потому что я не призывал вас в статье занудствовать. У вас просто некорректно оформленная статья, которая не прошла бы редактуру, будь она тут.

И наоборот - неформальное общение в условной курилке, с матом и приколами, может длиться очень долго, и всем норм

Это вольное допущение не имеющее под собой доказательств. Мат и приколы должны быть к месту, если человек просто матерится, то он имбецил, если ржёт как конь - то тем более. Пардон, но ничего приятного в такой компании не нахожу. Поэтому про "всем" вы переборщили, тут опять же возвращаемся к ЦА.

Лучше пусть читатель автора считает легкомысленным, чем себя глупым

Если человек не видит причин для совершенствования то он перестает развиваться. Поэтому если я и читаю статью, то только ради того чтобы узнать новое, а не как пёрнуть в курилке или выматериться, я это умел в 5 лет.

Если я прочитал и понял только 10% то я принимаю решение или игнорировать эту тему, так как она для меня не важна или сложна или буду расширять поиск и закрывать пробелы. По-другому это работать не может.

Есть, кстати, и книги на этот счет, где показано, что умничать на рабочих совещаниях - это самое плохое, что можно сделать

У вас терминология школьника. Что значит "умничать на совещаниях"? Если я вместо алгосики говорю алгоритмы - я умничаю? А вам не кажется что на совещании присутствуют люди из разных отделов и это люди, ВНИМАНИЕ, разных профессий. И вы должны свой материал изложить (возвращаюсь к началу своего ответа) так, чтобы поняли они, а не чтобы вам было весело.

Я прекрасно осведомлен о разных способах управления коллективом, в том числе в неформальном ключе, но это всегда завязано на закрытый коллектив в узкой проблематике. Ну не будет ни один лид звонить по скайпу артисту и говорить на сленге, из которого он ничего не поймет. НЕ БУДЕТ. А все кто это делают (рукалицо и примеров таких достаточно), те просто глупые люди.

Эта статья - это объяснение "на пальцах". Самый эффективный способ передачи информации

Вот вы так не любите терминологию, а сами не понимаете, что моя претензия к вам именно о ней. Вы в статье использовали слова, которые трансформировать в русский сможет не каждый. И вы либо должны указать в начале статьи для кого она, либо вводить термины в обиход в рамках статьи. Вы ведь не знаете кто именно её будет читать.

И если уж вам нравится концепция "трёп в курилке", то моя претензия легко описывается в вашей же парадигме таким диалогом:

Вы: привет народ, толкну речь про алгосики...

Я: про что?

Вы: ну алгосики. Алгоритмы.

Я: Ааааа, алгосики.

Ну и последнее - есть люди, которым нравиться наукообразность, есть люди, которым нравится простое общение

Опять к терминам. Вы точно понимаете значение слова "наукообразный". Просто если судить по контексту, вы не правильно понимаете его значение.

Ну и я совсем не против простого общения, если автор делает это хорошо. Я смотрю много видео на английском и там в среде программистов вполне себе присутствует простое общение, но ребята не придумывают слова на ходу, что даже я, иностранец для них, понимаю их речь и она мало отличается от книжек на английском, включая книги 80-х (которые я читаю чаще).

Почему я должен подстраиваться именно под первую категорию?

Хм. У вас странный взгляд на вещи. Смотрите. Вы пишете статью, в вашей голове сидит идея - неформальный стиль для неформальной аудитории. Об этом вы никому не сообщаете (зачем? XD). Публикуете. А потом недовольны тем, что вам на это указывают? Как мы должны были догадаться, что вас устраивает только одна категория читателей? (какая именно кстати? я могу придумать 10 категорий) И мы опять возвращаемся к качеству вашей статьи, откуда вы семимильными шарами уводите наш разговор.

Я, наоборот, в следующих статьях планирую вкладывать больше естественности речи

Ну так вы об этом и скажите вашим потенциальным читателям. В чем проблема-то? Я прочитал бы эпиграф и закрыл вкладку - все довольны.

---

Касательно стиля речи - у человека он не зависит от желания казаться умнее. Верю что такая форма мимикрии существует, но это весьма крутой навык, так как всё что доводилось слышать мне (в том числе в научной среде) сразу заметно и выдает человека. А вот не понимать вещей и говорить умно и связно, это весьма круто. В целом всё завязано на словарный запас и зрительную память. Простые люди говорят короткими фразами и это не признак глупости, просто у них нет навыка построения длинных предложений.Но вы почему-то такой навык записали в какие-то уничижительные конструкции. Ну не нравится вам такое - да ради бога, никто не заставляет, вы статью правильно только оформите.

Ну это просто чушь. Вас кто-то заставляет читать?

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

Я так и сделал, не смог прочесть. Я вам, как автору, обозначил проблему, что с ней делать - вы решите сами, но вы решили меня ткнуть носом в придуманную вами же какую-то наукообразность (чтобы это не значило в вашем понимании).

А какой смысл в минусе без его описания? Тем более моему аккаунту расставлять минусы и плюсы недоступно.

Проблема в вас, вы не умеете общаться, не воспринимаете критику.

Пишите как хотите, вас вообще никто не отговаривает.

Догадываться сложно, над многими нетривиальными проблемами годами работали не самые глупые люди из академической и коммерческой(R&D) науки с начала 60х. Тот же алгоритм из вашей статьи первая публикация(с эффективным алгоритмом). "James W. Hunt and Thomas G. Szymanski. A fast algorithm for computing longest subsequences. Commun. ACM, 20(5):350–353, 1977".

Но по моему опыту, практически все алгоритмы уже придуманы, надо только уметь правильно абстрагировать прикладную задачу в "математику" и иметь кругозор с некоторым базовым пониманием.

От себя дополню ваш последний абзац - знание алгоритма вторично, умный и образованный человек с хорошей математической базой сам "изобретёт" алгоритм. А вот выучивший все алгоритмы и не умеющий хорошей базы не сможет ими пользоваться. Поэтому я и противник упора тестирования умений базовыми алгоритмами.

Интересно, а сколько рабочего времени тимлида было затрачено на разгадывание?

нисколько, это хобби

Аффтар красавчег, зачёт ему. Просто я наблюдаю обычно челов двух типов - чаще всего нытики, что типа на собеседовании (в FAANG, сорян, в MAANG) спрашивают дичь, которую никакой инженер не делает обычно в рабочее время (я кого не спрошу в гугле, они всю дорогу одни данные в другие гоняют через протобаффы, прям на фуллтаме, а не сортировки пишут, и деревья обходят вдоль/поперёк). Второй тип, они надр@чиваются на этих ХакерРанкофф и ЛитКодофф, но они сыпяца потом на систем-дизайне, ну не таком, что задизайни мне ютуб, или вендинг-машину, а таком, где я увижу реальный опыт проектирования.

Лично я в гугле на интервью спрашиваю именно то, что сам коммитил в прод. И там или динамическое программирование или бинарный поиск + жадность надо придумывать. И всякие хитрые moving window max на очередях, и линейную регрессию, и бинарный поиск, и теорию чисел применял. Но, да, это не слишком частое явление. Чаще приходится чертовы данные туда-сюда перекладывать или прокидывать через уровни абстракции.


Пусть будет у вас еще одна точка в вашем наборе данных.

Sign up to leave a comment.