一面是电话面试,面试官很和蔼,面试知识点很全面。
1.自我介绍
2.问项目,这个可能就是和你相关的项目了。
3.hashmap一个大点,hash冲突的解决办法,底层原理,是头插法还是尾插法,扩容 原理,然后由jdk1.8的链表转红黑树,引申到了红黑树,红黑树的特点,变色,左旋,右旋怎么实现的,插入和删除是怎么实现的。(这一点真的是总考啊)
4.tcp和udp的区别以及应用场景。
5.tcp的三次握手和四次握手。
6.多线程的等待唤醒机制。
7.sleep和wait有什么区别。
8.线程是如何加锁的。
9.sleep(1000),实际上它等待的时间是小于1000,大于1000,还是随机的。
10.java中你用到的容器有什么。
11.linux中查看cpu的指令。
12.进程之间的通信方式,
13.socket编程问题,客户端发十个包,服务端需要接收几次。
14.手撕算法topk问题。(优先队列)
15.1元,2元,5元,给定一个数字,用最少的个数,用1元,2元,5元组成这个数字。(回溯法)