Автор | Программисты, насколько сильно вам понадобились знания математики в практике? |
Я собеседую народ и задаю задачки на алгоритмы, это проверяет gca (general cognitive ability) кандидата. Наряду со знаниями по стеку технологий это важный фактор. По моему опыту народ хорошо знающий математику справляется лучше с заданиями. |
Я собеседую народ и задаю задачки на алгоритмы
А потом нанятые кандидаты перекладывают джейсоны из сервиса в сервис? |
для FireSwarm:
Недавно с таким столкнулся. Мало того- упали в тупик с засраным хипом при его разборе.
Про пейджинацию не слыхали, как впрочем и за джейсоновский сериализатор шобы нули выбрасывать. Названия полей выбросить отказались тоже- говнокода переписывать грят много. Попросили убрать 5 текстовых полей для уменьшения размера ..через неделю добавили 13.
IT-консалтеры,200+ чел.
При наборе давали задачи по физике,спецом интересовался. На по/против течения,скорость и время. Ну-как понимаю,доплыли. |
для СвиноПас:
При наборе давали задачи по физике,спецом интересовался. На по/против течения,скорость и время. Ну-как понимаю,доплыли.
Красавчики. :) |
для FireSwarm:
зависит от проекта на который попадают и от уровня кандидата. Конечно от начального уровня кандидата многого не ждут и в целом просят делать решения по дизайну более старших коллег. От более старших ожидают большей самостоятельности, возможность заниматься фичей самому без помощи, участии в дизайн сессиях и т д. В целом инициатива это хорошо и всегда приветствуется. |
От более старших ожидают большей самостоятельности, возможность заниматься фичей самому без помощи, участии в дизайн сессиях и т д.
Не, вопрос в другом. Как часто они решают именно алгоритмические задачи? |
для FireSwarm:
Практическое применение алгоритмов узко. Но в среднем человек который хорошо решает задачи сможет написать код с меньшем числом багов, а также более оптимально спроектировать систему - большая вероятность что определит верную структуру данных или подход к решению проблемы (начиная от простых структур типо деревьев, хештаблиц и заканчивая более сложными алгоритмами типо кешей, фильтров блума, распределенных систем). |
Практическое применение алгоритмов узко.
Допустим.
Но в среднем человек который хорошо решает задачи сможет написать код с меньшем числом багов
А вот это уже крайне сомнительное утверждение.
а также более оптимально спроектировать систему
Если вы ищете людей, которые могут оптимально проектировать систему, почему бы не пообщаться на собеседовании про паттерны проектирования? Варианты разворачивания? О том, как должна выглядеть архитектура отказоустойчивой и/или хайлоад системы? Какие решения принимают для этого и какие инструменты есть? Или о DDD?
Если говорить про "чистый код", почему не обсудить SOLID, например? TDD, плюсы-минусы. И это только верхушка айсберга.
Столько всего можно обсудить, что непосредственно относится к работе прогера любого уровня, зачем обсуждать алгоритмы, которые он не будет использовать никогда? |
Если вы ищете людей, которые могут оптимально проектировать систему, почему бы не пообщаться на собеседовании про паттерны проектирования?
Это тоже оцениваю в рамках задачи на алгоритмы. То насколько человек чисто и в каком стиле написал код тоже очень важно. Насколько решение является расширябельным.
также есть отдельный этап собеседования - называется системный дизайн. Там беру абстрактную проблему (например спроектировать url shortener) и прошу кандидата составить архитектуру и базовые классы компонент. Мне интересно как человек в целом мыслит, а потом углубляюсь в одну из проблем и слушаю как бы кандидат ее решил (в случае url shortener это может быть алгоритм хеширования урла или проблема скейла). Тут очень важно насколько кандидат может понять изначальные условия (вопросы очень приветствуются) и грамотно смоделировать решение.
зачем обсуждать алгоритмы, которые он не будет использовать никогда
затем что нужно проверить насколько кандидат может быстро мыслить и решать поставленные задачи. А также владеет языком программирования. Лучше проверить больше, чем меньше. Цена за неверный найм может быть высокая. |
Если вы ищете людей, которые могут оптимально проектировать систему, почему бы не пообщаться на собеседовании про паттерны проектирования?
Это тоже оцениваю в рамках задачи на алгоритмы.
Мне очень интересно посмотреть примет тестовой(!!!) задачи на алгоритмы(!!!), которая решается на собеседовании(!!!), и в которой понадобятся паттерны проектирования. Можешь поделиться?
Лучше проверить больше, чем меньше.
Ты не в яндексе работаешь?))) |
да возьмем то же бинарное дерево. У которого есть разного типа ноды. И возьмем java как язык. Если кандидат подумает и сделает абстрактный класс и туда всунет темплейт метод - это уже классно :). Если дженерики добавит - еще один плюс. Конкретные задачи не буду приводить
Ты не в яндексе работаешь?)))
нет, но тоже в компании у которой есть свой поисковик и браузер ) |
да возьмем то же бинарное дерево. У которого есть разного типа ноды.
И какие же паттерны проектирования можно применить при построении бинарного дерева? И зачем там абстрактный класс? Бинарное дерево - это поведение, поведение - это интерфейс. Хотя, если мы хотим использовать некомарабл объекты, то можно в абстракцию положить компаратор и реализовать метод сравнения. Или просто сделать темплэйт екстендс компарабл и идёт всё лесом) Мне кажется для тестового задания это не имеет никакого значения. В любом случае, так ли абстрактный класс - паттерн проектирования? Меня терзают смутные сомнения.
нет, но тоже в компании у которой есть свой поисковик и браузер )
Просто яндекс странные по собесам, у них больше всех этапов. Недавно была акция оффер за выходные, там нужно было все выходные перед компом торчать с 10 до 10. Упоротые, в общем. |
да возьмем то же бинарное дерево.
Кмк AVL- дерево лучше сюда подойдет. Оно не такое деревянное. |
Не дай бог попасть в Яндекс. Низкие зарплаты и ещё брендом кичаться. Ну и их легендарные в плохом смысле гоняния по алгоритмам |
Зарплаты низкие, потому что рынок российский
Откуда им деньги брать?
А алгоритмы потому что они у них есть сложные продукты уровня фаанг компаний, иногда превосходящее этих самых фаанг |
продукты уровня фаанг
Это точно про яндекс? |
Да, у яндекса лучший поисковик, особенно что касается картинок |
Ну поисковик явно не то, что сделало гугл гуглом... Впрочем ок, что-то яндекс всё-таки умеют. |
Гугл гуглом стал только благодаря поисковику.
Основной их доход это реклама от поисковика, даже андроид и ютуб (чужие проекты, кста) приносят маленький доход по сравнению с поисковиком. Остальные проекты зачастую убыточные и вскоре закрываются.
Гугл без поисковика не существует. |
ЗП в Яндексе маленькие даже на фоне других контор в РФ. |