Здравствуйте, elmal, Вы писали:
E>Здравствуйте, dudkin, Вы писали:
D>>Было бы ему двадцать с лишним и опыта 1.5 года может и взял бы с такими ответами. D>>Ну а если за 25 лет программирования не смог разобраться с процессами и потоками увы придется дискриминировать E>Когда я учился, один из преподавателей нам говорил как можно отличить профессионала от новичка. Отличие простое — код профессионала легок для понимания. Идет оперирование не битами и байтами, а более крупными сущностями. Когда я учился, я не верил, для меня тот препод был не авторитет, так как он Си не знал :). Вот только с опытом я поменял свою позицию, начинаюсь склоняться к такому же мнению. Именно в это выливается опыт, а не в запоминание деталей. E>Вот возьми этого дядю, дай ему задачу (реальную, а не из книжки по определенной технологии), и можешь удивляться — сделает быстро и без багов, причем еще можно легко разобраться в коде. Наворотов в коде не будет никаких, их будет применять в очень и очень редких случаях. А возьми специалиста по многопоточности — он ее где надо и не надо будет применять, багов понасажает немеряно, и в коде будет черти сколько неочевидных граблей. Профессионал тем и отличается, что не будет стремиться при решении задачи продемонстрировать свою крутизну — он сделает только то, что необходимо, ну и предугадает развитие ситуации — если что потребуется добавить, профессионал добавит быстро. Если у вас умение решать задачи не востребовано, а главное чтоб наворотов было побольше, ну — ваши проблемы, не умеете считать деньги значит (либо количество прибыли зависит от человекочасов). В большинстве случае любимая всеми на собеседованиях многопоточность — это именно что навороты, которых в реальном коде нужно стараться как можно сильнее избегать. Как начнете применять ни к месту — в коде без поллитра не разберешься, и багов будет столько же. Какими бы гуру по многопоточности не были бы участники проекта, код, в котором много чего такого используется, сопровождать очень и очень тяжело. Если без этого можно обойтись — надо объодиться без этого, делать как можно проще. Да и даже если нельзя обойтись, нужно эти сложные неочевидные вежи изолировать где то в либах или в самом фундаменте. К сожалению, последствия гениальных решений часто не видны в первые несколько лет, разгребают это все уже совсем другие люди.
Добавлю к сказанному вами что-то подобное.
По поводу "ценности" быстрого решения нетривиальных
задач на собеседовании приведу мнение одного из крупнейших
английских математиков 20 века — Литлвуда (немного из другой области
но параллель легко видна (Дж.Литлвуд "Математическая смесь" Физматлит 1989г. стр. 72):
" Принято было говорить, что тренировка в "навыках преобразований" приносит
позже пользу в исследовательской работе. Я отрицаю это почти безоговорочно — такие навыки
далеко не ведут. Мой опыт показывает, что после нескольких лет от них ничегл не остается,
кроме умения щелкать как орешки экзаменационные задачи (из современных сборников) с маленьким
глупым чувством гордости ....".
А это говорит далеко не последний математик. Следует добавить,
что большинство задач, возможно бы и не решили сами экзаменаторы поступающих
на работу, если бы им вдруг самим в другое время неожиданно задали подобные
вопросы.