Skip to content

程序员面试知识索引

算法

排序/十大排序算法

  • [ ] 空间,时间,稳定性比较
  • [ ] 快排、归并、堆排、桶排,实现和改进

数据结构

  • [ ] 链表
  • [ ] 二叉树
  • [ ] 栈
  • [ ] 队列
  • [ ] 二进制

算法思维/pattern

  • [ ] 递归
  • [ ] 双指针
  • [ ] 贪婪算法
  • [ ] 动态规划
  • [ ] 回溯法
  • [ ] BFS/广度优先
  • [ ] DFS/深度优先
  • [ ] 滑动窗口
  • [ ] KMP

查找

  • [ ] 顺序查找
  • [ ] 二分查找
  • [ ] 平衡查找/树

  • [ ] 无向图
  • [ ] 有向图
  • [ ] 最小生成树
  • [ ] 最短路径

海量数据问题

高频面试题

  • [ ] LRU/LFU

数据结构

算法分析

  • [ ] 时间、空间复杂度,上限下限big O
  • [ ] 链表
  • [ ] 栈
  • [ ] 队列
  • [ ] 树
    • [ ] 红黑树
    • [ ] B,B+树
    • [ ] 字典树
    • [ ] 后缀/前缀树

散列表

优先队列/堆

图论

并查集

C++语言部分

基本类型/变量

  • [ ] 类型转换
  • [ ] 字符串
  • [ ] 数组
  • [ ] 表达式和语句

函数

  • [ ] 函数类型
  • [ ] 参数传递
  • [ ] 重载
  • [ ] 函数指针

类与继承/多态性

  • [ ] 类
    • [ ] 五大函数
    • [ ] 作用域+友元
    • [ ] 成员变量
    • [ ] 成员函数
  • [ ] 继承
    • [ ] 虚函数,虚表
    • [ ] 多重函数
    • [ ] 虚继承
  • [ ] 动态内存
    • [ ] 普通指针
    • [ ] 智能指针
    • [ ] malloc/free, new/delete
    • [ ] 内存管理
  • [ ] I/O 系统与文件处理
  • [ ] 容器(归到STL)部分
  • [ ] 范型算法与模版

STL

一级二级空间适配器

  • [ ] 适配器工作原理
  • [ ] 内存池

迭代器

  • [ ] 尚不清楚如何考察

顺序容器

  • [ ] vector
  • [ ] list
  • [ ] deque
  • [ ] stack
  • [ ] heap

关联容器

  • [ ] set/multi-set
  • [ ] map/multi-map
    • [ ] 红黑树,旋转平衡,插入和删除

STL 算法

  • [ ] 尚不清楚如何考察

计算机系统

  • [ ] C++ 程序如何编译、链接和运行
  • [ ] 异常控制
    • [ ] 异常
    • [ ] 进程
    • [ ] 信号
  • [ ] 虚拟内存
    • [ ] 物理内存
    • [ ] 虚拟内存
    • [ ] 内存映射
    • [ ] 动态内存分配
    • [ ] 垃圾回收
    • [ ] 指针与内存溢出
  • [ ] I/O 系统标准输入输出
  • [ ] 网络编程
  • [ ] 并发编程

网络编程

  • [ ] TCP/IP协议
    • [ ] 五大分层
    • [ ] ARP
    • [ ] DNS
    • [ ] IP
      • [ ] IPv4
      • [ ] 路由
      • [ ] 转发与重定向
    • [ ] TCP协议
      • [ ] 流服务
      • [ ] TCP头部
      • [ ] 状态转移
      • [ ] 报文
      • [ ] 超时重传
      • [ ] 拥塞控制
  • [ ] I/O复用
    • [ ] 拥塞控制
    • [ ] 信号
    • [ ] 定时器
  • [ ] Libevent
  • [ ] 多进程编程
    • [ ] 进程池
  • [ ] 多线程编程
    • [ ] 线程池
  • [ ] gdb调试
    • [ ] gdb
    • [ ] 系统监测命令
    • [ ] 网络监测命令
程序员面试知识索引 has loaded