C++有句俗話說(shuō):一年精通 三年熟悉 五年了解 十年用過(guò)界牡,如果可以把C++程序員分層的話,看看你在第幾層漾抬?
第0層
掌握基本的C++語(yǔ)法宿亡,會(huì)寫一些基本的if-else,for循環(huán)纳令,switch-case等挽荠。可以簡(jiǎn)單的使用C++的IDE平绩,把書上的代碼一行一行敲上去圈匆,會(huì)點(diǎn)擊Run按鈕運(yùn)行程序,可以輸出hello world捏雌。
第1層
熟悉C++大多數(shù)語(yǔ)法跃赚,了解面向過(guò)程與面向?qū)ο缶幊趟枷耄私夥庋b腹忽、繼承来累、多態(tài)的合法使用砚作,了解指針、函數(shù)指針嘹锁、回調(diào)函數(shù)葫录、異常處理、文件操作领猾、STL的使用米同,可以解決簡(jiǎn)單的編譯鏈接報(bào)錯(cuò)問(wèn)題。但缺乏獨(dú)立思考的能力摔竿,甚至都不知道如何提問(wèn)面粮,一般面向百度編程,熟練掌握ctrl+c和ctrl+v操作继低,只要程序達(dá)到過(guò)預(yù)期的結(jié)果就已滿足熬苍,可以簡(jiǎn)單的做出個(gè)Demo。
第2層
熟練掌握C++大多數(shù)語(yǔ)法袁翁,熟練背誦大多數(shù)C++面經(jīng)柴底。了解C++11、C++14粱胜、C++17甚至是C++20的新特性柄驻,面試技術(shù)單點(diǎn)時(shí)沒(méi)什么問(wèn)題,說(shuō)起來(lái)頭頭是道焙压,但做起來(lái)一塌糊涂鸿脓,沒(méi)有從0到1做公司級(jí)項(xiàng)目的能力,著重于完成某項(xiàng)子功能涯曲,沒(méi)有設(shè)計(jì)圖紙的能力野哭,可以在現(xiàn)有框架上增刪改,代碼可讀性幻件、可擴(kuò)展性虐拓、邊界條件處理、程序性能傲武、編碼規(guī)范等問(wèn)題往往不太考慮。
第3層
讀過(guò)一些經(jīng)典C++書籍城榛,對(duì)STL揪利、BOOST等經(jīng)典庫(kù)可以熟練使用,看過(guò)部分經(jīng)典庫(kù)的部分源碼狠持,了解基本原理疟位,掌握常見的設(shè)計(jì)模式,掌握C++的好多奇技淫巧喘垂,對(duì)代碼有潔癖甜刻,按照編碼規(guī)范編程绍撞,會(huì)對(duì)邊界條件做詳盡處理,代碼可讀性較高得院。寫代碼時(shí)經(jīng)常炫技傻铣,代碼騷氣逼人,自認(rèn)為可以碾壓大多數(shù)人祥绞。然而炫技通常會(huì)導(dǎo)致開發(fā)周期長(zhǎng)非洲,代碼膨脹,后期維護(hù)難蜕径,其他普羅大眾通沉教ぃ看不懂這種炫技的代碼。
第4層
重劍無(wú)鋒兜喻,大巧不工梦染,不再炫技開發(fā),簡(jiǎn)單合理的能夠完成需求就好朴皆。熟練掌握操作系統(tǒng)帕识,編譯原理,掌握編譯與鏈接的大多數(shù)知識(shí)车荔,了解編譯器背后的故事渡冻,熟練使用各種調(diào)試工具,各種性能分析工具忧便,了解內(nèi)存對(duì)齊族吻,知道如何調(diào)試內(nèi)存泄漏問(wèn)題,如何調(diào)試死鎖問(wèn)題珠增,深入理解CPU Cache超歌、文件系統(tǒng)、進(jìn)程與線程蒂教、TCP/IP巍举、內(nèi)存模型等知識(shí),參與開發(fā)過(guò)系統(tǒng)級(jí)的項(xiàng)目開發(fā)凝垛。動(dòng)手能力強(qiáng)懊悯,接到需求后有自己的想法,可以快速給到實(shí)現(xiàn)方案梦皮。了解C++的各種方案優(yōu)缺點(diǎn)炭分,常見的坑以及各種避坑方法。
第5層
從0到1設(shè)計(jì)開發(fā)過(guò)系統(tǒng)級(jí)剑肯、高性能的項(xiàng)目捧毛,并被一定量級(jí)的用戶使用過(guò)。不再著重于技術(shù)單點(diǎn)的實(shí)現(xiàn)方案,完全領(lǐng)悟并靈活使用各種設(shè)計(jì)模式呀忧,更著重于整體架構(gòu)的設(shè)計(jì)师痕,即設(shè)計(jì)那一張工程圖紙,給出整體的解決方案而账,追求設(shè)計(jì)更合理的架構(gòu)胰坟,著重于模塊劃分是否清晰,著重于高內(nèi)聚低耦合福扬,著重于系統(tǒng)的健壯性腕铸,靈活可擴(kuò)展性,可以應(yīng)對(duì)大規(guī)模需求的迭代與變更铛碑。
第6層
混跡于國(guó)內(nèi)國(guó)際各種C++開發(fā)者大會(huì)狠裹,各種演講,分享自己的開發(fā)心得汽烦,分享架構(gòu)設(shè)計(jì)方案涛菠,受眾生膜拜。例如侯捷撇吞、張銀奎俗冻、吳詠煒、潘愛(ài)民等(排名不分先后)牍颈。
[圖片上傳失敗...(image-b477ec-1628426161995)]
第7層
C++標(biāo)準(zhǔn)委員會(huì)成員(盡管一堆人在噴他們腦袋有坑迄薄,但不可否認(rèn),他們確實(shí)就是頂尖的C++程序員)
第8層
Bjarne Stroustrup煮岁,凡是我們C門子弟讥蔽,無(wú)需多言吧。yyds! C++之父画机。
最后說(shuō)幾句冶伞,學(xué)習(xí)C++確實(shí)挺苦,精通又有什么用呢步氏,面試造火箭响禽,入職不還是擰螺絲嘛!語(yǔ)言可能沒(méi)有那么重要荚醒,我們多數(shù)人可能永遠(yuǎn)也到不了第6層芋类,但我們可以嘗試去精通某個(gè)領(lǐng)域,例如精通人臉識(shí)別界阁、自動(dòng)駕駛梗肝、游戲開發(fā)、音視頻開發(fā)铺董、網(wǎng)絡(luò)開發(fā)、移動(dòng)端開發(fā)相關(guān)的業(yè)務(wù)等。
我們也要著重于提高自己的這三種能力:
- 分析問(wèn)題的能力
- 解決問(wèn)題的能力
- 掌控全局的能力
]
覺(jué)得不錯(cuò)的話點(diǎn)個(gè)贊吧精续!