代码全撸出来了还是三面挂,转去客户端了,求好运!
后端开发
一面
读写锁原理
epoll io多路复用原理
死锁是什么,如何避免
线程有哪些状态,如何互相转化,yeild()是什么
Thread.sleep()会如何改变线程状态
几亿个数据(内存放不下)中怎么找出只出现一次的值
布隆过滤器原理
操作系统页置换是什么,有哪些算法
zookeeper作用是什么,有哪些角色,ZAB竞选master过程,二段提交是什么,如果增加两台服务器会怎么样
rpc过程
git merge和git rebase区别, git提交什么时候会冲突
算法:
1
2
输入一个正数n,输出所有和为n 连续正数序列
例如:输入15,由于1+2+3+4+5=4+5+6=7+8=15,输出3
二面
Java线程同步方式有哪几种
ReentrantLock的底层实现
java内存结构是怎么样的
对象在堆中怎么样会分配到老年代
volatile解决什么问题,能不能保证线程安全
java gc是怎么样的
mysql隔离级别,默认隔离级别是什么,描述一下幻读的场景,innodb的索引是什么结构,B+树和B树的区别是什么
Https和http的区别,https的过程
session和cookie是什么作用,cookie里面存了什么
http状态码有哪些
SQL:同学,科目,成绩;求科目A大于平均成绩的学生数
算法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
给出一个二维的字母板和一个单词,寻找字母板网格中是否存在这个单词。
单词可以由按顺序的相邻单元的字母组成,其中相邻单元指的是水平或者垂直方向相邻。每个单元中的字母最多只能使用一次。
样例:
给出board =
[
"ABCE",
"SFCS",
"ADEE"
]
word = "ABCCED", ->返回 true,
word = "SEE",-> 返回 true,
word = "ABCB", -> 返回 false.
三面
项目,怎么判断你的推荐系统的效果好坏
volatile 的作用,为什么可以防止重排序
反射的使用场景,本质上是什么
GC 的几种方式,什么时候用复制,什么时候用标记整理,什么时候对象进入老年代
DNS 协议解析的流程,怎么样是递归,怎么样是迭代
编译器的原理
Docker 的作用
算法题:LeetCode 15