Сиолошная
51.7K subscribers
981 photos
177 videos
1 file
1.15K links
Канал SeeAll'а с новостями (и мыслями о них) из мира NLP, VR и космоса.

Более подробно смотри в первом сообщении в канале (оно закреплено). А еще у нас есть чат! Заходи: https://t.me/+i_XzLucdtRJlYWUy
Download Telegram
Forwarded from New Yorko Times (Yury Kashnitsky)
О гномиках и литкоде на собесах
#interview #tips #career

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

“Гномиками” будем называть далекие от практической пользы задачи типа этой, ставшей классической. Еще типичная: есть там остров, бревно, по нему может с фонарем пройти только один человек, папа за 2 минуты, мама за 3., и т.д., за сколько все семейство переберется (немало такого было в моей истории про самый упоротый собес, а также в посте про Санька с Wall Street).

При всем уважении к олимпиадникам и всесторонне развитым людям, гномики - это мало кому нужный мозгодроч, заниматься этим можно в рамках кружка-квадратика юных математиков, чтоб тебя называли сыном маминой подруги. Ну и для персонального развития. А карьере SWE/DS никакого отношения не имеет, даже Гугл подтвердил, что корреляции riddle performance с продуктивностью кандидата – нет (“In Google we analyse everything with data, and what we discovered was that when we examined our brain-teasers, they weren’t a good predictor at all in terms of whether someone would be a good hire or not. So we don’t do them anymore”). Если тебе задают гномика на собесе, смотришь че за компания. Если The Only One - ты должен был знать заранее и ботать гномиков. Если нет - вежливо посылаешь нах, запасные варианты всегда должны быть.

Пример гномика: докажите, что между 100500 и Гуголплекс не менее Гугол простых чисел.

Алгоритмы и структуры данных - это совсем другое, основа основ для любого человека, пишущего код. Например, если ты не знаешь, что lookup в списке не надо делать, а в множестве – можно, то тебе будет тяжело писать эффективный код. Будешь продакту мямлить: “нужно еще пару недель, все работает, но выжирает всю память”. Еще пример из жизни: в телекоме соседний отдел оптимизировал прокладку оптоволокна, решал задачу на графе и вместо алгоритма Беллмана-Форда запускал Дейкстеру для каждой пары вершин. Коллега пришел все пофиксить, но утонул в легаси. В итоге в паре мест поменял списки на множества, шесть строк переписал на нумбу, good enough (возможно, нам все еще дейкстра по всем парам бегает). Так что базовые вопросы по алгоритмам и структурам данных – вполне неплохая идея при отборе любых спецов, пишущих код.

Пример: реализуйте Python-класс Очередь с такими-то базовыми операциями.

Если ты подобные вопросы помечаешь у себя в голове тегом «гномик» - это самообман. Можно делать свой фит-предикт и ждать, когда Generative AI вытеснит тебя из профессии.