# interview **Repository Path**: htinux/interview ## Basic Information - **Project Name**: interview - **Description**: 主要是记录C/C++面试中可能会出现的面试题和一些计算机基础类知识的积累 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-07-06 - **Last Updated**: 2021-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1. 算法 + 数据结构 1.1 排序 1.2 链表 1.3 栈和队列 1.4 二叉树 1.5 双指针 1.6 二分查找 1.7 BFS 1.8 DFS 1.9 滑动窗口(字符串子串问题) 注意编程规范,google C++编程规范 2. 算法和数据结构,数据结构我比较关注哈希、优先级队列等,算法则是字符串处理、简单的 DFS、BFS、动态规划都有 2. C语言 1.1 在language的C文件夹中memcpy函数的实现(memmove实现的区别) 手写strcpy,memcpy,strcat,strcmp等函数 3. C++ 2.1 C++语法 TODO:***** 2.2 智能指针 2.2.1 move移动语义 2.3 常用STL代码示例 TODO:2.4 C++输入输出流 4. Linux操作系统 1. 进程间通信 2. 多进程同步 3. 多线程同步 4. ELF文件详解—初步认识 (将包含unp.h头文件的替换成普通文件) TODO:***** 5. 简单通用的makefile TODO: CPU多核、多线程、进程调度 匿名管道与命名管道的区别:匿名管道只能在具有公共祖先的两个进程间使用。 共享文件映射mmap mmap建立进程空间到文件的映射,在建立的时候并不直接将文件拷贝到物理内存, 同样采用缺页终端。mmap映射一个具体的文件可以实现任意进程间共享内存,映射一个匿名文件,可以实现父子进程间共享内存。 常见的信号有哪些?:SIGINT,SIGKILL(不能被捕获),SIGTERM(可以被捕获),SIGSEGV,SIGCHLD,SIGALRM 5. 网络编程 3.1 wireshark图书 1. TCP状态图 2. UDP协议 3. TCP块数据传输 4. epoll触发模式 6. TODO: *****数据库 7. 开源项目 4.1 nginx的内存管理 4.2 redis 重点放在redis的应用上 8. 设计模式 1. 单例模式(线程安全) 2. 观察者模式 3. 工厂模式 4. 策略模式 5. MVC模式 6. 简单UML图 9. 调试经验 7.1 CPU问题的一般调试方法 7.2 内存问题泄露如何定位 10. 音视频编解码 https://github.com/feixiao/ffmpeg 11. TODO: linux下工具,命令 netstat、grep、top git常用命令集合 12. 海量数据处理 13. python 13. UT google test, google mock 盘点腾讯linux C++后台开发面试题 https://zhuanlan.zhihu.com/p/103027724?utm_source=qq 后台开发面试题答案 https://github.com/chankeh/cpp-backend-reference/blob/master/back-end.md https://gitee.com/nathanpei/interview