То, что я скажу, может быть немного противоречивым по своей природе, но я очень разочарован сегодня - и поэтому я спрошу это.
У меня только что было собеседование с крупной технологической фирмой на стажировку, где мне задавали много типичных вопросов, ориентированных на алгоритмы. Теперь, учитывая мое прошлое, я считаю себя сильным в алгоритмах (у меня также есть хорошие оценки в алгоритмах уровня выпускника - материал с NP-полнотой и выше (аппроксимация и рандомизированные алгоритмы), но, к сожалению, я провалил интервью. Я не смог Подумайте об очень эффективном методе решения струнной проблемы примерно за ~ 10 минут. Когда интервью закончилось, у меня был стакан воды, я съел банан и немного расслабился и попытался снова. И вот! Ответ, который я мог бы получить менее чем за 5 минут. И самое худшее из всего - я был на самом деле на этом треке, и интервьюер намекнул на это, но слишком сильное давление приготовило меня. Весь мой опыт заставил меня задуматься о технических интервью. У меня были некоторые вопросы, и я хотел задать их на этом форуме -
Разве можно за полчаса судить о чьих-то технических способностях? Честно? Или это просто бросок костей?
Измеряют ли технические вопросы интервью способность решать проблемы? Этот момент очень спорный? Как аспирант я знаю, что решение математических задач включает в себя решение того, о чем вы никогда раньше не слышали. С другой стороны, такие вопросы, как - объединение двух связанных списков в отсортированном порядке или печать всех элементов бинарного дерева на k-м уровне, становятся «простыми упражнениями», когда кто-то видит решение или решает проблему заранее?
Люди, которые выходят с летающими красками в этом интервью, становятся великими программистами? Они продолжают разрабатывать изящные игровые движки, графические библиотеки, писать быстрые фреймворки с форк-объединением? Есть ли какие-либо доказательства, указывающие на положительную взаимосвязь между успехами в технических интервью и фактическими способностями программирования? Или эти интервью в большей степени направлены на то, чтобы найти человека, который «добивается цели» (Спольский)?
Могу поспорить, что многие академики, публикующие новаторские идеи - ICML, VLDB, Mobicom, - проваливают эти интервью. Но я могу заверить вас, что они одни из самых умных людей, которых вы найдете на этой планете.
Я в основном в академии (аспирант) - поэтому я буду очень признателен за проницательность со стороны кого-то с другой стороны забора. Кто-то, кто на самом деле проводит эти интервью?
[Ок, все. Спасибо за все хорошие и вдумчивые ответы. Поскольку я не хочу задавать другой вопрос, я попрошу вас ответить на этот вопрос для меня.
Предположим, что у кандидата X есть хороший публичный портфель работ, в котором он участвовал в каком-то известном проекте с открытым исходным кодом, где вы можете пойти и проверить его исправления, проверить исправленные им ошибки и взглянуть на созданные им проекты. В этом случае вопрос состоит в том, сколько веса вы готовы дать его общедоступной / проверяемой работе по сравнению с тем, насколько хорошо он справляется с ответом на какой-то очень надуманный вопрос об бинарном дереве менее чем за 15 минут?]