跳到主要内容
🔍

Linux C/C++ 就业路线

目标岗位:Linux C/C++ 开发工程师 / 服务器开发工程师适合人群:目标 Linux 应用/服务器开发岗的学习者前置要求:零基础或已有 C 语言基础预计时长:570h规模:11 阶段 / 207 章(当前可用 39,计划中 168

C++ 与网络编程为核心:OOP/STL/现代 C++/设计模式全修,嵌入式硬件阶段(7)跳过; 毕业项目选 P10 的服务器端或 P5 强化版。Qt 支线按需选修。

切换路线不复制正文:章节 URL 不变,仅必修性/顺序随当前路线变化。

  1. 阶段 0 · 零基础准备

    必修15h · 阶段成果:个人代码仓库

    搭好 Windows/Linux 双环境,建立 Git 习惯,补齐计算机常识,能独立编译运行 Hello World。

    阶段进度:0/14 章通过测验

  2. 阶段 1 · C 语言与开发工具

    必修90h · 阶段成果:学生成绩管理系统(数组版)

    系统掌握 C 语言核心语法与工程化工具(GCC/Make/CMake/GDB),能独立写出多文件 C 工程并调试。

    阶段进度:0/24 章通过测验

  3. 阶段 2 · 数据结构与基础算法

    必修75h · 阶段成果:通讯录管理系统

    用 C 语言实现常用数据结构,掌握复杂度分析,补上算法专题(回溯/DP/KMP),达到笔试面试的算法基本功。

    阶段进度:0/18 章通过测验

    • 2.1 线性结构

      • 2.1.1复杂度分析与大 O 表示法必修计划中
      • 2.1.2顺序表必修计划中
      • 2.1.3单链表必修计划中
      • 2.1.4双向/循环链表与约瑟夫环必修计划中
      • 2.1.5必修计划中
      • 2.1.6队列与循环队列必修计划中
    • 2.2 树与图

      • 2.2.1树的基本概念与存储必修计划中
      • 2.2.2二叉树与遍历必修计划中
      • 2.2.3二叉搜索树必修计划中
      • 2.2.4图的概念/存储/DFS/BFS必修计划中
      • 2.2.5最短路径与最小生成树必修计划中
    • 2.3 排序查找哈希

      • 2.3.1排序算法全家桶与选型必修计划中
      • 2.3.2查找算法必修计划中
      • 2.3.3哈希表必修计划中
    • 2.4 算法专题

      • 2.4.1递归/回溯/分治必修计划中
      • 2.4.2动态规划入门必修计划中
      • 2.4.3贪心与常见笔试题型必修计划中
      • 2.4.4字符串算法 KMP必修计划中
  4. 阶段 3 · C++ 与现代 C++

    必修90h · 阶段成果:银行/业务管理系统(C++)

    完成从 C 到 C++ 的迁移,掌握面向对象与资源管理;按路线决定深度。

    阶段进度:0/33 章通过测验

    • 3.1 C++ 基础语法差异

      • 3.1.1C++ 与 C 的区别与联系必修计划中
      • 3.1.2命名空间必修计划中
      • 3.1.3输入输出流与文件流必修计划中
      • 3.1.4引用与指针对比必修计划中
      • 3.1.5函数重载与默认参数必修计划中
      • 3.1.6new/delete 与 malloc 对比必修计划中
    • 3.2 类与对象

      • 3.2.1类与封装、this 指针必修计划中
      • 3.2.2构造/析构/拷贝构造与深浅拷贝必修计划中
      • 3.2.3static/const 成员与 mutable必修计划中
      • 3.2.4友元必修计划中
      • 3.2.5运算符重载必修计划中
    • 3.3 继承与多态

      • 3.3.1继承方式与构造析构顺序必修计划中
      • 3.3.2多重继承与虚继承必修计划中
      • 3.3.3虚函数与多态必修计划中
      • 3.3.4虚函数表与虚析构必修计划中
      • 3.3.5抽象类与接口必修计划中
    • 3.4 模板与 STL

      • 3.4.1函数模板与类模板必修计划中
      • 3.4.2STL 容器 vector/list/map/deque必修计划中
      • 3.4.3迭代器与失效必修计划中
      • 3.4.4STL 算法、string 与函数对象必修计划中
    • 3.5 现代 C++

      • 3.5.1RAII 思想必修计划中
      • 3.5.2智能指针必修计划中
      • 3.5.3右值引用与移动语义必修计划中
      • 3.5.4lambda 与函数式编程必修计划中
      • 3.5.5异常处理必修计划中
      • 3.5.6类型转换 4 cast必修计划中
      • 3.5.7C++11/14/17 实用特性清单必修计划中
      • 3.5.8C++ 多线程基础必修计划中
      • 3.5.9嵌入式 C++ 取舍必修计划中
    • 3.6 设计模式入门

      • 3.6.1单例模式必修计划中
      • 3.6.2工厂模式必修计划中
      • 3.6.3观察者模式必修计划中
      • 3.6.4策略与模板方法模式必修计划中
  5. 阶段 4 · Linux 基础

    必修30h · 阶段成果:自动化脚本合集

    在 Linux 上自如工作:目录/权限/用户/软件管理、vim、Shell 脚本。

    阶段进度:0/13 章通过测验

    • 4.1 Linux 系统与常用命令

      • 4.1.1Linux 发行版与目录结构必修计划中
      • 4.1.2文件与权限必修计划中
      • 4.1.3常用命令必修计划中
      • 4.1.4用户与权限管理必修计划中
      • 4.1.5软件管理与进程服务必修计划中
      • 4.1.6vim 与 man 手册必修计划中
    • 4.2 Shell 脚本

      • 4.2.1Shell 基础与变量必修计划中
      • 4.2.2条件/循环/函数必修计划中
      • 4.2.3文本三剑客 grep/sed/awk必修计划中
      • 4.2.4实战脚本必修计划中
    • 4.3 Linux 开发工作流

      • 4.3.1SSH 与远程开发进阶必修计划中
      • 4.3.2Linux 下编译与运行 C 程序必修计划中
      • 4.3.3库与依赖管理必修计划中
  6. 阶段 5 · Linux 系统编程

    必修105h · 阶段成果:Mini Shell

    掌握文件 IO、进程、线程、信号、IPC 与调试工具,能写出生产级单机程序。

    阶段进度:0/32 章通过测验

    • 5.1 文件 IO

      • 5.1.1标准 IO:FILE/流/缓冲必修计划中
      • 5.1.2标准 IO 函数族与定位必修计划中
      • 5.1.3系统调用与文件描述符必修计划中
      • 5.1.4open/read/write/lseek 与 errno必修评审中
      • 5.1.5stat 与目录操作必修计划中
      • 5.1.6dup2/重定向与 fcntl必修计划中
      • 5.1.7阻塞/非阻塞与 mmap 入门必修计划中
    • 5.2 进程

      • 5.2.1进程概念与状态必修计划中
      • 5.2.2fork 与写时拷贝必修计划中
      • 5.2.3exec 族与 exit/_exit必修计划中
      • 5.2.4wait/waitpid 与僵尸/孤儿必修计划中
      • 5.2.5守护进程必修计划中
    • 5.3 线程

      • 5.3.1线程概念与 pthread API必修计划中
      • 5.3.2互斥锁必修计划中
      • 5.3.3条件变量必修计划中
      • 5.3.4读写锁与原子操作必修计划中
      • 5.3.5POSIX 信号量必修计划中
      • 5.3.6线程池必修计划中
    • 5.4 信号

      • 5.4.1信号概念与常用信号必修计划中
      • 5.4.2kill/raise/alarm/pause必修计划中
      • 5.4.3sigaction 与信号集必修计划中
      • 5.4.4信号应用 SIGCHLD/SIGPIPE必修计划中
    • 5.5 IPC

      • 5.5.1IPC 概述与选型必修计划中
      • 5.5.2无名/有名管道必修计划中
      • 5.5.3System V 共享内存必修计划中
      • 5.5.4System V 消息队列必修计划中
      • 5.5.5System V 信号量必修计划中
      • 5.5.6POSIX IPC 补充必修计划中
    • 5.6 调试与性能工具

      • 5.6.1strace/ltrace必修计划中
      • 5.6.2Valgrind 与内存排查必修计划中
      • 5.6.3core dump 与 GDB 深入必修计划中
      • 5.6.4性能观察 time/perf 入门必修计划中
  7. 阶段 6 · Linux 网络编程

    必修75h · 阶段成果:epoll 并发服务器 + SQLite

    从 TCP/IP 分层到 socket 编程,掌握并发服务器设计、粘包处理与 SQLite 持久化。

    阶段进度:0/18 章通过测验

    • 6.1 网络基础

      • 6.1.1网络分层 OSI/TCP-IP必修计划中
      • 6.1.2IP/端口/字节序必修计划中
      • 6.1.3地址转换函数族必修计划中
    • 6.2 Socket 编程

      • 6.2.1socket/bind/listen/accept/connect必修计划中
      • 6.2.2TCP 服务器与客户端必修计划中
      • 6.2.3三次握手与四次挥手必修计划中
      • 6.2.4UDP 编程必修计划中
      • 6.2.5广播与组播必修计划中
      • 6.2.6Unix 域套接字必修计划中
    • 6.3 高级 TCP 与 IO 模型

      • 6.3.1粘包与协议设计必修计划中
      • 6.3.2多进程/多线程并发服务器必修计划中
      • 6.3.3select/poll/epoll 多路复用必修计划中
      • 6.3.4非阻塞 IO 与五种 IO 模型必修计划中
    • 6.4 服务器工程实践

      • 6.4.1TCP 状态机与 TIME_WAIT/SO_REUSEADDR必修计划中
      • 6.4.2心跳/超时/断线重连必修计划中
      • 6.4.3SQLite 数据库与 C API必修计划中
      • 6.4.4数据持久化与服务器日志必修计划中
      • 6.4.5Reactor/libevent必修计划中
  8. 阶段 7 · 嵌入式 Linux

    可跳过120h · 阶段成果:LED/按键字符设备驱动 + 应用

    路线说明:可跳过(7.1.1 芯片常识可选听 1h)

    打通"交叉编译→U-Boot→内核→设备树→根文件系统→驱动"全链路,具备平台迁移能力。

    阶段进度:0/28 章通过测验

    • 7.1 嵌入式系统与硬件基础

      • 7.1.1芯片架构与 MCU/MPU/SoC可跳过计划中
      • 7.1.2ARM 架构与 Cortex 系列可跳过计划中
      • 7.1.3电路基础:电平/上下拉/开漏可跳过计划中
      • 7.1.4总线与外设协议概览可跳过计划中
      • 7.1.5实验平台选型与平台无关学习方法可跳过计划中
      • 7.1.6ARM 汇编阅读与反汇编实战可跳过计划中
    • 7.2 交叉编译与工具链

      • 7.2.1交叉编译原理可跳过计划中
      • 7.2.2工具链获取与使用可跳过计划中
      • 7.2.3sysroot 与库移植可跳过计划中
    • 7.3 Bootloader 与 U-Boot

      • 7.3.1启动流程四阶段可跳过计划中
      • 7.3.2U-Boot 命令与环境变量可跳过计划中
      • 7.3.3U-Boot 启动内核与参数传递可跳过计划中
    • 7.4 Linux 内核基础

      • 7.4.1内核组成与源码结构可跳过计划中
      • 7.4.2内核配置与编译可跳过计划中
      • 7.4.3内核模块与 insmod/rmmod可跳过计划中
    • 7.5 设备树

      • 7.5.1DTS 语法与结构可跳过计划中
      • 7.5.2compatible/reg/pinctrl可跳过计划中
      • 7.5.3修改设备树实战可跳过计划中
    • 7.6 根文件系统

      • 7.6.1BusyBox 构建最小根文件系统可跳过计划中
      • 7.6.2init 进程与启动脚本可跳过计划中
      • 7.6.3buildroot 与 NFS 挂载可跳过计划中
    • 7.7 Linux 驱动开发入门

      • 7.7.1驱动模型:总线-设备-驱动可跳过计划中
      • 7.7.2字符设备驱动与 file_operations可跳过计划中
      • 7.7.3设备树与驱动匹配可跳过计划中
      • 7.7.4GPIO 子系统与 LED 驱动实战可跳过计划中
      • 7.7.5I2C/SPI 子系统与设备驱动可跳过计划中
      • 7.7.6中断上半部/下半部可跳过计划中
      • 7.7.7驱动调试 printk/ftrace/procfs可跳过计划中
  9. 阶段 8 · 综合项目与工程化

    必修60h · 阶段成果:毕业项目(智能家居网关/环境监测系统)

    以简历级毕业项目为主线,补齐软件工程能力,产出可写进简历的项目。

    阶段进度:0/8 章通过测验

    • 8.1 软件工程与工程化实践

      • 8.1.1代码规范与注释必修计划中
      • 8.1.2Git 工作流与团队协作必修计划中
      • 8.1.3测试:单元测试与断言必修计划中
      • 8.1.4项目文档与设计文档必修计划中
      • 8.1.5构建系统整合与发布必修计划中
    • 8.2 毕业项目

      • 8.2.1毕业项目选题与架构设计必修计划中
      • 8.2.2毕业项目实施必修计划中
      • 8.2.3毕业项目验收与答辩必修计划中
  10. 阶段 9 · 求职准备

    必修30h · 阶段成果:简历 + 作品集 + 自测报告

    把所学转化为面试表现力:题库精讲、简历包装、项目讲解与模拟面试。

    阶段进度:0/10 章通过测验

    • 9.1 面试题库体系

      • 9.1.1C/C++ 面试题精讲必修计划中
      • 9.1.2数据结构与算法面试题必修计划中
      • 9.1.3Linux 系统编程面试题必修计划中
      • 9.1.4网络编程面试题必修计划中
      • 9.1.5嵌入式面试题必修计划中
    • 9.2 简历与项目包装

      • 9.2.1简历结构与项目描述必修计划中
      • 9.2.2项目讲解与 STAR 法则必修计划中
      • 9.2.3作品集与 GitHub 包装必修计划中
    • 9.3 求职路线与模拟面试

      • 9.3.1岗位图谱与学习路线回顾必修计划中
      • 9.3.2模拟面试与复盘必修计划中
  11. 阶段 B · Qt 应用开发(选修支线 · 按需激活)

    选修60h · 阶段成果:Qt 客户端项目

    路线说明:目标含 Qt 岗或 GUI 客户端需求时选修

    Qt 岗位路线完整启用;GUI 项目按需启用;不阻塞嵌入式 Linux 主线。

    阶段进度:0/9 章通过测验

    • B Qt 应用开发

      • B1Qt 是什么与开发环境选修计划中
      • B2工程结构与 Q_OBJECT选修计划中
      • B3信号与槽深入选修计划中
      • B4常用控件与布局选修计划中
      • B5事件机制与 QPainter选修计划中
      • B6Qt 多线程选修计划中
      • B7Qt 网络编程选修计划中
      • B8Qt + SQLite 综合案例选修计划中
      • B9Qt 客户端项目选修计划中