计算机基础知识
数据结构
1、什么是队列、栈、链表
2、什么是树(平衡树,排序树,B树,B+树,R树,红黑树)、堆(大根堆、小根堆)、图(有向图、无向图、拓扑)
3、栈和队列的相同和不同之处
4、栈通常采用的两种存储结构
5、两个栈实现队列,和两个队列实现栈
算法
1、排序都有哪几种方法?
2、会写常用的排序算法,如快排,归并等。
3、各种排序算法的时间复杂度和 稳定性 ,重点快排。
4、单链表的遍历和逆序
5、深度优先搜索和 广度优先搜索
6、最小生成树
7、常见Hash算法,哈希的原理和代价
8、全排列、贪心算法、KMP算法、hash算法
9、一致性Hash算法
操作系统
1、虚拟内存管理
2、换页算法
3、进程间通信
4、进程同步:生产者消费者问题、哲学家就餐问题、读者写者问题
5、死锁的四个必要条件,避免方法
6、Linux的一些基本命令,如ls、 tail、chmod等
计算机网络
1、tcp,udp区别
2、HTTP请求和响应的全过程
3、HTTP常见响应码:200、301、302、404、500
4、get和post的区别
5、forward和redirect的区别
6、osi七层模型
7、tcp/ip四层模型及原理
8、TCP和UDP区别
9、TCP的三次握手,四次关闭
10、丢包,粘包,
11、容量控制,拥塞控制
12、子网划分
13、IPV4和IPV6
14、HTTPS和HTTP/2
数据库
1、范式
2、数据库事务和隔离级别
3、为什么需要锁,锁定分类,锁粒度
4、乐观锁, 悲观锁的概念及实现方式
5、分页如何实现( Oracle,MySql)
6、Mysql引擎
7、MYSQL语句优化
8、从一张大表读取数据,如何解决性能问题
9、内连接, 左连接,右连接作用及区别
10、Statement和 PreparedStatement之间的区别
11、索引以及 索引的实现(B+树介绍、和B树、R树区别
12、什么是数据库连接池
海量数据处理
1、海量日志数据,如何提取出某日访问淘宝次数最多的IP
2、上亿数据,统计其中出现次数最多的前N个数据
3、5亿个int,找出他们的中位数
4、两个文件,各存放50亿条URL,每个URL占64字节。内存限制是4G,找出两个文件中相同