Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/SYaoJun/CPPInterview

C/C++ interview questions
https://github.com/SYaoJun/CPPInterview

c cpp linux

Last synced: about 2 months ago
JSON representation

C/C++ interview questions

Awesome Lists containing this project

README

        


GitHub


# C/C++系统开发

## 一、面试篇

### 1. 基础知识

1. [C++编程语言](C++/README.md)
2. [数据结构与算法](DS/README.md)
3. [操作系统](OS/README.md)
4. [数据库](DB/README.md)
5. [计算机网络](Net/README.md)
6. [分布式系统](distributed_system/README.md)
7. [项目](projects/README.md)

## 二、笔试篇

### 1. 高频算法类型

1. 模拟 ★★★★★ 可难可易 大部分题都是模拟中使用某个算法优化
2. 贪心 ★★★ 按照某种规则排序
3. 字符串 ★★★ 输入输出容易搞人 双指针处理字符串空格单词
4. DFS/BFS ★★★ 有多少种组合数 图的最短时间
5. 滑动窗口/双指针 ★★ 最短或最长的子串 最多可变 k 次
6. DP ★★ 看运气 背包问题居多 遍历时维护最值
7. 堆 ★★ 学会自定义数据的排序规则
8. 并查集 ★★ 寻找连通分量和最大集合数量
9. 找规律/数学 ★ 看运气
10. 前缀和 ★ 子数组范围较小时直接用
11. 二分法 ★ 灵活运用库函数 lower_bound 和 upper_bound
12. 单调栈 ★ 通常跟数组有关
13. 迪杰斯特拉算法/弗洛伊德 ★ 通常不考
14. 字典树 ★ 出现前缀字符串查询或者异或值直接用
15. 高精度 ★ 大数乘法或大数加法

### 2. 笔试技巧

1. 数值较大的结果考虑用 long long
2. 动态规划写不来,先写暴力过部分测试样例
3. 特殊输出先提交一下,骗点分了再说
4. 练习处理诡异输入的能力

## 三、书单

### 1. C++

- 《C++ Primer》第五版
- 《后台开发: 核心技术与应用实践》 徐晓鑫

### 2. 计算机基础

- 《深入理解计算机系统》第三版
- 《Linux 高性能服务器编程》 游双
- 《数据库系统概念》第七版

### 3. 算法

- 《剑指 offer》何海涛
- 《程序员面试指南》左程云

## 四、课程

- 《操作系统》[蒋炎岩](https://www.bilibili.com/video/BV1N741177F5)
- 《数据结构与算法》 [陈越](https://www.bilibili.com/video/BV1H4411N7oD/?spm_id_from=333.337.search-card.all.click&vd_source=e9f1ced96b267a4bc02ec41ca31d850a)
- 《设计模式》[李建忠](https://www.bilibili.com/video/BV1Eb4y1m7Uj?from=search&seid=8468035381340447890)
- 《深入理解计算机系统》[yaaangmin](https://space.bilibili.com/4564101)

## 五、刷题网站

1. [PAT 系统](https://pintia.cn/problem-sets/15/problems/type/7)
2. [LeetCode](https://leetcode.cn/problemset/all/)
3. [AcWing](www.acwing.com)