C++面经整理

前言

2024新年伊始,我也到了要准备工作的时候了,我计划开始写一篇长篇的C++面经整理,记录看到的点滴面经。

目录:(一级标题:知识框架;二级标题:知识领域;三级标题:面试问题:四级:内容)

  • C++语言
    • 特性
    • 原理
    • 内存安全
  • 工具
  • 算法题
  • Linux
  • 操作系统
  • 计算机网络
  • 设计模式
  • 测试调优
  • 数据库原理

C++语言

特性

C++11有哪些特性?

C++20有哪些特性?

原理

cpp编译一般经过几个步骤?

  1. 预处理阶段:在这个阶段,预处理器处理源文件中的预处理指令,比如 #include#define 等。预处理器会根据这些指令展开头文件并替换宏定义,生成一个经过预处理的源文件。

    1
    $ g++ -E source.cpp -o source.ii
  2. 编译阶段:编译器将预处理后的源文件转换成汇编代码。在这个阶段,编译器会对源文件进行词法分析、语法分析和语义分析,并生成相应的中间代码或汇编代码。

    1
    $ g++ -S source.ii -o source.s
  3. 汇编阶段:汇编器将汇编代码转换成机器码或者目标文件。在这个阶段,汇编器会将汇编代码转换成可重定位的机器码,并生成目标文件。

    1
    $ as source.s -o source.o
  4. 链接阶段:链接器将目标文件和库文件链接在一起,生成最终的可执行文件。在这个阶段,链接器会解析目标文件之间的引用关系,将它们连接到正确的位置上,并将库文件中的函数和变量链接到可执行文件中。

    1
    $ g++ source.o -o executable

内存安全

工具

MySQL

CMake

算法题

Linux

操作系统

计算机网络

设计模式

测试调优

数据库原理