本文首發(fā)于酷殼網(wǎng) http://coolshell.cn/articles/10478.html
先說說程序員(應(yīng)屆生)面試的一般過程,一輪面試(面對(duì)一到兩個(gè)面試官)一般是四、五十分鐘,面試官會(huì)問兩三個(gè)編程問題(通常是兩大一?。?,因此留給每個(gè)編程題的時(shí)間只有 20 分鐘。這 20 分鐘不光是寫代碼,還要跟面試官討論你的答案并解答提問,比如面試官拿過你的答案紙,問某一行代碼如果修改會(huì)有什么后果。因此真正留給在紙上或白板上寫代碼的時(shí)間也就 10 分鐘上下。本文給出了一個(gè)能用 10 分鐘時(shí)間在紙上寫出來且不會(huì)有錯(cuò)的 String class,強(qiáng)調(diào)正確性及易實(shí)現(xiàn)(白板上寫也不會(huì)錯(cuò)),不強(qiáng)調(diào)效率與功能完備。
本文的配套代碼位于 https://github.com/chenshuo/recipes/blob/master/string/StringTrivial.h。
全文:https://chenshuo.googlecode.com/files/CppEngineering.pdf