我经常会看到程序员“面试造火箭,工作拧螺丝”的讨论,这篇文章我发布了我自己的一些看法:
全文链接:技术面试的平等
但是如果你回顾那些因为错误代码造成灾难性后果的事件,从 Ariane 5 火箭因为整数溢出而爆炸到最近的波音飞机 737 Max 失事。你会发现灾难的来源都是微小的 bug,都是某一颗螺丝,而任何一颗螺丝没拧紧都会造成同样的后果。很多程序员往往只着眼于高大上的概念和架构,忽略了软件工程谨慎细微的重要性。而算法和数据结构却正式锻炼了这样谨慎的思维,Linus 在内核开发的邮件中曾经说过:
“说实话,我宁愿早点淘汰那些没有谨慎开发的人,这听起来很残酷。但我的原因不是因为 “欲戴皇冠,必承其重“这类的观点,而是有更深刻的意义。我宁愿不和粗心的人一起工作是因为谨慎对于软件开发是非常重要的“