数据结构和算法:
1、说下所有排序算法
2、快排具体实现,最差情况下时间复杂度,什么情况是最差情况
java:
1、hashmap的实现,怎么扩容的
2、hashmap解决冲突的为什么用红黑树不用二叉平衡树
数据库:
1、解释下聚簇索引和非聚簇索引
2、Innodb的索引情况
3、如果有abc联合索引,只查c会怎样,只查ac会怎样,为什么
4、联合索引底层结构
5、为什么索引用b+树不用二叉树
6、非聚簇索引会查几次
redis:
1、数据类型
2、zset和list使用上的区别
3、zset底层结构,如何实现范围查找
操作系统:
1、协程
2、解释虚拟内存
3、缺页中断
4、linux的几个命令
网络:
1、tcp三次握手之后如果客户端断网了怎么办
2、http长短连接
3、tcp长连接
其他:
1、登陆如何保存状态
2、token怎么保证安全
3、restful了解么
4、加密算法说几个
5、rsa是对称还是非对称
6、sql注入
算法:
1、实现一个栈,除push,pop操作外, 加一个取最小值的操作
感觉准备的java相关基本没问(jvm啊并发啊都没问😂),框架什么的也基本没问,面试官应该不是搞java的。
我在回答java的hashmap扩容时说的源码里按2的幂次方扩容,蛮常规的回答吧,但是他问扩容为3倍或其他可以么,我没太明白他意思,我说想扩那么大是可以扩,但源码里确实是让数组保持2的幂次方可以将取模运算转成按位与的运算来提升性能,但看样子我好像这点答的不太好嘤嘤嘤。我下来想了想说不定是想问常规扩容是怎么扩的?装载因子那些什么的。或许是我说的是Jdk实现的细节所以有点偏了😥
不管怎样求个二面吧,挺想进虾皮的说。。。
全部评论
(5) 回帖