解 ACM 题的能力真的代表编程能力吗?
有很大相关性但不能完全等价,对于学生来说,这算是比较硬的指标而已.这就好比射击比赛冠军不一定是战场上优秀的狙击手,如果冠军不知道如何隐蔽自己我举个关于编程能力的真实例子.有个叫VimGolf的比赛(VimGolf - real Vim ninjas count every keystroke!), 全世界的Vim高手们对指定的文本操作争取用最少的按键实现,如果你能拿到冠军,说明你的Vim水准相当高了.我要解决的问题是在真实世界的编程中(包括但不限于文本操作),发明一种新方法大幅提高所有人的按键效率(包括VimGolf冠军在内):- 为了透彻理解问题,我通读了约4000篇世界上最好的Emacs文章(我在Emacs中使用Vim模拟器Evil,所以结果是适用于Vim的)- 改进了工具keyfreq can ingore certain commands · dacap/keyfreq@213252f · GitHub- 花了8个月时间积累数据.- 最后的研究结果 How to be extremely efficient in Emacs : emacs真实世界的问题很复杂,要考虑到很多细节,所以需要花大量的时间.快速的反应远不如耐心重要.
总有人认为什么app和网站都是六个月就能培训出来的辣鸡。。。倒也不是说不对,然而你的辣鸡标准线划到这个高度的话。。。现在很多学校,除了那一两个队甚至那一两个人的水平能看以外,其他的也就是六个月能培训出来的水平。。。按这个标准,本辣鸡可以说大部分搞app和网站的,和大部分搞acm的。。。辣鸡程度没什么区别acm到底也就是个游戏,在所谓编程能力上只能代表算法分析和写算法代码的水平而已,重要的是学会了哪些分析问题的方法,学会各种写代码的姿势,学会如何和队友合作等等,对企业招聘的意义大概也就是更方便地探一下这个人的水平可能在什么区间。。。不是专门针对某位答主,毕竟这位答主实际上没有直接表明acm高人一等之类的看法。但某些认为算法至高无上的中二病,甚至包括个别我认识或听说过的发表过相关言论的acmer,学了几个听起来高大上的算法,拿了几个貌似牛逼的牌子就以为自己高人一等,对其他门类的技术不屑一顾,凭什么呢?就凭你认为满大街都是搞app和网站的而你这种搞算法的就是稀有动物吗?我真不想说“知识不分贵贱”这种老掉牙的话,但是觉得自己会点算法就觉得其他都是自己只要花点时间就能精通的辣鸡不屑于学的。。。祝愿你不会抱着一堆牌子连工作都找不到。