Category: образование

me

ПО мотивам обсуждения в ФБ.

Теперь я понимаю, откуда берутся пионеры.

Откуда берутся пионеры?

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

Еще раз и медленно.

Студентов.
Отличников.
Третьего курса.
Московского физико-технического института.

Что я там увидел:
- лабы по Assembler для MSDOS/6.22
- код на С и С++

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

Люди пишут код который лишь бы работал; там, где можно использовать зависящий O(1) по скорости от объёма данных алгоритм, можно обнаружить O(n^2). В частности, при программировании двоичных деревьев студенты не в курсе про вырожденные случаи несбалансированных деревьев и заранее полагают скорость поиска логарифмической (а она там линейная, лол). В случае с assembler люди ничего не слышали о конвейере, привет, 8086, и при этом они же метят на работу в Intel!

Далее.
Народ ничего не знает об STL. Это не нужно, так как закат Солнца вручную - модно и молодёжно.

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

Виноваты ли в этом студенты? Полагаю, что если и виноваты, то не сильно - нельзя учиться новому у старпёров, застрявших в MSDOS 2.0, нельзя всерьёз воспринимать в качестве преподавателей алкашей, нельзя писать качественный код, если проверяют только результаты, не оценивая алгоритм и его реализацию.

А вот то, что даже в #мфти полностью просрана школа - очевидно, и аукнется это не сейчас, и даже не через 3-5 лет, когда этот студенческий сброд пойдёт на работу, а через 15-20 лет, когда массово начнут выходить на пенсию те, кто еще успел отучиться в СССР. Вот тогда - да, наступит веселье.

Обсуждение в ФБ
me

Психологи в HR

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

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

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

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

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

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

О том, какие умения нужны - в следующем посте. Возможно))
me

Вопросы на собеседованиях

Я вот понять одного не могу: чего добиваются интервьюеры на собеседованиях, когда задают вопрос из серии "реализуйте B/B+ дерево"?
В финском языке есть такое слово "myötähäpeä" - чувство стыда за другого человека. Вот когда я слышу на собеседовании подобное, мне, цЫничному гопнику, становится стыдно до состояния "пойти и удавиться шнурками кед".

Мне.

Становится стыдно.

Да, я сам вахуе.

Дорогие сениоры, техдиректоры и прочие системные архитекторы! Задавая подобные вопросы на собеседовании вы демонстрируете дремучесть студента 1-го курса института при зашкаливающей самооценке, рядом с которой Дейкстра, Керниган и Ричи - дети, едва изучившие BASIC. Сколько при этом котиков убивает господь, я судить не берусь, но думаю, что не меньше 9000 за раз.

Просто запомните, если не готовы сами повторить эксперимент: работоспособное B/B+ дерево начинается от 4000 строк кода. До этого момента это не дерево, а школьное поделие, ценность которого околонулевая с любой точки зрения. Дерево, которое поддерживает транзакции, требует по крайней мере 8000 строк кода (данные - про реализацию на С; но написанное актуально и для Java/C++). Добавление в дерево репликации, lock-free доступа обходится примерно в 3-5 тысяч строк для каждого изменения. Представьте себе, да: это - действительно сложный алгоритм. В любом случае это не тема ни для рисования алгоритма на собеседовании, ни даже для домашнего задания на несколько дней.

Если вы не верите написанному, велкам смотреть исходники SQLite, InnoDB и BerkeleyDB.

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

ФБ-копия поста - тут: https://www.facebook.com/sloneus/posts/476966385788196