阿里
3.11
一面:
1.聊了一下项目
2.说说你了解的线性数据结构?线性结构的特点?
3.说一下深度优先遍历和广度优先遍历?给你个二叉树你模拟一下吧?(深度不小心嘴说岔了)
4.如果不用递归深度优先遍历,你可以用什么数据结构实现二叉树遍历
5.hash结构你了解吧?现在我叫你实现一个hash结构你怎么实现?(我说的数组+索引)
6.如何解决hash碰撞?不用hashmap他写的方法你能解决吗?
7.你说你直接用集合存,那假如很不幸,很多结点都发生指针碰撞,全部退化到你的list里面,那么这个不就退化成一个List的查询了吗?你有什么解决办法吗?
8.你想要改hash函数,当然是一种办法,那假如我不让你改hash函数呢?(我说用list排序之后用二分查找)
9.最后还是觉得红黑树好吧,那问问你红黑树的原理吧?
10.java基于什么协议传输http请求?
11.你说一下TCP/IP四层协议吧
12.说一下TCP和UDP的区别吧
13.UDP协议如何保证传输数据的顺序性?
14.请你谈一谈spring 的容器吧?
15.beanfactory和factorybean?
16.项目中高并发场景下如何解决redis和数据库双写一致性的问题?
17.谈谈你的职业规划吧?
18.还投递了别的部门吗?有没有兴趣来我们这边?
面试体验非常良好,面试官一直在引导回答,问的也不是很难,给了一些建议
3.17
二面:
1.ArrayList是线程安全的吗?GUC里面他的线程安全的类有哪个?
2.那你说一下copyonwritearraylist的原理和方法吧,你平时怎么用的?
3.你平时用线程怎么用的?
4.线程池你怎么用的?
5.说一下线程如何执行任务的吧?
6.固定线程数量的线程池用的是哪个阻塞队列?
7.singleton线程池和固定线程数量的线程池有区别吗?
8.如果我现在给他设置为一个核心数,最大核心数为1,那他不就是singleton?
9.你用过synchronized和volatile吗?你是怎么用的啊?
10.我用this和类.class有什么区别吗?
11.JVM了解吗?说一下JVM里面的垃圾回收算法吧?
12.为什么要进行分区?
13.说一下mysql索引的底层原理和底层数据结构吧?
14.说一下索引创建的原则和不能创建索引的原则?
15.聊项目,RPG的调用方式,MQ?
16.用过dubbo吗?(没有)
17.用redis来干嘛的?
18.你更新完数据库以后,但是redis挂了,你遇到过吗?(没有)
19.我假设有这样一个挂掉的场景你怎么处理?(回答恢复持久性,做集群,但并不满意)
20.你想要redis做ACK机制,这种想法可以,但是必然会增加系统的复杂度,你有什么别的办法吗?
21.你没有考虑从数据库层面来解决这个问题吗?
22.数据库有没有什么补偿机制?能不让回滚全部?(回答那几种日志,但是好像不太对)
23.计算一个数开根号后的整数部分,要求时间logn
这次面的体验也非常不错,和面试官还聊了很久的技术问题,感觉还行
个人测评挂了,乱写的分数没达标,直接挂了,惨兮兮。阿里梦碎