Справедливо ли спрашивать в интервью, как умножать цифры?
Это не известно, NP-C, но не полиномиальное время решения [*] не известно, так что, конечно, не известно, что в Р.
Я думаю, что ответ на оба моих вопроса, и исходный вопрос, «да», и по тем же причинам. В некоторых проблемах нет решения, которое хорошо масштабируется, но все равно нужно решать все определенные задачи. Если вам нужны программисты, которые могут справиться с такими проблемами, есть хороший способ дать им возможность доказать это в интервью, и это нужно, чтобы передать их одному и посмотреть, не волнуются ли они.
Если кто-то утверждает фон CompSci, он должен даже обеспечить хорошие решения определенных проблем NP-C по требованию, например, решить проблему с ранцем с динамическим программированием. Я бы счел бессмысленным просить заявителя о задании на программирование, чтобы решить проблему, которую они никогда раньше не видели, и на самом деле доказать, что она NP-полная (например, уменьшая рюкзак до указанной проблемы). Вам не нужно очень много программистов для каждой компании, которые могут это сделать (обычно 0), и все, что вы, скорее всего, обнаружите, это то, как долго кандидат держится на ней, прежде чем пытаться изменить тему и сделать что-то более ценное с временем интервью. ..
[*] полином размера входного бита, то есть. Вы часто видите, что люди обсуждают алгоритмическую сложность целочисленных задач, таких как факторизация, в терминах размера числа, представленного входом, например. «sqrt (N)». Но это не так, как определены NP и NP-C.
Вы можете обсуждать, являются ли они законными вопросами или нет, но потенциальный работодатель может решить спросить их в любом случае. Самое главное, как вы реагируете на них. –
@ Роберт Харви, ну, вот что я имел в виду под термином «что ожидали интервьюеры?». –
Он имеет в виду этот вопрос ОС: http://stackoverflow.com/questions/1720737/from-an-interview-removing-rows-and-columns-in-an-nn-matrix-to-maximize-the-sum – Frank