码农面试基础准备总结 --03 July 2015
背景
每次要面试之前都需要临时抱佛脚,可是该抱哪些佛脚呢? 为了避免我每次都忘记,这就专门写一篇博客简单总结一下吧.
算法和数据结构
算法
算法这一块都是一些基本的算法,需要能够快速的写出算法代码,对算法的优缺点心知肚明
- 各种排序: 快速,归并,堆,插入,冒泡,选择排序等.
- 字符串相关: KMP, strlen, memcpy, strcmp等
- 图相关: dfs, bfs, 拓扑排序,关节点,单源最短路径,最短生成路径
数据结构
基本需要了解的数据结构,熟悉基本实现和相关数据结构时间复杂度
- 二叉树: 前序/中序/后序非递归遍历
- 线段树/字典树: 基本实现
- 最小/最大堆: 实现
- 链表: 链表反转,链表找环
- 哈希表: 开链法实现
- Map: 红黑树基本概念
操作系统
这里主要以Linux为研究对象
- 进程和线程,进程fork, vfork, clone, execve, exit, wait
- Linux进程调度策略, FIFO, RR, OTHER
- Linux内存管理策略, task_struct -> mm_struct -> vm_area_struct
- Linux进程IPC实现原理, Pipe, Signal, Semphore, Shared Memory, Socket, Message Queue
- 互斥: Mutex, Semphore, Spin_lock
- 死锁: 死锁条件,死锁检测,死锁避免
- 生产者消费者问题,哲学家问题
计算机网络
这里主要以TCP/IP为研究对象
- TCP/IP状态转移图,三次握手,四次握手
- 拥塞控制,慢启动,滑动窗口,拥塞窗口, 傻窗口, 快速重传,快速恢复,超时重传
- TCP与UDP区别
- ARP/RARP, DNS, ICMP, IGMP, HTTP等协议
- tcpdump, ping, traceroute命令
C++
C++内容很多,就简单说说常见的
- 虚函数实现原理
- C++对象内存布局,虚继承与多继承
- C++各个容器的实现原理
- C++内存分配原理
- C++11新标准
- const, static, 四种cast, inline等关键字
- 指针和数组,指针和引用区别
- EOF -
声明:本文采用BY-NC-SA协议进行授权.转载请注明: 码农面试基础准备总结
comments powered by Disqus