一道面试题

题和解答在这儿

我特别不喜欢这道题,还有很多类似的题目。因为比如说,如果不是32位的大整数,而都是0或者1的话这题目显然是太明显了。本质就是搞一个模3的循环加法群,把大多数消成零元,然后把异类找出来。至于多少位的整数,反正不参与做任何运算,大小没有任何意义,所以都是浮云;一做运算你就输了。位运算这种优化的小技巧,我觉得真的挺小儿科的。这题,一不考算法,二不考数学,三不考体系结构,四不见得是考优化,五不考软件架构,基本只考点小聪明,如果以前见过类似的题,知道相关技巧,触类旁通一下,连小聪明都考不住。实在是一道很蛋疼的题。实际问题中,如果不写SIMD或者GPU等等奇怪非常规指令集上的核心底层优化,这种东西几乎完全用不到。真是奇而无用,不会也罢。

类似的还有之前的那个开根号引发的血案。小聪明啊小聪明。玩玩可以,别太自我陶醉,以为这才是顶级程序员最在乎的事情。错!这是牛仔程序员才最在乎的事情。算法是王道。摩尔定律是王道。敏捷可移植是王道。

Leave a Reply

Your email address will not be published. Required fields are marked *