一面(43分钟)
1 排序算法(快排 归并 冒泡)
2 网络分层,各个协议属于哪一层
3 TCP 握手撒手(三握,四撒,每一步分别处于什么状态,连接中出现大量time_wait,可能是什么原因?)
4 tcp和udp的区别
5 hashmap和chm区别
6 bean加载过程
7 循环依赖如何解决
8 threadlocal的作用,使用时注意些什么,内存泄露,陈旧entry不清理的话,除了内存泄漏还有什么问题(我现在也不知道还有什么问题,当时随便说了个会进行不必要的resize)
9 java锁的实现机制,内部锁和lock区别,内部锁优化,重量级锁怎么实现?
一个对象两个synchronized方法,需要互相等待吗?
10 valotile关键字说一下,它解决不了什么问题
11 类加载机制,同一个类的判断标准
12 怎么解析xml文件(栈)
13 session和cookie,sessionid存在哪?session和cookie怎么对应
14 io nio aio(select,epoll)
15 redis 单线程为什么快?(不知道呀,说了基于内存,k-v时间复杂度低)
16 使用redis要注意些什么(我是真的不知道,当时的项目就是简单用了用)
17 java反射说一下,优点和缺点呢
18 数据库mvcc
19 数据库隔离机制 分别解决什么问题
二面(30分钟)
原来电话面了一次,这次问了一点技术(在微博做啥,中间件是做啥的,知道哪些?所在部门kafka用来做啥,大数据直接处理kafka数据?)剩下就是聊天了
几天前的电话面问了:排序,tcp,jvm分区,优点缺点,性格,其他的记不清了,都是一些基础
三面(40分钟)
1 灵魂拷问:喜欢编程吗?
2 http状态码(问了很久,我猜他有从100问到500的想法,我只说出了常见的那几个(200,301,302,403,404,500),但属于边问边解释,没见过这么友好的面试官,十星好评!)
4 http对缓存的控制 (Last-Modify e-tag)
5 多线程下载一个大文件,如何控制的
6 如何维持长连接,websocket
7 cap定理了解吗 (面试官又说了分布式里主要是base定理,注意哈是面试官自己说的,都不问我,我真的没见过这么好的面试官)
8 数据库事务特性(ACID)
9 了解哪些中间件
10 中间件应用场景(削峰限流,消息分发,异构集成)
11 nginx了解吗
12 redis集群了解吗
13 聊天,问问学校,问问团队,问问在微博做了啥
还有两面,祝我好运。