Я вижу так много компаний, которые задают LeetCode вопросы о вакансиях по разработке программного обеспечения. (даже для разработки внешнего интерфейса веб-сайта).
Эти вопросы могут быть очень конкретными, и типичный инженер-программист не стал бы задавать их даже через 15 или 20 лет. Например, при наличии щелей 10000 x 10000 и разделителей разной высоты между ними теперь можно найти область 20 x 20, которая может задерживать наибольшее количество дождевой воды, когда идет дождь в течение длительного времени.
А разных вопросов в базе LeetCode может быть 1500.
И загвоздка в том, что многие программисты могут написать некоторый код, который может найти ответ, но проблема обычно имеет некоторые хитрости в свойстве задачи, которые каким-то образом вы можете сделать это быстрее.
И исследования такого типа проводились, иногда месяцами или годами, в качестве магистра или доктора философии. Тезис.
Но дело в том, что программисты, особенно программисты, которые разрабатывают внешний интерфейс веб-сайта, вообще этим не занимаются. Ни разу за 20 лет. Так что на самом деле это не их настоящая работа.
Но компании любят задавать вам эти вопросы, и люди, прочитавшие ответы на LeetCode, могут получить 5 из 5 баллов за несколько собеседований и попасть в компанию, а человек, написавший правильное решение, но не решение людям понадобились месяцы или годы, чтобы узнать об этом раньше, получают только 3 или 3,5 из 5, и их отвергают как кандидата.
И вот что я иногда обнаруживал: эти инженеры приходят в компанию, а иногда даже не могут написать правильный код. Они знают стандартные ответы на эти вопросы, но, увидев реальную проблему, иногда не умеют думать — не так хорошо, как кандидаты, которые действительно могут хорошо мыслить на собеседованиях.
Но компании так или иначе нанимают людей, используя этот метод. Я не совсем понимаю, как и почему это работает именно так?
Но компании так или иначе нанимают людей, используя этот метод. Я не совсем понимаю, как и почему это работает именно так?
В некоторых компаниях нет опытных инженеров, анализирующих процесс собеседования. Ошибка с их стороны, если они нанимают инженеров, но достаточно распространенная. Так что HR просто ищет какую-то метрику для использования.
Я не совсем понимаю, как и почему это работает именно так?
Следует помнить одну очень важную вещь: цель процесса найма компании состоит в том, чтобы как можно проще нанять квалифицированных людей. Вот и все.
Его цель не в том, чтобы убедиться, что каждый квалифицированный специалист прошел собеседование. Цель состоит не в том, чтобы найти кандидата с «неограненным бриллиантом», кого-то с плохим опытом работы, или кто плохо проходит собеседование, или кто что-то забывает во время написания кода на доске, или кто допускает ошибки при программировании по времени. оценка и т. д., но на самом деле преуспеет в работе.
Пока рабочие места заполняются хорошими сотрудниками, процесс найма работает. Есть ли «ложноотрицательные результаты», когда процесс отбраковывает людей, которые имеют квалификацию и которые преуспели бы в этой работе? Конечно есть, но с точки зрения процесса найма это необходимо. У компании нет времени на собеседование с каждым кандидатом, поэтому ей нужен какой-то способ фильтровать кандидатов, чтобы люди, которые действительно проходят собеседование, скорее всего, были квалифицированными. Если они берут интервью у 5 подходящих людей на роль, не имеет значения, что 5 других подходящих людей не прошли отбор.
Обратите внимание: я не утверждаю, что вопросы типа LeetCode лучше всего оценивают разработчика или что компания, которая их использует, думает, что они тоже. Я хочу сказать, что не имеет ни малейшего значения, если эти вопросы не имеют никакого отношения к работе. Неважно, что вы никогда не перевернете строку или не найдете все простые числа в списке; важно только то, что компания думает, что ее процесс работает: она находит квалифицированных кандидатов настолько эффективно, насколько это возможно.
Поэтому, если вы хотите подать заявку в компанию, которая решила использовать эти тесты, у вас есть два варианта: вы можете либо попрактиковаться в этих задачах, либо сесть неподготовленным и надеяться, что вам повезет.
Потому что HR и рекрутеры довольно часто полностью оторваны от реальности (т.е. заблуждаются в своих достоинствах) и ничего не знают об ИТ. Они ищут НЕКОТОРЫЕ показатели, чтобы измерить, насколько хороши люди, не беспокоя ИТ-отдел пробным рабочим днем или чем-то в этом роде.
А это значит, что им нужны измеримые тесты. А затем вы добавляете их и, возможно, какой-то менеджер настолько глуп (да, это дружеская версия), что он не понимает, что КАЖДЫЙ ИТ-специалист, которого я когда-либо встречал, понимает, что эти тесты ничего не значат - что они сразу используют совершенно неточный тест.
Это серьезный случай массового заблуждения - целая индустрия думает, что они что-то значат, когда все, кто занимается программированием, знают, что они ничего не значат.
Становится еще лучше, когда этих некомпетентных наемников больше не увольняют, потому что «нам так сложно найти ЛЮБОГО из нашего отдела кадров, нам лучше работать с тем, что у нас есть». Тогда это означает, что принцип Питера работает в полную силу, ИТ-группа становится патокой некомпетентных людей (по мере того, как компетентные уходят), и все потому, что HR прекрасно справляется с абсолютно неработающими тестами.
С точки зрения интервьюера: многое можно узнать о компетентности программиста, наблюдая за тем, как он решает проблему, какие предположения делает, какие вопросы, по их мнению, должен задавать и так далее. Часто даже не требуется, чтобы кандидат предоставил полное решение. Это может показаться смешным, но на самом деле есть ценность, когда все сделано правильно.
Это не означает, что все интервьюеры обучены делать это таким образом; некоторые действительно просто болтаются.
Найм — это трудоемкий и дорогостоящий процесс. Многие компании перекладывают это на рекрутеров и/или онлайн-техтесты.
Эти тесты стиля очень хорошо рекламируются. Они утверждают, что предоставляют компаниям практически бесплатный способ проверить кандидатов, задать правильные вопросы, найти лучшие таланты, и именно поэтому компании используют их.
Если вам не нравится их делать или вы не видите, насколько они актуальны, скажите об этом. Попросите другой способ доказать свои навыки. - Не всегда получается, но иногда получается.
Эти вопросы могут быть очень конкретными, и типичный инженер-программист не стал бы задавать их даже через 15 или 20 лет.
Эти вопросы стиля на 100% относятся к разработке программного обеспечения и к тому, что должен знать «типичный» инженер-программист, но совершенно не имеют отношения ко многим нишевым областям разработки программного обеспечения, таким как веб-разработка, потому что большая часть знаний CS абстрагируется языками высокого уровня. и библиотеки.
Большинство этих стилевых тестов ориентированы на разработку программного обеспечения в целом, а не на какие-то приятные области, поэтому многие компании проводят тесты по CS, а не по веб-разработке.
(Скорее, те, которые ориентированы на веб-разработку, часто плохо написаны с упором на нерелевантные вопросы CS)
Некоторые компании начинают это осознавать, но потребуется время, чтобы что-то изменилось.
По сути, компании просто хотят наиболее экономичный способ найти хороших кандидатов, и эти тесты стиля обещают это, даже если они не обеспечивают.
Если у вас много кандидатов, то тратить время на каждого из них становится очень дорого. Так что все, что отфильтровывает 500 кандидатов до 10, хорошо для компании. Это также ценно, если вас не могут обвинить в дискриминации, когда вы удалили 492 кандидата. Так что вопрос с «литкодом» в этом отношении весьма хорош.
Вы можете быть хорошим разработчиком, не имея возможности решить такую проблему, но эта способность дает небольшой намек.
Я хочу добавить здесь ответ, который утверждает, что компания не знает, что делает. Они точно знают, что делают: хотят нанять послушных, а не умных.
Такая схема повторяется в истории. 1000 лет или 2000 лет назад, если вы можете декламировать и запоминать какой-нибудь древний сценарий или текст, вы становитесь официальным лицом династии и в некотором роде управляете другими людьми. Людьми, которые не удосужились выучить 200 000 слов письменности, вместо этого будут править люди, готовые подчиняться Династии. Это разумно? Возможно, нет.
Однако, если это неразумно, сделаете ли вы это? Будете ли вы достаточно послушны, чтобы делать то, что неразумно повиноваться нам? Если вы подчинитесь нам, мы заставим вас править другими людьми. В противном случае нет. Ключевым здесь является «подчинение».
То же самое с образованием в Гонконге или, возможно, в Великобритании несколько лет назад. (насчет современности не знаю). Физика или продвинутая математика, которым они вас учили, были не для того, чтобы вы их понимали. Вам говорят, как что-то решить, запомнить какие-то уравнения, например, длину струны и вес свинцового шара, а теперь переместить его на 45 градусов, и какова частота его колебаний? Если вы запомните формулу на экзамене и дадите ответ, вы получите 10/10 баллов. В противном случае вы получите 0/10 очков. Те, кто может набрать 95/100 баллов, поступают в университет. (Только около 2% населения Гонконга могли поступить в университет в то время, потому что в Гонконге в то время было только два университета на население в 6 миллионов человек). А когда вы поступите в университет, вы станете руководителем или инженером в компании и будете получать 8000 гонконгских долларов в месяц. В противном случае вы идете с дипломом средней школы, и вы «техник», и получаете, возможно, 3000 гонконгских долларов в месяц. Многие люди не могли позволить себе учиться за границей, так что это не было похоже на «просто пойти в колледж», как в США. (но даже в США посмотрите, что происходит, когда вы хотите использовать Leetcode или когда вы не хотите извергать оптимальные решения).
Итак, запоминание формул — это разумно? Возможно нет. Но достаточно ли вы послушны, чтобы сделать это? В Гонконге особенно были проблемы с колониализмом. А именно: Великобритания хотела управлять Гонконгом (как колонией). Он не мог использовать британцев для прямого управления жителями Гонконга, поскольку людям это не понравилось бы. Таким образом, они платят смехотворно высокую зарплату гонконгцам, скажем, когда они становятся старшими, 15 000 гонконгских долларов каждый месяц, чтобы они подчинялись правительству. А потом, получая такую высокую зарплату, они в свою очередь станут чиновниками и будут управлять народом. Они склонны следовать приказам, потому что не хотят потерять работу и попасть в частный сектор и, возможно, вместо этого зарабатывать всего 11 000 долларов в месяц. Итак, ключевой момент в том, что правительству нужны послушные люди. Послушание – это ключ. Как результат, они дают вам систему образования, которую местные жители называли «фаршированием пекинской утки», и многие люди считали это неразумным, и почти все следовали этой системе. Видишь ли, если ты послушаешься, ты будешь в обществе. Если вы не будете подчиняться, они позаботятся о том, чтобы вы остались на дне.
Стефани Гаусс