<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          魚皮 C++ 學(xué)習(xí)路線一條龍!

          共 12164字,需瀏覽 25分鐘

           ·

          2023-07-19 17:40

          大家好,我是魚皮 ???????。

          最近有很多小伙伴私信問我有沒有 C++ 的學(xué)習(xí)路線,其中甚至有剛高考完的朋友!

          其實(shí)今年 4 月份我就已經(jīng)寫好了一份 6000 多字的完整 C++ 學(xué)習(xí)路線,提供給 編程導(dǎo)航 的魚友學(xué)習(xí)。

          但考慮到大家確實(shí)需要,所以決定還是把學(xué)習(xí)路線分享出來,精簡了一些項(xiàng)目和資源,保留了核心的學(xué)習(xí)主線和方法,希望對(duì) C++ 方向的同學(xué)有幫助。

          在編寫本路線時(shí),魚皮參考了多位 C++ 專業(yè)大佬的建議,但仍做不到完美,有意見和想法歡迎指正。

          C++ 介紹

          語言特性

          比較官方,僅供參考

          C++ 是一種面向?qū)ο蟮摹⑼ㄓ玫摹㈧o態(tài)類型的編程語言,它是 C 語言的一種擴(kuò)展。

          C++ 相對(duì)于其他高級(jí)語言(比如 Java)來說,更加底層,因此具有高性能、可移植、可重用等優(yōu)點(diǎn),被廣泛應(yīng)用于系統(tǒng)開發(fā)、嵌入式系統(tǒng)、服務(wù)端開發(fā)、游戲開發(fā)、圖形學(xué)、音視頻處理、金融分析等領(lǐng)域。

          隨著 C++ 的發(fā)展,它具有了豐富的語法和庫支持,大學(xué)計(jì)算機(jī)專業(yè)的同學(xué)一般也會(huì)從 C++(C 語言)開始學(xué)起。

          就業(yè)方向

          C++ 的就業(yè)方向還是非常多的,比如:服務(wù)端開發(fā)、系統(tǒng)開發(fā)、客戶端開發(fā)、嵌入式開發(fā)、游戲開發(fā)、音視頻處理、圖像處理、SDK 開發(fā)等。魚皮建議大家 首先根據(jù)自己的興趣愛好 來做選擇。



          雖然都是學(xué) C++,但不同方向的工程師需要側(cè)重掌握的技能和專業(yè)知識(shí)也是有區(qū)別的。但是如果你還沒確定選什么具體的方向,不妨先掌握它們都要求的通用技能,即能夠熟練使用 C++ 語法來編程。

          選 C++ 還是 Java?

          首先,明確一點(diǎn),C++ 和 Java 都是非常優(yōu)秀的主流編程語言,編程語言和技術(shù)沒有絕對(duì)的優(yōu)劣之分,只不過在不同的場(chǎng)景下,有更優(yōu)的選擇。而且,像很多大神說的一樣,語言只是工具,編程思想才是核心。不過,選擇好的工具也是至關(guān)重要的,“好的抓手才能帶來更大的賦能”。

          如果你對(duì)操作系統(tǒng)底層、嵌入式、圖像處理、音視頻處理、游戲開發(fā)等方向感興趣,建議選擇 C++;而如果你更喜歡開發(fā)應(yīng)用系統(tǒng)、思考和實(shí)現(xiàn)業(yè)務(wù)邏輯,就選擇 Java。

          此外,因?yàn)?Java 和 C++ 都可以作為后端開發(fā)語言,所以無論把哪門語言作為主語言,都要重點(diǎn)學(xué)好后臺(tái)開發(fā)通用知識(shí),比如數(shù)據(jù)庫、緩存、消息隊(duì)列、Socket 通訊、Linux、Git、計(jì)算機(jī)基礎(chǔ)知識(shí)等。但選擇 C++ 的同學(xué)要對(duì)操作系統(tǒng)、網(wǎng)絡(luò)和 Linux 更熟悉一些

          魚皮專門針對(duì)這個(gè)問題寫了一篇文章,歡迎閱讀:https://www.code-nav.cn/post/1640611259688742914

          學(xué)習(xí)大綱

          不同的 C++ 就業(yè)方向,要學(xué)的知識(shí)也是不同的,但是會(huì)有很多交集。

          只要你學(xué)習(xí) C++,C++ 的語法、Linux 服務(wù)器、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)等知識(shí)幾乎都是必學(xué)的!(純客戶端界面開發(fā)除外,但最好也學(xué)習(xí)下)

          本學(xué)習(xí)路線以 C++ 的主流崗位 —— 服務(wù)端開發(fā)為例,大致分為以下幾個(gè)階段:

          1. C++ 語法基礎(chǔ)
          2. C++ 進(jìn)階
          3. 計(jì)算機(jī)基礎(chǔ)
          4. 軟件開發(fā)通用
          5. 后端開發(fā)通用
          6. C++ 項(xiàng)目實(shí)戰(zhàn)
          7. C++ 求職備戰(zhàn)

          一、C++ 語法基礎(chǔ)

          學(xué)習(xí)建議

          對(duì)于完全 0 編程基礎(chǔ)的同學(xué)來說,不建議上來就去看《C Primer Plus》(或者《C++ Primer Plus》)這種很厚的書籍,可能會(huì)被勸退。

          對(duì)于大多數(shù)入門的同學(xué),快速上手語法、能寫出代碼是最重要的。所以建議這里還是看培訓(xùn)機(jī)構(gòu)在 B 站的免費(fèi)視頻教程:https://www.bilibili.com/video/BV1et411b73Z/ ,它們做入門課真的是有一手。

          如果你們學(xué)校是從 C 語言開始學(xué)起,可以看浙大翁愷老師的 C 語言入門課:https://www.bilibili.com/video/BV1dr4y1n7vA ,好評(píng)很多。

          除了視頻教程外,建議大家搭配一個(gè)文檔教程(https://www.runoob.com/cplusplus/cpp-tutorial.html )一起學(xué)習(xí),起到查漏補(bǔ)缺的作用。

          初學(xué) C++,除了學(xué)習(xí)基本的概念(比如變量、指針、引用)之外,一定要多上手敲代碼練習(xí)、熟能生巧,還要能熟練地 debug 自己的程序,為以后開發(fā)更復(fù)雜的項(xiàng)目打好基礎(chǔ)。

          開發(fā)工具可以使用 Visual Studio(功能最強(qiáng)大)、Dev Cpp(最簡單易用)、Code::Blocks(中規(guī)中矩)等。除了必須會(huì)用一款本地開發(fā)工具外,還可以搭配在線編程工具學(xué)習(xí):https://www.runoob.com/try/runcode.php?filename=helloworld&type=cpp ,效率更高。

          學(xué)完本階段后,可以試著用 C++ 去做一個(gè)簡單的 XX 管理系統(tǒng)(控制臺(tái)里運(yùn)行即可),或者做一些 LeetCode 上入門級(jí)別的算法題目、學(xué)校里的 OJ 等等。

          知識(shí)點(diǎn)

          • 基礎(chǔ)概念
            • 條件分支
            • 循環(huán)
            • 變量
            • 常量
            • 關(guān)鍵字
            • 數(shù)據(jù)類型
            • 運(yùn)算符
            • 表達(dá)式
            • 控制結(jié)構(gòu)
          • 開發(fā)工具
          • 函數(shù)
            • 函數(shù)重載
            • 默認(rèn)參數(shù)
          • 基本數(shù)據(jù)結(jié)構(gòu)
            • 數(shù)組
            • 字符串
          • 內(nèi)存管理
            • 內(nèi)存模型
            • 動(dòng)態(tài)內(nèi)存分配
            • 動(dòng)態(tài)內(nèi)存釋放
          • 指針
            • 空指針
            • 野指針
          • 引用
            • 函數(shù)參數(shù)引用
            • 返回值引用
          • 結(jié)構(gòu)體
            • 定義
            • 訪問
          • 命名空間
          • 面向?qū)ο缶幊?ul style="padding-left:25px;color:#000000;" class="list-paddingleft-1">
          • 虛函數(shù)
          • 純虛函數(shù)
          • 抽象類
          • 虛析構(gòu)函數(shù)
          • 純虛析構(gòu)函數(shù)
          • 對(duì)象初始化順序
          • 同名成員問題
          • 多繼承
          • 虛繼承
          • 菱形繼承
          • 友元函數(shù)
          • 友元類
          • 成員變量
          • 成員函數(shù)
          • this 指針
          • 對(duì)象
          • 封裝
          • 構(gòu)造函數(shù)
          • 析構(gòu)函數(shù)
          • 拷貝構(gòu)造函數(shù)
          • 靜態(tài)成員
          • 友元
          • 運(yùn)算符重載
          • 繼承
          • 多態(tài)
        2. 異常處理
          • 拋出
          • 捕獲
          • 異常類型
          • 標(biāo)準(zhǔn)異常
        3. STL
          • 排序
          • 查找
          • 一元謂詞
          • 二元謂詞
          • vector
          • string
          • list
          • pair
          • set
          • map
          • deque
          • stack
          • 容器
          • 迭代器
          • 函數(shù)對(duì)象
          • 謂詞
          • 內(nèi)置函數(shù)對(duì)象
          • 算法
        4. 類型轉(zhuǎn)換
        5. 模板
          • 函數(shù)模板
          • 類模板
        6. 泛型
        7. I / O 操作
          • 文件操作
        8. 二、C++ 進(jìn)階

          上個(gè)階段我們主要通過看視頻來快速入門 C++ 基礎(chǔ)編程語法;而這個(gè)階段要做的是鞏固基礎(chǔ)、學(xué)習(xí)更多 C++ 的特性、甚至是底層原理,建議大家通過閱讀經(jīng)典書籍的方式來學(xué)習(xí)。

          先系統(tǒng)學(xué)習(xí) C++ 基礎(chǔ)及進(jìn)階語法,可以讀下面 2 本書籍:

          • 《C++ Primer Plus》:https://book.douban.com/subject/10789789/
          • 《Effective C++》:https://book.douban.com/subject/5387403/

          學(xué)到這里,建議先去學(xué)習(xí)本路線第三階段的計(jì)算機(jī)基礎(chǔ),否則下面的書啃起來會(huì)很累。

          當(dāng)你學(xué)完一遍算法、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)后,再開始學(xué)習(xí)下面的內(nèi)容。

          學(xué)習(xí) STL 源碼,閱讀《STL 源碼剖析》:https://book.douban.com/subject/1110934/

          然后學(xué)習(xí) Linux 服務(wù)端編程,可以閱讀:

          • 《Linux高性能服務(wù)器編程》:https://book.douban.com/subject/24722611/
          • 《Linux多線程服務(wù)端編程》:https://book.douban.com/subject/20471211/

          知識(shí)點(diǎn)

          • RAII

          • C++ 11 新特性

            • 自動(dòng)類型推導(dǎo)
            • lambda 表達(dá)式
            • 智能指針
            • 移動(dòng)語義
            • 右值引用
            • 標(biāo)準(zhǔn)多線程庫
            • nullptr 關(guān)鍵字
          • 類型轉(zhuǎn)換

            • static_cast
            • reinterpret_cast
            • dynamic_cast
            • const_cast
          • 異常處理

            • 棧解旋
            • 異常接口聲明
            • 異常對(duì)象生命周期
          • 工具

            • Clang Static Analyzer
            • GDB
            • CMake
            • GCC
            • 編譯工具

            • 構(gòu)建工具

            • 調(diào)試工具

            • 靜態(tài)分析工具

          • 編碼規(guī)范

            • Google C++ Style
          • 程序執(zhí)行原理

            • 靜態(tài)鏈接
            • 動(dòng)態(tài)鏈接
            • 編譯
            • 鏈接
          • STL 容器實(shí)現(xiàn)原理

            • vector
            • string
            • list
            • pair
            • set
            • map
            • deque
            • stack

          三、計(jì)算機(jī)基礎(chǔ)

          學(xué)習(xí)建議

          由于 C++ 語言本身相對(duì)更底層,常用于系統(tǒng)開發(fā)、嵌入式、高性能計(jì)算等領(lǐng)域。因此 C++ 開發(fā)者相對(duì)于學(xué) Java 或其他方向的同學(xué)來說,需要具備更扎實(shí)、更深入的計(jì)算機(jī)基礎(chǔ)能力。

          基礎(chǔ)不是短短幾天就能掌握的,需要持續(xù)學(xué)習(xí)、持續(xù)鞏固。因此建議想快速就業(yè)的同學(xué),可以先跳過這部分內(nèi)容,把更多的精力放在后面開發(fā)框架的學(xué)習(xí)上,爭取快速用 C++ 做出項(xiàng)目,等到面試前再去突擊補(bǔ)習(xí)基礎(chǔ)。而對(duì)于絕大多數(shù)計(jì)算機(jī)相關(guān)專業(yè)、或者學(xué)習(xí)時(shí)間比較富裕的同學(xué),建議每天花 1 - 2 小時(shí)左右持續(xù)學(xué)習(xí)并鞏固計(jì)算機(jī)基礎(chǔ),比如每天刷 2 - 3 道算法題,堅(jiān)持半年那就是 500 多道,面試的算法關(guān)就基本沒什么問題了。

          知識(shí)點(diǎn)

          主要包括以下 4 部分,每個(gè)部分都是難啃的硬骨頭:

          • 計(jì)算機(jī)導(dǎo)論(計(jì)算機(jī)基本概念)
          • 數(shù)據(jù)結(jié)構(gòu)和算法
          • 操作系統(tǒng)
          • 計(jì)算機(jī)網(wǎng)絡(luò)

          四、軟件開發(fā)通用

          學(xué)習(xí)建議

          只要你想從事軟件開發(fā)方面的工作,以下這些知識(shí)點(diǎn),最好都按照順序?qū)W習(xí)一遍!

          對(duì) C++ 開發(fā)來說,Linux 系統(tǒng)是重中之重。掌握 Linux 可以幫你更好地理解系統(tǒng)底層的運(yùn)行機(jī)制,比如進(jìn)程管理、內(nèi)存管理、文件系統(tǒng)、網(wǎng)絡(luò)傳輸?shù)取?/p>

          除了 Linux 之外,軟件開發(fā)的其他通用技能都可以融入到日常學(xué)習(xí)中,而不是花一大段連續(xù)時(shí)間去專攻。比如企業(yè)項(xiàng)目研發(fā)流程,讀一遍有個(gè)印象就好;Git & GitHub 需要在平時(shí)做項(xiàng)目、用開源項(xiàng)目時(shí)多多使用;23 種主流的設(shè)計(jì)模式可以每天學(xué) 2 - 3 個(gè);軟件工程的專業(yè)知識(shí)大學(xué)科班一般都會(huì)教,學(xué)校不教的話作為一個(gè)課外知識(shí)去補(bǔ)充即可。

          知識(shí)點(diǎn)

          主要包括以下 5 部分:

          • 企業(yè)項(xiàng)目研發(fā)流程
          • Git & GitHub
          • Linux 系統(tǒng)
          • 設(shè)計(jì)模式
          • 軟件工程

          五、后端開發(fā)通用

          學(xué)習(xí)建議

          以下這部分知識(shí)點(diǎn)幾乎適用于所有后端方向的同學(xué)(比如 Java、Go、Python 等),比如數(shù)據(jù)庫、Redis、Nginx、消息隊(duì)列都是通用的。只不過不同編程語言的后端開發(fā)用到的具體的開發(fā)框架、編程語法會(huì)有差別,比如 Java 的主流開發(fā)框架有 Spring Boot、Netty 等,而 C++ 主流開發(fā)框架有 Boost、gRPC、crow 等。

          如果你還在糾結(jié)學(xué) C++ 還是 Java,或者別的語言,不妨在能夠獨(dú)立做出項(xiàng)目的前提下,把最大的精力投入在數(shù)據(jù)庫、Redis、Nginx、消息隊(duì)列、架構(gòu)設(shè)計(jì)等通用后端開發(fā)技能。

          知識(shí)點(diǎn)

          • 數(shù)據(jù)庫
          • 開發(fā)框架
          • 包管理工具
          • Redis
          • 消息隊(duì)列
          • Nginx
          • 微服務(wù)
          • 容器
          • 架構(gòu)設(shè)計(jì)

          由于這部分內(nèi)容的大多數(shù)知識(shí)點(diǎn)都和 魚皮的 Java 學(xué)習(xí)路線 一致,此處不再贅述,下面只列舉 C++ 學(xué)習(xí)和 Java 學(xué)習(xí)中有差異的地方。

          數(shù)據(jù)庫

          數(shù)據(jù)庫就是存放數(shù)據(jù)的庫,負(fù)責(zé)存儲(chǔ)、管理和檢索數(shù)據(jù)。

          數(shù)據(jù)庫又分為關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫。關(guān)系型數(shù)據(jù)庫適用于存儲(chǔ)相互之間有關(guān)聯(lián)的數(shù)據(jù),比如做一個(gè)學(xué)生管理系統(tǒng),要存儲(chǔ)學(xué)生、班級(jí),一個(gè)班級(jí)有多個(gè)學(xué)生,這就是一種關(guān)聯(lián)關(guān)系,關(guān)系型數(shù)據(jù)庫典型的技術(shù)是 MySQL;而非關(guān)系型數(shù)據(jù)庫主要用于存儲(chǔ)零散的、相互獨(dú)立的數(shù)據(jù),典型的技術(shù)是 Redis。

          此處我們主要學(xué)習(xí)的是關(guān)系型數(shù)據(jù)庫,并且以最主流、學(xué)習(xí)成本相對(duì)更低的關(guān)系型數(shù)據(jù)庫 MySQL 為主。

          對(duì) C++ 同學(xué)來說,對(duì)數(shù)據(jù)庫的學(xué)習(xí)包括以下 4 個(gè)方面:

          1. 學(xué)習(xí)關(guān)系型數(shù)據(jù)庫理論:包括關(guān)系模型、關(guān)系代數(shù)、數(shù)據(jù)庫范式、事務(wù)理論等,能夠幫助你更好地理解數(shù)據(jù)庫的結(jié)構(gòu)和設(shè)計(jì)。
          2. SQL 語言:作為關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)查詢語言,掌握 SQL 是非常重要的!學(xué)習(xí)過程以實(shí)踐為主,要能夠熟練使用 SQL 來操作數(shù)據(jù)庫(增刪改查)
          3. 數(shù)據(jù)庫設(shè)計(jì)和編程:學(xué)習(xí)如何根據(jù)實(shí)際業(yè)務(wù)場(chǎng)景來設(shè)計(jì)數(shù)據(jù)庫表、并且學(xué)習(xí)如何使用 C++ 來操作數(shù)據(jù)庫,這是企業(yè)開發(fā)中最重要的能力。
          4. 數(shù)據(jù)庫高級(jí):初學(xué)數(shù)據(jù)庫時(shí)這部分可以跳過。主要是學(xué)習(xí)數(shù)據(jù)庫的高級(jí)特性、底層原理、數(shù)據(jù)庫的分析、運(yùn)維、性能優(yōu)化等,可以幫助你更好地運(yùn)用數(shù)據(jù)庫來解決問題。

          開發(fā)框架

          ORM 框架,作用是操作數(shù)據(jù)庫。比如 ODB(https://www.codesynthesis.com/products/odb/ )、QxOrm 等,學(xué)習(xí)一個(gè)即可。

          Web 開發(fā)框架:作用是編寫 HTTP 接口,可用于應(yīng)用的后端(類似 Java 的 Spring MVC)。比如 Drogon(https://github.com/drogonframework/drogon )、Pistache(https://github.com/pistacheio/pistache )等,學(xué)習(xí)一個(gè)即可。

          RPC 框架,作用是遠(yuǎn)程調(diào)用其他的服務(wù),可用于實(shí)現(xiàn)分布式、微服務(wù)架構(gòu)。推薦學(xué)習(xí) Google 的 gRPC(https://github.com/grpc/grpc )。

          其他框架可以從這個(gè)庫中按需學(xué)習(xí):https://github.com/fffaraz/awesome-cpp

          包管理工具

          作用是幫你管理復(fù)雜的 C++ 項(xiàng)目依賴包。建議學(xué)習(xí) conan:https://github.com/conan-io/conan

          微服務(wù)

          微服務(wù)是一種思想,可以使用上面提到的 gRPC 框架(https://github.com/grpc/grpc )實(shí)現(xiàn)微服務(wù)。

          六、C++ 項(xiàng)目實(shí)戰(zhàn)

          初學(xué) C++ 語法時(shí),最好的項(xiàng)目就是刷算法題目,因?yàn)槊康李}目本質(zhì)上就是在解決一個(gè)小問題。

          由于 C++ 是個(gè)相對(duì)底層、注重基礎(chǔ)的編程語言,很多 C++ 的練手項(xiàng)目都是 “手寫輪子” 相關(guān)的,比如下面這些:

          • 編程語言
            • 用 C 語言實(shí)現(xiàn)自己的編程語言:https://buildyourownlisp.com/
          • 開發(fā)工具
            • 開發(fā)自己的文本編輯器:https://viewsourcecode.org/snaptoken/kilo/
          • 工具庫
            • 手寫簡易 STL:https://github.com/Alinshans/MyTinySTL
            • 簡單 JSON 庫:https://github.com/dropbox/json11
          • 開發(fā)框架
            • 網(wǎng)絡(luò)編程庫 muduo:https://github.com/chenshuo/muduo
            • 微信 RPC 框架 phxrpc:https://github.com/Tencent/phxrpc (簡化版的微信后臺(tái) RPC 框架,沖鵝廠的同學(xué)推薦看)
          • 服務(wù)器
            • 輕量級(jí) Web 服務(wù)器學(xué)習(xí):https://github.com/qinguoyi/TinyWebServer
            • 牛客 Linux 服務(wù)器教程:https://www.nowcoder.com/courses/cover/live/504
            • 高性能 web 服務(wù)器項(xiàng)目:https://github.com/linyacool/WebServer
          • 分布式系統(tǒng)
            • MIT6.824 中文教程:https://mit-public-courses-cn-translatio.gitbook.io/mit6-824/

          C++ 的項(xiàng)目視頻比較少,建議大家在學(xué)做 C++ 項(xiàng)目的過程中多在網(wǎng)上搜索相關(guān)的文章和教程。

          七、C++ 求職備戰(zhàn)

          C++ 同學(xué)的面試重點(diǎn)主要分為 3 個(gè)大方向:

          1. C++ 語言本身
          2. 計(jì)算機(jī)基礎(chǔ)
          3. C++ 領(lǐng)域技能(比如后端、嵌入式、游戲開發(fā)等)

          魚皮給大家找了一些經(jīng)典面試題,其中領(lǐng)域技能以后端為主,大家可以試著回答下。

          C++ 面試題

          1. 是否關(guān)注過 C++ 的版本更新?比如 C++ 11 新增了哪些新特性?
          2. 什么是 C++ 的虛函數(shù)和純虛函數(shù)?它們分別有什么作用?
          3. 如果虛函數(shù)是有效的,那為什么不把所有函數(shù)設(shè)為虛函數(shù)?
          4. 什么是 C++ 的多態(tài)?它是怎么實(shí)現(xiàn)的?
          5. C++ 函數(shù)重載和覆蓋有什么區(qū)別?
          6. 什么是 C++ 的智能指針?它有什么作用?有哪些種類?

          計(jì)算機(jī)基礎(chǔ)面試題

          數(shù)據(jù)結(jié)構(gòu)和算法

          • LeetCode 精選 100 道:https://leetcode-cn.com/problem-list/2cktkvj/

          操作系統(tǒng)

          1. 什么是進(jìn)程和線程?二者有什么區(qū)別?
          2. 操作系統(tǒng)是如何做到進(jìn)程阻塞的?
          3. 有哪些常見的進(jìn)程通信方式?
          4. 進(jìn)程調(diào)度算法有哪些?
          5. 線程是如何實(shí)現(xiàn)的?

          計(jì)算機(jī)網(wǎng)絡(luò)

          1. 介紹下計(jì)算機(jī)網(wǎng)絡(luò)分層結(jié)構(gòu),各層有哪些常用協(xié)議?
          2. TCP 和 UDP 協(xié)議有什么區(qū)別?分別適用于什么場(chǎng)景?
          3. TCP 為什么需要三次握手和四次揮手?為什么不是兩次握手、四次握手?為什么不是三次揮手?

          C++ 后端面試題

          1. 你用過哪些 C++ 網(wǎng)絡(luò)編程庫或 web 開發(fā)框架?
          2. 你用過哪些 C++ 日志框架?
          3. 什么是 socket 編程?C++ 中怎么進(jìn)行 socket 編程?

          如果大家自學(xué)能力比較強(qiáng),比較推薦去 GitHub 的 C++ 專題尋找項(xiàng)目和更多學(xué)習(xí)教程:

          • GitHub C++ 專區(qū):https://github.com/topics/cpp
          • GitHub C++ 內(nèi)容合集:https://github.com/fffaraz/awesome-cpp



          以上,小伙伴們加油!

          往期推薦

          我的學(xué)習(xí)小圈子

          我在魚廠的實(shí)習(xí)生活

          給學(xué)弟妹們的秋招建議!

          給我們前端看的項(xiàng)目調(diào)試指南

          15 個(gè) yyds 的開源項(xiàng)目!

          上線啦!

          瀏覽 53
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费无码婬片A片AAA毛多多 | 免费91AV片视频 | 成人黄色AV网址 | 亚洲搞清视频日本 | 狠狠五月|