2022-10-25 09:39:17
Почему синьорам тяжелее пройти в Google, чем студентам?
Задумывались ли вы о том, почему на собеседованиях в FAANG не спрашивают про языки программирования, про технологии и фреймворки?
Вы не услышите вопрос - как устроен Garbage Collector или как работает HTTP запрос, вместо этого будут алгоритмические задачки - найти кратчайший маршрут между вершинами, повернуть дерево, убрать все нолики из массива и так далее.
Почему так?
Принцип, которым руководствуются в Google и другие тех гиганты - принцип непредвязтости (unbiased). Идея такая - смышленный инженер, сможет завтра изучить любую технологию, любой язык программирования и даже написать свой фреймворк. Опыт конечно играет свою роль, но проявляется больше при проектировании систем (system design) и поведенческих (behavioral) интервью.
Из-за того, что технологии меняются слишком быстро (каждый день новый JS framework), Google просто не может завязаться на них, не успеет. Можно для примера сравнить, на чем писали люди 5 лет назад и на чем пишут сейчас. Вот и пришлось построить систему, которая по определенным параметрам: data structures, system design, behavioral на выход отдает одно число: L3, L4, L5. Таким образом Google может сравнивать одного кандидата с другим и выбирать лучших. Конечная оценка конечно коррелирует с уровнем самого разработчика, но упускает один важный момент - практический опыт человека, из-за этого крутые ребята могут остаться за бортом.
В Яндекса я периодически собеседую ребят 30+, с большим багажом знаний, полезного опыта и критически важных навыков. Основная проблема этих ребят, что они не могут осилить задачки на алгоритмы и структуры данных, просто потому что их ежедневная деятельность не связана с посторением Минимального Оставного Дерева или динамическим программированием. С опытом понимаешь, что разработка внутри Google по сути такая же как в внутри Kaspi, те же базы, те же технологии, отличаются лишь детали. Теперь представьте, разработчик прошедший огонь, воду и лежаший прод - это золото для любого соискателя, за битого двух небитых дают. Такой человек может решать задачи любого уровня и достигать поставленных бизнесом показателей. Но такие ребята обычно получают оценки уровня middle. Не справедливо? Соглашусь.
Поэтому когда ты молод и только погружаешься в мир программирования, тебе легче уделять время leetcode, codeforces, topcoder. Среди студентов IT специальностей проходят всевозможные ACM соревнования, практически в каждом университете есть курсы по Алгоритмам и Структурам Данных. Все мечтают о Google и ты находишься в этом состоянии, и готов шерстить Кормена и Кнута ночами напролет. Важно как минимум получить необходимую базу, попробовать и провалить несколько собеседований в FAANG, с годами такие штуки даются намного сложнее.
340 viewsYedige, 06:39