本文首发于酷壳网 http://coolshell.cn/articles/10478.htmlhtml
先说说程序员(应届生)面试的通常过程,一轮面试(面对一到两个面试官)通常是4、五十分钟,面试官会问两三个编程问题(一般是两大一小),所以留给每一个编程题的时间只有 20 分钟。这 20 分钟不光是写代码,还要跟面试官讨论你的答案并解答提问,好比面试官拿过你的答案纸,问某一行代码若是修改会有什么后果。所以真正留给在纸上或白板上写代码的时间也就 10 分钟上下。本文给出了一个能用 10 分钟时间在纸上写出来且不会有错的 String class,强调正确性及易实现(白板上写也不会错),不强调效率与功能完备。git
本文的配套代码位于 https://github.com/chenshuo/recipes/blob/master/string/StringTrivial.h。程序员
全文:https://chenshuo.googlecode.com/files/CppEngineering.pdfgithub