Обновить

Зачем программисту алгоритмы?

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели7.4K
Всего голосов 15: ↑12 и ↓3+16
Комментарии201

Комментарии 201

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Более того, в фаангах, которые эти алгоритмические интервью и придумали далеко не только формы клепают. Там очень много команд, в которых эти самые алгоритмы как раз приходится применять. И динамическое программирование, и всякие структуры данных где очередь с хеш-таблицей переплетены, и математика иногда нужна. Не каждый день, даже не каждый месяц, но без достаточной базы даже не заметишь, что вот тут, оказывается, алгоритм нужен, и вместо наивного решения за 2^N можно написать N log N какой-нибудь.

Я, вот, на интервью справшиваю как раз ту задачку, которую лично в прод коммитил. Абстрогированную и упрощенную, конечно, но все равно она неотличима от литкодовских mid-hard задач.

а можете поделиться? интересно стало

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

Из других примеров - встречались вот эти задачи: sliding window max, eating bananas

НЛО прилетело и опубликовало эту надпись здесь

Полагаю, когда вы решаете какую-то задачу вы это делаете не на время и не с "надзирателем за спиной"

Когда вы водите машину - вы в машине чаще всего один, без инспектора. И ездите вы из дома до работы, а не по вот тому району, где ГАИ проводит экзамен. Но экзамен на ПДД вы сдаете с "надзирателем за спиной", в стрессовой обстановке, где вам дают противоречивые команды.

Интервью - это экзамен. И у него свойства экзамена. Это не тестовое задание, где вы без ограничения времени и надзора делаете задачу в удобной для вас обстановке. Тестовые - хороший вариант для маленьких контор, но для ФААНГов они не подходят. Их очень долго проверять, их долго готовить, там элементарно читерить. И тут на хабре их ненавидят не особо меньше этих алгособесов.

НЛО прилетело и опубликовало эту надпись здесь

Вот только на машине я езжу каждый день,

Нет, вы никогда в жизни после экзамена по этому маршруту ездить не будете. И не будете искать место для остановки вот в этом проблемном месте. Вы будете парковаться, где вам удобнее, в том районе, где вам надо. И не будете объезжать вот эти вот конусы. Да, вы водите машину каждый день, но вы делаете более простые действия.

а деревья я поварачиваю почти никогда

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

В реальной жизни приходится иногда парковаться с зазорами по полметра между передним/задним бампером и соседней машиной в ряду. С обеих сторон, разумеется.

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

И списки сортировать и разворачивать тоже приходится.

НЛО прилетело и опубликовало эту надпись здесь

Было бы забавно, если бы практику найма программистов яндекс распространил на, скажем яндекс такси, как вам идея? Будущий таксист должен сдать "экзамен на права". 

Это было бы очень хорошо для безопасности движения, но плохо для насыщения рынка таксистами. К счастью для компании, программистов яндексу надо гораздо меньше чем таксистов, и можно позволить себе гораздо больший отсев.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Стрессовая обстановка на экзамене по вождению куда ближе к средневзвешенной стрессовости вождения

Да ладно. Большая часть претензий на стресс это: Не могу кодировать, когда смотрят из-за плеча. Ровно это и происходит на экзамене по вождению. Экзаменатор. Плюс тоже нельзя тупить и стресс от возможного провала.

на том же экзамене на вождение у вас не спрашивают, например, как работает blind spot monitor,

Если взять теоретическую часть, то аналогия полная. Сколько раз в жизни вы сталкнетесь с ситуацией, где к перекрестку одновременно подъезжает трамвай, автомобиль, мотоцикл и инвалядная коляска на переходе, там не работает светофор и рядом стоит куча знаков с модификаторами. И вам надо решить, кто едит первым за весьма быстро (на экзамене то время ограничено). А экзамен состоит из таких искусственных и накрученных ситуаций почти полностью.

Сколько раз в жизни вы сталкнетесь с ситуацией, где к перекрестку одновременно подъезжает трамвай, автомобиль, мотоцикл и инвалядная коляска на переходе

То, что вы сейчас описали - нормальная ситуация в Марокко (подозреваю, что и в Индии). Только груженого осла забыли упомянуть :)

И смотрите вы на это не сверху, а из кабины. Некоторых участников вы не видите, некоторые не видят вас, некоторые права купили на распродаже, и ездят как им удобно.

Там правила проезда перекрёстков другие - кто громче сигналит, тот первый едет :)

Ещё размер машины важен;)

НЛО прилетело и опубликовало эту надпись здесь

Во-первых, теоретической части нет. Вообще....

Спасибо за антирекламу "там"!

НЛО прилетело и опубликовало эту надпись здесь

Отсутствие теоретической части меня вот вообще не смущает (зачем она нужна? хороший экзамен её проверяет на практике)

Например здесь около 60 вопросов. Было бы хорошо, чтобы устный экзамен проверял их все. На практике же это просто нереально.

Меня смущает «подготовка» за эти условные 100 баксов

Это не подготовка, это совковая показуха.

А так какой-то существенной зависимости отсутствия теории и количества смертей на дорогах на миллион километров нет

Ваше утверждение практически эквивалентно тому, что ПДД не нужны.

Ниже был комментарий по строгость экзаменов в Швеции. Следствие - в ней в 4 раза ниже смертность при авариях, чем в США.

Куда больше зависимость от алкоголя, использования ремней безопасности и урбанизации региона

Это дальние последствия отсутствия подхода "разбитых окон". Жизню не обманеш.

UPD

НЛО прилетело и опубликовало эту надпись здесь

И сразу же первым вопросом

Что означает термин «Ограниченная видимость»?

Видимость бывает нормальной, ограниченной или недостаточной.

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

Недостаточная видимость связана с погодными условиями и временем суток. Дорогу хуже видно в сумерках, ночью, а также во время дождя, тумана, снега или града. Правила говорят о том, что недостаточной считается видимость, не превышающая 300 метров.

Если перечисленные факторы отсутствуют, видимость считается нормальной.

Как измеримо отличается водитель, который знает, что там бюрократ имел в виду в данном конкретном случае?

Так для этого не надо прогуливать занятия по теории и практике ПДД.

На что знание ответа на этот вопрос влияет на практике?

Вы страшный человек. Вам ни в коем случае нельзя работать капитаном корабля или самолета!

Моё утверждение — мастурбация на формализм не нужна

Нет, вам надо работать учителем в школе - 90% учеников будут просто в восторге (привет финский подход!). Вот только ВПР/ОГЭ/ЕГЭ они провалят. Упс...

При этом в какой-нибудь Франции смертность лишь немного ниже, а в Бельгии — даже выше

Кроме знания ПДД,,на их выполнение большое влияние оказывает степень наказания за их нарушение. Задайте AI Overview два этих отдельных вопроса и увидите результат.

Ну да, если начать требовать теорию на экзамене, который сдают лет в 16-18, то люди в 20-30 сразу перестанут пытаться ехать из даунтауна к себе в субурбию после чекушки-другой

Я не пойму, вы хотите продвигать в обществе подход "чем больше выдадим премий Дарвина, тем лучше"? Так, что там вам нравится, Штаты, Техас? Ни ногой туда!

НЛО прилетело и опубликовало эту надпись здесь

Это как учиться говорить на английском, зазубривая все прошедшие времена, и какая форма first/second/third conditional соответствует какой семантике (я второе десятилетие живу в англоязычных странах, и при этом сам это не вспомню, даже если когда-то знал, что нисколько не мешает)

Я пробовал с испанским (и Хаскелем) так: по грамматическим правилам натараториваешь огромное количество примеров, на которых уже тренируешь межушный нервный узел. Очень неплохо получалось.

То есть, польза есть, просто непрямая.

Нет, серьёзно, ожидается, что у водителя есть лазерный дальномер в глазах, и он может отличить видимость в 299 метров от видимости в 301 метр?

Нет, это «предупреждён = вооружён». Если тебя предупреждают, что впереди менты, то едешь +0 и радуешься. Там есть некоторый баланс между отсутствием знания вообще и излишней формализацией. Типичная инженерная задача...

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Очень здорово. Как это помогает водить машину?

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

Судя по всему, вы топите за умение видеть динамику окружающих объектов и рефлексы управления, пренебрегая остальными. Так тоже можно. А можно даже и этого не уметь. Если же мы хотим повышать нашу функцию до реально достижимого максимума, то придется развивать и другие качества.

Причем, если рассматривать каждый навык в отдельности, то он не кажется таким уж важным. Но вместе они дают совершенно новый эффект (эмерджентность кажется).

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

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

Нет, серьёзно, ожидается, что у водителя есть лазерный дальномер в глазах, и он может отличить видимость в 299 метров от видимости в 301 метр?

Вот кстати спасибо, что подсказали еще добавить в программу обучения тренировку навыка определять расстояния на глаз: 50 метров, 100 м, 200 м, 500 м, 700 м.

Слышали полубайку про Фейнмана и то ли французский, то ли бразильский подход к обучению физике? Формулы оттараторить могут, а применить их к реальным задачам — нихрена. Зато их версии ЕГЭ сдают на отлично, я уверен

Да, такой перекос тоже возможен. Просто он отвечает на актуальные жизненные запросы (оценка в аттестате), поэтому всё всех устраивает.

НЛО прилетело и опубликовало эту надпись здесь

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

Хороший вопрос. Ну значит заключать договора о взаимном признании водительских прав надо только с теми странами, где всё тоже на должном уровне (пусть и не на таком идеальном). А туристы пусть на такси ездят. Или же, при наличии прав своей страны (где низкий порог сдачи, те-же США), стразу идут на сдачу стандартного 3-часового экзамена (1 час теория + 2 часа вождение).

Также вы встретите пару-тройку знаков, которых никогда в жизни не видели

Каких-то особых знаков вводить не нужно, международный стандарт +/- уже выработался, доучить пару неизвестных знаков (если они еще будут) совсем не сложно. Ну или робо-такси.

Это называется «слышал звон, да не знаю, где он»

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

Как говорится, много знаний не бывает. По крайней мере, в данной теме, так точно.

Нужно хорошо уметь определять относительную скорость движения, и то, не в цифрах, а в бинарном «ехать или пропустить»

И это тоже нужно. Почему вы противопоставляете одни навыки другим? Вы считаете, что если навыки можно отсортировать по степени их важности, то менее важные можно просто отбросить? Категорически не согласен с таким подходом. Ну или вас устраивает статистика смертности на дорогах (в тех же Штатах, например)?

И чем ниже квалификация человека за рулём, тем больше должен быть крен в сторону «пропустить»

Кстати, когда я сдавал на права, нас такому не учили. А должны были!

А сто там метров, или пятьсот — никакого значения не имеет

А, я и забыл, в пылу этой дискуссии, что вы противник шаблонов! Вы просто всё меряете по себе: если у вас всё получается, то и другие могут делать так-же... Эх, вам бы начальником большим поработать годик-два, увидели бы, что это не так)) Человеки они такие, хотят делать всё, что им в данную секунду в голову взбредет.

Если что, я не начальник, но от тупости людей уже устал.

По Швеции ездить довольно приятно, но по Испании, например, — тоже. А вот по Германии и Италии — нет. И я сомневаюсь, что дело тут в том, кто больше алгоритмов перед экзаменом выучил

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

НЛО прилетело и опубликовало эту надпись здесь

То есть, Испания должна разворачивать на границе всех европейцев, кроме итальянцев и греков?

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

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

Триста тысяч часов теории не заменят вам навык трогаться на светофоре в горку с уклоном градусов

Нет конечно! Поэтому я за И, а не за ИЛИ.

Я не противопоставляю. Длина как таковая, в метрах, — на скорости бесполезна, потому что буквально всё значимое — от этой самой скорости зависит

Вы не можете понять одного: все ваши правильные доводы не работают для 90% людей, желающих получить права. Поэтому, пусть уж они пройдут все круги ада на обучении, чем потом будут калечить окружающих всеми возможными способами.

Да и потом, вы то что теряете? У вас права уже есть, доучиваете несколько новых пунктов, 1 день на экзамены, и всё - вы полноправный участник движения на автодорогах страны! Страны, где число тяжелых аварий стремится к нулю...

НЛО прилетело и опубликовало эту надпись здесь

Вы предлагаете превратить сдачу ПДД в трёхлетний бакалавриат зазубривания бессмысленной информации, а мы с техасским коллегой топим за «если получивший права — мудак, он всё равно поедет в столб, встречную машину, людей на остановке; если нет — то сориентируется по ходу, расценивая все непонятные знаки — как запрещающие»

Давайте сойдемся посередине

Правы и вы (вместе с IUIUIUIUIUIUIUI) и я. Вы говорите, что если человек умеет водить автомобиль, то современные, достаточно формальные курсы и экзамены ему не особо нужны - и я с этим абсолютно согласен!

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

НЛО прилетело и опубликовало эту надпись здесь

Вы видели когда-нибудь бакалавра среднего уровня, которого папа с мамой заставили пойти в институт?

Вы видели когда-нибудь в фильмах, как в армии США сержанты орут на новобранцев? Я раньше все никак не мог понять "зачем?". Теперь понимаю...

Этот персонаж всё сдал, у него и диплом имеется

А как в тех-же Штатах тренируют военных "морских котиков" видели? Там наличие корочки о завершении курса говорит также о том, что человек смог как минимум выжить.

О какой встряске можно говорить, если вся эта катавасия воспринимается исключительно, как неизбежное зло?

Просто встряхивать надо сильнее.

Ну а если говорить про озвученную вами проблему ВУЗов, так это просто означает, что туда идут не за знаниями, а за какими-то социальными бонусами. Ну или просто люди по жизни потеряны и просто "сдают" своих детей хоть куда-нибудь.

НЛО прилетело и опубликовало эту надпись здесь

Вот именно! Поэтому такие люди получать права и не должны. И мы сразу приходим к выводу, что тотальная автомобилизация та еще бредовая идея.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Я всё-таки переживаю за бальные танцы и каллиграфия — будем их включать? Бальные танцы помогают чувствовать партнёра и других людей, предвосхищать их манёвры, всякое такое, а каллиграфия вообще мозг прокачивает

Спортивные кружки и прочие полезные навыки надо было прокачивать в школе, теперь уже поздно.

[citation needed]

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

Не могу не вспомнить про любовь к демократии в такие моменты

Так а я то тут причем? )) Я обычно этим термином троллю других и смотрю как они мечутся, не зная, что сказать.

У меня сейчас нет веры ни в один из вариантов устройства общества: в одних странах лучше работает демократия, где-то диктатура, где-то совет старейших и шаман. Своих вариантов идеальной системы у меня тоже нет (точнее, не понятно, как такая идеальная система будет сохранять устойчивость).

НЛО прилетело и опубликовало эту надпись здесь

Почему поздно?

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

Но, впрочем, значит, это ещё больше повысит элитарность вождения, как мы вы и хотели

Ну какая там элитарность, 1000 юсд? Впрочем Америка - страна контрастов, не мне судить.

ваше исходное высказывание — non sequitur

Не логично, но это так работает. Странно, правда?

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Не существует решений, есть только компромиссы

Можно и так сказать! Так вот, мой подход в этой сфере (а она, как известно, связана с безопасностью для жизни и здоровья) - это сдвинуть баланс в сторону "удорожания" возможности вождения автомобилем. Чтобы это не было проходным занятием, чтобы пришлось напрячься по полной и физически, и умственно, и психологически, и финансово! Чтобы, садясь в кресло за руль, человек чувствовал ответственность, как будто он капитан экипажа Боинга-747.

Абсолютно всем, что вы написали до этого момента включительно, можно воспользоваться как аргументом в пользу требования для получения правы навыков бальных танцев или, не знаю, каллиграфии

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

Должна? А, извините, да, забыл такой общеизвестный факт, что дети не говорят на своём родном языке до школы и изучения систематизированных правил этого языка

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

Я со своей конкретной машиной поехал на трассу дважды и разогнался там сначала до 50 миль в час и оттормозился...

Даже я так не делал)) Ок, я согласен сделать в предлагаемых мной правилах исключения для некоторых людей. Вот только как их определять среди всей массы? Ответ - никак

НЛО прилетело и опубликовало эту надпись здесь

В США это прикуёт наручниками к батарее отцовского дома две трети небогатых людей из пригорода

То есть на автомобиль деньги есть, а на курсы нет? Прикольно правительство США стратегию развития выстроило: больше неумеек на дорогах, зато всеобщее равенство. У вас там коммунисты у власти что-ли?

В конце концов, стоимость курсов может оплачивать и правительство. Но человек все равно должен серьезно вложиться своим временем, физически и умственно.

НЛО прилетело и опубликовало эту надпись здесь

Так «деньги есть» или «напрячься по полной [...] финансово»?

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

Сильно поюзанная, но всё ещё ездящая королла 2005-го года стоит всего две тыщи баксов, кстати

Ну хоть в чем-то Штатам повезло.

Когда сверху ничего не насаждается, и люди равны в этом ненасаждении, то это как раз классические правые взгляды (или, вернее, constrained vision) и laissez-faire

Как вы считаете, классические правые взгляды поддерживают ужесточение прохождения учебных курсов по вождению или их упрощение?

То есть, вами или мной

Основная налоговая нагрузка должна лежать на бизнесе, а не на людях.

НЛО прилетело и опубликовало эту надпись здесь

Извиняюсь, в какой-то момент времени подумал, что вы живете в США.

НЛО прилетело и опубликовало эту надпись здесь

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

Речь не про работу под давлением, а про учебу под давлением. Как говаривал А.В.Суворов "тяжело в учении - легко в бою".

Орущие начальники, напрягающие по полной психологически, что-то знали!

А это должно быть под запретом, вплоть до уголовки.

Правильно, вождение — для элиты. Неэлита пусть сидит дома дворы убирает

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

Что там было про связь causation и correlation?

Так без causation и correlation не бывает. Возможно вы имеете в виду что от чего зависит? Что способный физически человек становится спортсменом и хорошим водителем параллельно, не зависимо? Конечно! Только вот развитие физических навыков любым человеком всегда положительно сказывается и на его водительском мастерстве.

Это неважно. Важно — что заучивание формальных правил не даёт (и не способно дать) вообще ничего

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

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

Хотите безопасности — требуйте 10, 50, 500 часов практики. Но требовать заучивать ПДД абсолютно бессмысленно

Готов поспорить, что 50 часов практики + 10 часов заучивания ПДД + 10 часов решения задач даст лучший результат, чем даже 70 часов одной практики. Жаль, что в современном мире трудно проверять социальные гипотезы

«Seeing like a state» Джеймса Скотта

Да, да, вот оно, спасибо! Вот он идеал учебного процесса: сначала - techne, потом - metis, и в конце - episteme! А если еще в два-три захода сделать, ммм.....

К сожалению, приходится делать поправку на реалии и предлагать делать это всё одновременно. За что заслуженно и получаю в ответ.

НЛО прилетело и опубликовало эту надпись здесь

А Суворов это про вождение говорил? Или про любое обучение?

Не важно, это работает всегда.

А почему? Особенно если человек только пришёл на рабочее место и учится? Тяжело в учении — легко в бою. И пусть по 12 часов в сутки работает в первые несколько месяцев, а ТК отменить надо. Что не так?

Водительские права - это возможность управлять средством повышенной опасности. Обычная работа не про это. Но если речь идет про работу оператором АЭС, то да, им тоже нужен "курс молодого бойца". Но не на работе, а в учебном заведении. Ведь ТК это святое!

Кстати, в школах тоже надо, чтобы учителя орали и давили психологически

В школах нет, дети туда идут не добровольно. А это должно быть осознанным выбором свободного человека.

А заучивание ПДД к развитию физических навыков относится… как?

Никак. А разве водителю нужно только физические навыки? Интеллект за рулем можно выключить?

В смысле, 10-летний пацан говорит не так, как 13-летний, и не так, как 17-летний?

Возьмите 10-летнего пацана, пусть он месяц позанимается, чтобы каждый день было по одному уроку языка и литературы (плюс д/з), и разницу даже ИИ увидит.

Кстати, что больше повлияет на речь подростка — изучение разных классификаций основных троп в литературных произведениях, или просто чтение книг?

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

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

Согласен, не надо, современное ВО дерьмо еще то. Намного проще и эффективнее просто самообучаться (книги, курсы, литкод).

Готов поспорить, что 70 часов практики будет лучше

Спорю на правду!

Там совсем не «оно», ну да ладно

Да, не оно, просто мысля поперла.

НЛО прилетело и опубликовало эту надпись здесь

Наблюдаемые данные говорят об обратном (на всякий случай, отрицание вашего утверждения — «это работает не всегда»)

Опять вы меня на обобщении подловили Это не работает только в виде исключений из подавляющего количества наблюдений, подпадающих под данное правило (опять криво написал). Или другими словами, противоположного взаимоисключающего правила просто не существует.

Кстати, значит ли это заодно, что высшее образование должно идти с финансовым большим грузом? А то люди обычно говорят, что оно должно быть «бесплатным».

Современное высшее образование (несовершенное) очевидно нуждается в финансовом пороге входа. Совершенное ВО в нем не нуждается. Но в существующих обществах оно вряд ли возможно (вряд ли оно такое будет нужно правительствам).

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

И что? Если обучение под психологическим давлением происходит эффективнее, значит, надо психологически давить. Почему нет?

Потому что если давить везде, то люди просто сойдут с ума. Это полезно делать только на подходе к социальным лифтам или в профессиях, связанных с критической безопасностью для общества.

Почему? Где в словах про эффективность обучения под давлением что-то про осознанный выбор? Суворов говорил про осознанный выбор?

Ну мы же не переменную навыков/знания максимизируем, а переменную счастья (что бы это ни значило).

Решать за рулём даже школьные задачи на уравнение равноускоренного движения я не рекомендую по минимум трём разным причинам

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

И снова повторю вопрос: что эффективнее — зазубривать разные классические тропы произведений, или читать книги?

На этот вопрос (в другой интерпретации) я уже с вами заспорился.

И как вы её ставите?

К сожалению, самостоятельно и не системно. Ну и что? Это же уже заведомо неидеальная ситуация, а мы говорим про планирование. Если начать всё сначала, то я бы лет в 15-20 пошел бы на ораторские курсы (и еще на многие другие).

НЛО прилетело и опубликовало эту надпись здесь

А здесь - это где?

Скорее всего Texas State, USA: крайний раз автор был ЕМНИП там.

НЛО прилетело и опубликовало эту надпись здесь

А в Швеции наоборот, еще и заставляют проехать по льду на скорости (или по разлитому маслу летом), уворачиваться от симулируемого лося, выходить из заноса.

НЛО прилетело и опубликовало эту надпись здесь

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

В Техасе, по льду????

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

причинит больше вреда, чем пользы.

Навык выходить из заноса, который, правда, зависит от привода, включает в себя полезный навык (1) чувствовать, когда занос вот-вот или уже начался (2) не паниковать.

Многие новички в самом начале заноса, когда если вообще ничего не делать, машина, скорее всего, немного соскользнёт и сама из заноса выйдет, лупят по тормозам - безусловно вредное действие на всех трех вариантах привода, почти наверняка приводящее к полной потере контроля над машиной.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Забавно, что экзамен по вождению-то (по крайней мере в РФ) давно превратился в формальность, исход которой определяется с точностью 99.9% фактом оплаты, а не навыками вождения.

Я как-то переизобрёл алгоритм Кнута-Морисса-Пратта. Я был молод, и просто не знал, что такой алгоритм есть и как он называется. Пришлось самому изобрести :)

Но всё-таки, это то, что требует нескольких дней раздумий, а не нескольких минут.

НЛО прилетело и опубликовало эту надпись здесь

Ну вот допустим, у меня была такая задача.

Есть поток сетевых пакетов (интенсивность которого от меня мало зависит). Некоторую долю этих пакетов (скажем, 20-25%) надо посылать особым образом. И хотелось бы, чтобы они, эти особые пакеты, были более-менее равномерно распределены в общем потоке (а не, "посылаем все особые пакеты, потом все не-особые до 100").

Это первый вариант в вашей классификации или второй?

НЛО прилетело и опубликовало эту надпись здесь

Какие из требований вам не понятны?

Еще раз. Есть поток пакетов. Я (мой код) нахожусь в позиции, когда пакеты ко мне пост упают, я их отправляю. Задерживать пакеты без нужды крайне нежелательно.

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

Требуется, чтобы (1) доля пакетов с бантиком в общем потоке соответствовала установленному параметры (2) пакеты с бантиком были равномерно распределены среди всего потока.

Колхозник написал бы функцию у которой на выходе bool, на входе float, внутри магия random. А как делают дачники?

random может сложить всё в кучку.

не знаю, как это делают дачники. Я приладил Алгоритм Брезенхэма

Вообще эта задача напомнила мне QoS в цисках. Так что я бы заглянул в книжку (она у меня есть но я туда лет пятнадцать не заглядывал) и выбрал бы что-нибудь на тему WFQ (там вариантов немало) и загуглил остальное. ЕМНИП, все эти алгоритмы тоже работают на основе подсчета дефицита, как и брезенхамовский,

Ну в принципе да, если не говорить слово Брезенхэм, а говорить слово Leaky bucket, то можно сделать вид, что так и было, не меняя кода :)

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

НЛО прилетело и опубликовало эту надпись здесь

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

И на интервью спрашивают в основном именно первое. Не просят реализовать AVL деревья, а просят придумать, как применить std::set.

На мой взгляд знание алгоритмов на уровне решения литкодовсих задач переоценено, я работал в  команде по разработке движка СУБД, там алгоритмы на алгоритмах были и если человек закончил честно ВУЗ, имеет базовую вузовскую подготовку он   разберется в любых алгоритмических задачах, это просто вопрос времени, а вот умение писать качественный код, выбирать правильную архитектуру, делать грамотную обработку ошибок, аккуратность, это свосем другой скилл, который куда важнее знания алгоритмов.

Я, вот, на интервью справшиваю как раз ту задачку, которую лично в прод коммитил. Абстрогированную и упрощенную, конечно, но все равно она неотличима от литкодовских mid-hard задач.

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

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

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

Потом, не обязательно за время интервью задачу решить и необязательно даже самостоятельно. Если кандидат хоть какие-то здравые рассуждения о задаче высказывает, но не придумывает решение, я подсказываю. И даже получив очень сильные подсказки (описывающие все основные идеи почти полностью), можно интервью пройти на hire. И не обязательно все решение за интервью закодить. Главное его объяснить, чтоб я понял, что кандидат придумал и хотя бы 10-15 строк осмысленного кода, похожего на реализацию этой идеи из себя выдавить.

вот, на интервью справшиваю как раз ту задачку, которую лично в прод коммитил

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

Во-первых, задача абстрагирована и никакого контекста там нет. Просто есть данные с ними что-то надо сделать. Больше нигде в коде это делать не надо. Даже чего-то похожего нет.

Потом, это было к тому, что задачи даются реалистичные, навык решения которых нужен в реальной работе. По себе не меряю, но сложность задачи откалибрована под интервью: куча деталей убраны.

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

Давайте опять в аналогию с музыкантами. Когда вы приходите играть в оркестр - надо как-то проверить, что вы соответствуете принятому уровню. Первый метод совсем никуда не годится: тесты. Это как если бы мы устроили пришедшему скрипачу допрос: из какого материала выполняется дека скрипки: бук, липа, ясень ? Понятно что это вообще никак не коррелирует со способностью человека играть - зато имитация бурной деятельности...

Второй способ уже лучше - надо бы попросить человека сыграть. А чтобы не заморачиваться и иметь возможность объективно сравнить кандидатов - пусть все играют этюды Черни! Причем, на память: ты братец, сыграй N3 из op. 139, а ты - 7 и 120 из op. 261! Хер же с ним, что оркестр никогда не играет на концертах эти этюды. Это же база - в музыкальной школе их все играли! Не помнишь на память этюды ?! А что ж ты в оркестр пришел устраиваться - поди повтори, подучи... В принципе, такое может сработать, если вы очень-очень известный оркестр, или кандидат почему-то очень хочет у вас работать. Правда может оказаться что ничего кроме этюдов он в жизни не играл (к этому его готовила семья и школа) - и вы будете с ним долго и упорно мучаться...

Наиболее правильным является третий вариант - попросить человека сыграть фрагмент того, что он знает! Или просто пригласить на репетицию и посадить в группу играть. Там сразу станет понятно есть ли слух, есть ли беглость пальцев и чувство ритма...

В общем - алгоритмы знать безусловно полезно. Но играть в летиткод на собеседовании - имхо дурость. Это реально проверяет только достаточно ли дури у кандидата бросить все чтобы готовиться к вашему собеседованию. Да просто дать на ревью кусок кода и попросить предложить исправления - уже в разы лучше!

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

С другой стороны, для музыканта сыграть - это 15 минут подудеть и пару часов подготовиться, по желанию. А осмысленное тестовое задание для программиста, это, всё же, дни, а не часы.

Всегда можно найти задачу из своей области, чтобы за 30-40 минут посмотреть что человек реально умеет!.. Более того - меня на сегодняшний момент даже больше интересует насколько человек может с листа ЧИТАТЬ и ПОНИМАТЬ написанный код и расширять его. Ну не пишем мы больше систем с нуля. Лет 15 минимум уже не пишем...

Ну не пишем мы больше систем с нуля. Лет 15 минимум уже не пишем...

Кто "мы"?

Всегда можно найти задачу из своей области, чтобы за 30-40 минут посмотреть что человек реально умеет!

Это гораздо сложнее, чем вы думаете. Потому что задачи из своей области - это "есть вот эта кодовая база, там 30 компонентов, которые как-то взаимодействуют, надо запилить вот такую вот фичу". Вы кандидату это будете час только объяснять, а кандидат еще час будет кодовую базу раскуривать. Потом уже будет 30-40 минут, да. Если же вы эту задачу начнете абстрагировать от деталей и упрощать, чтоб ее можно было хотя бы за 5 минут объяснить - у вас получаются задачки с литкода. Чаще всего easy, почти без алгоритмов и структур данных. И, если у вас поток кандидатов 1000 на одно место, то вам придется задачки усложнять. Тупо увеличивать объем broiler plate кода - это не усложнение. Хотя, можно, конечно, и по скорости печати кандидатов отсеивать, но алгоритмы, которые проверяют способность думать, тут подходят гораздо лучше (если не давать одни и те же баянистые задачи, конечно. Тогда действительно можно случайно проверять способность зубрить).

Конечно, если у вас мелкая контора и вы пол года закрыть вакансию не можете, то возможно вам будет достаточно и Fizz Buzz. А тестовое задание или "поговорить по душам" будет лучше алго-собесов.

Вы кандидату это будете час только объяснять, а кандидат еще час будет кодовую базу раскуривать.

Час - это совсем оптимистично, по факту намного дольше

Ну нет же! Всегда есть задача на часок - просто надо посмотреть и повспоминать. У вас в памяти откладываются эпические проблемы - где час только объяснять обстановку, но для собеседования это не нужно.

Одна из задач, которую я давал кандидатам - есть весы с экраном на 16 знако-мест. Есть название из карточки товара которое может быть любой разумной длины. Нужно показать название товара на экране. В отличие от летиткода - тут нет единственно правильного решения. Хочешь написать эвристики и сокращать слова - вперед! Хочешь реализовать бегущую строку - супер! Придумал еще что-то - молодец: вот тебе метод writeScreen(msg) - реализуй свою идею. А дальше - это уже моя работа: смотреть как именно человек пишет, как он это собирается тестировать (и будет ли вообще) - в общем понимать, можем мы с таким играть в окестре или нет... Потом еще можно поговорить - как мы это будем модифицировать если у нас появятся вторые весы с экраном 32 знако-места ? А если третьи, где тоже 32 знако-места но в две строки ?... И в моем случае - это работало. Единственный недостаток - невозможно провести 4-5 таких собеседований в день. Для массового подбора такое не работает.

есть весы с экраном на 16 знако-мест. Есть название из карточки товара которое может быть любой разумной длины

Неиссякаемый источник забавностей ;) Какие правила не придумывай - все равно получится

Вы сейчас подтвердили мои слова в точности. Эта ваша задача это именно " Если же вы эту задачу начнете абстрагировать от деталей и упрощать, чтоб ее можно было хотя бы за 5 минут объяснить - у вас получаются задачки с литкода ".

В отличие от летиткода

Эту задачу чуть формализовать и хоть сейчас на литкод добавляй - она там как родная будет.

Задач такой сложности на литкоде полно: 1 2. Еще нагуглилость парочка почти таких, но они платные. Только тут еще сверху неточность формулировки задачи навешана.

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

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

Ну я же вам привел задачи в пример. Там нет никаких алгоритмов на графах и деревъях. И даже всякие трюки с массивами не используются. Чисто инжинерные задачи отформатировать текст.

Меня интересует не результат (знает или не знает человек алгоритмы), а процесс

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

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

НЛО прилетело и опубликовало эту надпись здесь

В случае достаточно опытных программистов часто можно «сходить на концерт с их участием» или на «сольное выступление в сквере для души». А вот просить пианиста: «А давай ты нам тут 'Мурку' на баяне сбацаешь», это очень странно.

То есть посмотрите их прошлые проекты. А может, пет-проекты человек покажет. Пусть объяснит, что там сделано и как именно сделано... Если джун, то да, можно проверить уровень элементарными короткими задачами (типа, если мальчик/девочка/оно не определилось пока перед незнакомыми дядями и тетямию не описался и вспомнил не только сортировку пузырьком, то можно попробовать взять его к себе).

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

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

"А вы так не делайте!" (C). Если это происходит в России - то у нас почему-то (впрочем, понятно почему - большинство оркестров выживают на бюджетные деньги) конкурентные закупки превращаются в цирк с конями. Берется единственный параметр, и под него строится процедура - потом получается что выигрывает вновь организованоое ООО с уставным капиталом 10 т.р. - но зато предложившее минимальную цену.

Вопрос найма программиста - как и музыканта в оркестр - это задача многопараметрической оптимизации. Очень сложно определить, лучше ли один из них танцует чем другой поет. И более того - результатом решения этой задачи оптимизации как правило является не одно оптимальное решение - а парето-оптимальное их множество (то есть, в этом множестве нельзя улучшить какой-то параметр или их набор, не ухудшив при этом другой набор параметров). При этом, сразу скажу что будет если вы придумаете гениальный ход - присвоить параметрам веса, перемножить, сложить и дальше решать задачу однопараметрической оптимизации. Будет плохо, потому что вводя веса вы начинаете менять условия задачи функционально связывая ранее ортогональные параметры! Условно - мы ищем скрипачку с серыми глазами, умеющую играть уверенно Vivo (скажем до 165 bpm). Как только мы зададим весовые коэффициенты (глаза 0.3, темп 0.7) - у скрипачки появится возможность компенсировать недостаточную серость глаз умением играть presto, или наоборот элегантно помахивая ресницами вокруг бесконечно серых глаз проехать со способностями adnante... А таких условий в задаче не было - и выяснять у заказчика допустимы ли такие обобщения (и какой вид должна иметь весовая функция - если она не линейная комбинация - а 99.9% что она не линейная комбинация!) - это отдельная песня, которая может занимать время превосходящее решение задачи оптимизации...

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

А конкурс - это дело такое... Специфическое. Как говорила преподаватель музыки у старшего ребенка: "Место на конкурсе = подготовка / коэффициент обалдения". Поэтому на конкурсы надо ходить как на работу - регулярно. Результат при небольших вариациях числителя определяет знаменатель!... Вашей жене - лучи поддержки. Хорошо хоть муж айтишник. Было бы два музыканта - горе в семье...

Зачем программисту алгоритмы?

А что мы вообще? Давайте, конкретно!

Понятно, что независимо от того, знаете ли вы стандартный набор алгоритмов либо не знаете, на работе либо в собственных проектах, могут возникнуть «задачи, которые еще не знала математика», в данном случае программирование. Ну, или знало, но мы не знаем, где это знание найти.

Рассмотрим простейшую задачу. Допустим, нам надо максимально точно распознать речь из оригинального иностранного видео, язык которого мы не знаем. Сделать все надо «за бесплатно», т.е., мы ничего не можем заплатить другим (например, профессионалам) и нам за эту работу никто не заплатит. Используем только доступные инструменты (вроде, бесплатных онлайн-сервисов) и Интернет, который у нас уже есть.

Какой тут можно предложить алгоритм?

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

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

Каким тут будет оптимальный (с точки зрения минимизации ручной работы) алгоритм?

Соответственно, на работе может возникнуть ситуация, когда нужно придумать алгоритм, для решения какой-нибудь нетривиальной задачи. Разве таких задач не бывает в практике программиста? И чем здесь может помочь знание пакета стандартных алгоритмов? Кроме как, для общего развития.

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

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

Смысл этой задачи – получить эффективный, но бесплатный, инструмент для создания, например, двуязычных субтитров к произвольным иностранным видео.

В общем, вопрос риторический. Как программисту бороться с неопределенностью в своей практике, при отсутствии явного бюджета на это?

НЛО прилетело и опубликовало эту надпись здесь

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

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

Почему всегда присутствует эта неопределенность половинчатость? Почему нельзя сделать тест комплексным и полным? Кому от этого хуже?

НЛО прилетело и опубликовало эту надпись здесь

А то что уступать нужно только тем кто едет поперёк вас - никто не знает

Уступить дорогу тем кто едет вдоль - сложно. ;)

НЛО прилетело и опубликовало эту надпись здесь

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

В этот момент он перестает ехать вдоль. /зануда

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

НЛО прилетело и опубликовало эту надпись здесь

это не так работает

да, конечно.

Меня учили так: не можешь определить, какая дорога главная - все главные, один ты на второстепенной и уступаешь всем.

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

В правилах специально для этих товарищей тоже написано, что при съезде с главной дороги они уже как бы и не на главной.. но до этого места они не дочитали ;) или почему то понимают это место как им удобно.

НЛО прилетело и опубликовало эту надпись здесь

Сорян, был неправ

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

потому что между зубрёжкой и пониманием достаточная пропасть, чтобы поставить их на разные чаши весов

Зубрежка - это одна из составляющих понимания. Просто все составляющие обучения должны идти параллельно. Тогда будет видна их взаимосвязь - что и означает понимание.

Зачем? ПДД нужно не знать, а понимать и уметь ими пользоваться

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

Ну знает какая-то Маруся что "треугольник" - это уступи дорогу и еще таких же 90% водителей точно так же вызубрили это. А то что уступать нужно только тем кто едет поперёк вас - никто не знает

Ну это даже зазубренным знанием назвать трудно, где-то на троечку так.

Вот я не знаю названий и половины знаков, наверное 3-5 знаков только назову правильно, но у меня безаварийной езды в Новосибирске 19 лет из 20

Просто у вас сильно прокачаны навыки логического мышления и предвидения ситуации (а также рефлексы управления автомобилем), и этим вы компенсируете недостаток в теоретической подготовке. Но ведь подготовка рассчитана на усредненного человека. Поэтому пусть лучше уж Маруся зубрит билет, чем нет.

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

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

первое - полезно, второе не имеет смысла, за два часа вы не научитесь

Два часа - это я про экзамен говорил. А обучение за рулем часов 50 должно составлять.

а верчение головой даже со стажем в 20 лет ничем хорошим не закончится - нужно смотреть вперёд и в зеркала, никогда головой никуда не крутите, вся информация есть впереди и в зеркалах

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

ну это нужно только тем кто катается на механике

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

Потому что это будет тест ради теста

Задача тестов отсеять неумеющих идиотов. Поэтому не надо тесты противопоставлять хорошему обучению. А иначе как вы проверите - обучился человек или нет?

Другими словами, мой подход таков: комплексное сложное длительное обучение + сложный тест => повышение общей безопасности на дорогах.

НЛО прилетело и опубликовало эту надпись здесь

стоимость получения прав 1 млн руб ))))

Именно к этому выводу я вас и подводил!

НЛО прилетело и опубликовало эту надпись здесь

В чем тут коррупционность? Экзамен 2 часа за рулем + 1 час сдачи теории. Курсы пусть будут частные, но если процент проваливших экзамен учеников больше 10%, то контора теряет лицензию на этот бизнес. А расходы у ученика приличные, от балды их посещать себе дороже.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

за пол цены обучения вы сможете просто купить права

Даже если за это 10 лет тюрьмы будет полагаться? А если 20 лет?

НЛО прилетело и опубликовало эту надпись здесь

В тюрьмах сидят виновные и их остановил закон. А другие задумаются и тоже остановятся. Чем строже закон, тем меньше желающих совершать преступления.

А в вашем мире чем люди руководствуются, исключительно благими намерениями?

НЛО прилетело и опубликовало эту надпись здесь

люди сидят в тюрьме не потому что их остановил закон, а потому что они попались

Попались кому, бабушкам на лавочках? Сами же себе противоречите.

И из года в год преступлений меньше не становится

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

И чем строже закон, тем дороже планка, через которую нужно переступить

И это правильно.

 А если строгость задрать до предела, то люди просто начнут по беспределу убивать свидетелей например

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

Всё это уже давно изучено и разложено по полочкам

Уж не USAID ли эту титаническую работу провела?

НЛО прилетело и опубликовало эту надпись здесь

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

Есть даже такое расхожее выражение "представители закона": полиция, судьи и т.д. Не бывает законов без систем их воплощения (по крайней мере, не должно быть так). Так что преступников садят в тюрьму и Закон, и полиция, и прокуроры, и судьи.

Не правоохранительные системы вовсе

Что?

И что в этом правильного? Выше коррупционность, больше ошибок, злее преступники

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

Ну вот идет человек после работы по улице, сзади стреляют в затылок, забирают кошелёк

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

Будет как в Колумбии и Мексике, когда детей с 8 оет будут использовать для убийства

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

Но решение есть даже для них!

А причем тут они вообще? 

А при том, что в свете вскрывшихся фактов все эти "как известно..., было доказано...., ученые установили..." не вызывает уже никакого доверия.

НЛО прилетело и опубликовало эту надпись здесь

Весомые доводы!

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Вы тут спорьте, а я по-оффтоплю немного чтобы мысль не забыть, систематизация понимания так сказать.

В одной из дискуссии на Хабре вскользь поднимался вопрос о причинах необходимости существования полиции при наличии разрешения на свободное ношение оружия у гражданского населения. Что вроде как она и уже не нужна будет, что со всеми такими вопросами самостоятельно и успешно справятся вооруженные граждане.

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

А вы сейчас подсказали второй довод: степень вооружения. Если (в моем подходе) гражданское оружие ограничивается по мощности (пистолет, без автоматики, максимум 10 патронов, короткоствол, без глушителя), то полиция в нем не ограниченна (бронежилеты, винтовки, бронеавтомобили). И я бы вот этим ребятам на видео еще добавил бы гранатометы с малым зарядом. Но не подствольные (у них точность низкая), а что-то вроде этого. Чтобы у забаррикадировавшихся бандитов точно шансов не было. ну не бомбу же на них сбрасывать /оффтоп

НЛО прилетело и опубликовало эту надпись здесь

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

Да, есть такой момент. Но идеальных решений не бывает, можно только выбирать из них варианты с минимальными издержками. Но это уже выходит за рамки нашего и так уже оффтопного треда.

НЛО прилетело и опубликовало эту надпись здесь

Никакого ограничения гражданского оружия

Спасибо, подняли настроение.

Потому что гражданское оружие — это самооборона не только от мелких локальных бандитов, но и от зарвавшейся полиции

Это да, но пока не готов на свое мнение по этому вопросу.

Это фактологически не так

В том то и дело, что эту фактологию надо разбить на отдельные независимые функции, посмотреть на них, потом на их интерференцию. Большая работа...

Никакого ограничения гражданского оружия.

А как насчет танка на средства артиста? Тоже надо разрешить? ;-)
Кстати, а на права, чтобы ездить на своем танке, сдавать надо, как по-вашему? ;-)

PS Кстати, для самообороны от зарвавшейся полиции, надо нарабатывать навык не только стрелять в людей которые отстреливаются((с) Гоблин), но и делать это в составе подразделения - потому что остреливаться будут тоже будут в составе подраделения. А это - не менее разные навыки. Но это так, к слову.

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

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

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

Вот что мешает Хабру решить проблему оффтопов (а они будут всегда пока меня не забанят) принципиально, раз и навсегда?:Для этого всего лишь надо

  • дать возможность прочитывать новые комментарии по одному в отдельной специальной вкладке ЛК (чтобы остальные не сбрасывались)

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

  • в уведомлениях (колокольчик) не отображать статью, если у нее новые комментарии только оффтопные

Да, это тоже оффтоп, просто триггернуло, извиняюсь.

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

Спасибо за бальзам на душу поднятую тему!

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

Более того, такой человек может просто пойти и застрелить какого-нибудь коррупционного судью. Главное потом доказать, что судья действительно был коррупционен. То есть всё по закону, никакой анархии! Ну и от правительства медаль "За проявленный героизьм".

Извините, что вмешался, не выдержал...

НЛО прилетело и опубликовало эту надпись здесь

вы похоже не представляете что такое человек.

Мне кажется, никто не знает точно, что это такое. Но если поделитесь мыслью...

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

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

НЛО прилетело и опубликовало эту надпись здесь

Добрый человек, расскажи, пожалуйста, про ноги и педали, это доставляет мне максимальный дискомфорт. У меня не получается держать пятку на полу и жать носком, я полностью поднимаю ногу и давлю. И при этом не могу точно контролировать силу нажатия. Есть техники, чтобы лучше управляться с педалями?

Это шутка такая, да?

НЛО прилетело и опубликовало эту надпись здесь

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

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

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

я как-то проходил тестовое задание для яндекса, там надо 5 часов решать какие-то задачи, все под таймер и бла бла бла, тогда это было забавно, сейчас я бы ни за что не стал тратить на это время))

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

Беда всех статьей такого рода в том, что они задают вопрос "зачем алгоритмы", а отвечают на самом деле на вопрос "почему бигтех дрочит вас алгоритмами". А это 2 большие разницы.

Знание алгоритмов становится полезным, если у вас в коде есть циклы или коллекции. Есть они везде. Работать с ними можно по-тупому или по-умному. Хочешь по-умному - будь добр ознакомься с темой алгоритмов и структур данных. Вот и всё.

А про бигтех пережевывать в сотый раз уже не интересно.

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

Про бигтех мне самому не очень интересно.

Вы в статье и порассуждали (успешно). Но в комментариях сразу сместили фокус на собесы (что мне слегка странно)

Вообще мимо аналогия.

Вы про мануальные навыки? Тут согласен - программисту мануальные навыки не нужны (разве что - навык печати): программирование идет в голове, там всё устроено по-другому, координация работы мышц для программирования не нужна

Хоть в прямую про мануальный навыки, хоть несколько метафорично.

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

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

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

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

Тем не менее, хороших подтверждений такой гипотезы я не встречал. Возвращаясь к аналогии про мануальный навык воздения машины. Говорить о том, что инвестиция нескольких месяцев в решение литкода и формулирование алгоритмов по памяти помогает в работе программистов — это примерно как говорить о том, что умение бегать марафоны сильно помогает водить машину. Координация, физическая подготовка, фокус внимания на дороге и вот это всё.

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

Если ты Гугл, то можно при сдаче на права требовать пробежать марафон, 100 раз отжаться, 50 раз подтянуться, поразить мишеть из лука, перевести текст с Японского и ответить устно на вопрос по-английски. Возможно, в таком случае аварий будет меньше. Но это — если ты Гугл. Во всех остальных случаях your mileage may vary 😥.

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

Если же есть выбор между реализацией алгоритма, использованию библиотеки или решением без алгоритма - выбираем то что будет быстрее реализовать, даже если алгоритм в этом случае будет "правильней". Не потому что оптимизация не важна, время обработки не важно и проч., а потому что лучше пусть будет на 100мс дольше запрос, или использовать будет больше памяти / процесорного времени, чем программист будет сидеть и наяривать этот алгоритм. Время программистов стоит дороже чем подобная оптимизация

Но тот же Яндекс требует идеального вызубривания алгоритмов.

Ну, в Яндексе можно и не работать. Это не обязательно, работать в Яндексе.

Нафига мне каждый раз помнить алгоритм обхода бинарного дерева, если я не пользуюсь бинарными деревьями?

Может, потому и не пользуетесь? Я вот пользуюсь :-)

Время программистов стоит дороже чем подобная оптимизация

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

Оооо..Я помню как не любила приходить на пары по алгоритмам, еще когда графы рисовали на бумаге..пустая трата времени) Но кстати потом, когда пришли к более сложным задачам, то поняла, что без них сложно понять логику программирования) Но когда устраивалась на работу, никто ничего про алгоритмы не спрашивал)))

И как вам поможет опыт сортировки и обхода бинарных деревьев сделать фикс API в лохматом легаси коде? Алгогритмические нетривиальные задачи в работе - это самая малая её часть. Чтение написанного кода/API и понимание как оно устроено и как его использовать мало соотносится к обходам отсортированных массивов и развороту односвязных списков.

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

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

И поможет мне оно, в частности, понять реальную (а не описанную в отсутствующей документации) семантику лохматого API и, как минимум, не поломать её.

Интересно, чем вам может помочь этот опыт, если у этого API есть недокументированные побочные эффекты (а такое бывает, чистую функцию вам никто тут не гарантирует).

Ну исходники-то от API хоть дали?

Мне вот кажется, что знать и понимать алгоритмы полезно, но зазубривать все варианты это уже перебор.
Но я не настоящий программист.

Как и с любым другим знанием.

Знать и понимать полезно, а для хранения всех вариантов существуют справочники. Однако чтобы ориентироваться в справочнике, понимание на уровне "ишь, что бывает" должно быть в голосе.

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

Вот именно! Чтобы нормально пользоваться справочником, с ним надо сначала много поработать!

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

Большие компании при найме должны отфильтровать кандидатов, которые не умеют программировать. Их много. Прям, реально много. Для примера, у меня был кандидат, который в тестовом написал три вложенных цикла for от одного до тысячи. Спрашиваю: "сколько раз выполнится выражение внутри самого вложенного цикла". Отвечает: "тысячу". Переспрашивал несколько раз: всё-равно "тысячу."

Во-вторых, бигтех предлагает зарплату заметно выше рынка, а потому, может позволить себе нанимать только тех, кто мотивирован работать именно у них.

Ни то, ни другое, не имеет никакого отношения к ценности понимания алгоритмической сложности самим разработчиком. Последнюю даже обосновывать странно: если разработчик не может прикинуть сложность решения по вычислениям и памяти, то он просто профнепригоден.

бигтех предлагает зарплату заметно выше рынка

Судя по отзывам - ниже.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации