First, the interview round 1
1. linux network model
2. b + tree
3. blocking queue
4. redis MongoDB and the difference. Several concepts contrast, there is the underlying implementation.
5. algorithm problem: how to merge k sorted list, the time complexity?
6. HashMap If you have been put elements of what will happen? How hashcode all the same? equals method are the same
how is it?
7. ApplicationContext initialization process? During initialization discover how Spring is a circular dependency treatment.
8. GC collector with what? How the process of collection? Which parts can be used as GC Root?
9. Volatile keyword, instruction reordering what is the point?
10.synchronied how to use?
Atomic Class 11. What are complicated by the bag, how to achieve? cas in CPU instruction level to achieve what?
12.Redis data structure what? How to achieve sorted set? This data structure may have what in extreme cases
problem? Balanced binary tree?
13. The system design problems: a push scenario, the content 50, the timing of the push, to push the user 5%, after a period of time to identify
The best several push to all users. Design-related database tables, system modules required can be grounded, there pseudocode
14.MySql index is what data structure? B tree What are the characteristics? What advantage is that?
15. how slow query optimization?
16. Project: cache design, MQ lost messages, RPC usage scenarios. Responsibilities of the various parts, which optimization points.
17.ThreadLocal usage scenarios
18.Redis recovery and backup
19. The project design problems - mainly for projects to find loopholes, and then gives optimization
20. The pit encountered, how to solve the subsequent summary.
Second, the interview round 2
1. The biggest challenge that problem for you?
What improvements 2. JDK 1.8 ConcurrentHashMap done? HashMap deadlock?
3. Mark the time to find out how GC Root on the stack? A possible solution to say, what problems?
4. bytecode have to find out about it?
The local cache how to optimize space? (Proposed BitMap) BitMap feasible? How to verify the feasibility? if not
可行,怎么证伪?
6. 其他语言有了解过吗?Scala 的集合有什么特性?python 有什么高级特性?
7. 怎么学习新技术?哪些是基础技术?
8. 在部门中是什么角色定位?
9. JDK 1.8 比前一个版本有哪些改进?
10. ParNew 收集过程,如何调优 ParNew?如何减少 full gc?调大 YoungGen 有什么好处
坏处?
11. OpenAPI
12. 平衡二叉树13. 业务逻辑
14. MySQL
15. 服务设计题
16. web 架构设计
17. Pack
18. http 协议
19. 爬虫
20. Java Agent
21. Zookeeper
22. LoadBalance
23. 分布式 ID
24. Nginx
25. Cookie
26. Session
27. GC
28. 手写 LRU 缓存
29. 将现有线性存储结构改成环形结构
30. Redis IO 模型
31. MQ 架构对比
32. 各种缓存 memcache,MongoDB,EhCache,Guava,Caffeine 等等,使用场景
33. 数据库乐观锁悲观锁。在 JDK 和其他中间件的体现。
34. 线程池,核心参数,扩容原理,使用注意点
35. 数据库主从同步,延迟
36. 数据库和缓存一致性问题,出现的场景,解决方案
37. Spring IOC AOP
38. 一致性哈希算法
39. RPC 服务发现与注册
40. 服务提供方不稳定,频繁变动如何提升自身稳定性
三、面试第 3 轮—HR
1. 离职原因
2. 学习习惯
3. 兴趣爱好
4. 为什么选择本公司
5. 本人的优缺点
6. 唠家常
四、总结
主要看技术能力,沟通能力和态度(不会就是不会,不要说百度就知道)。