记一年Java开发面经,公司为东信北邮成都研发中心,直接上面经:
一面1h40min:
1. 线程池核心参数有哪些?
2. 线程池线程数该怎么分配?依据是什么?
3. Future、FutureTask、Runnable、Callable有什么区别?
4. 你们线上处理数据的服务有多少台?分配了多少内存?
5. 你们系统中下单的时候为什么要用线程池?可以用其他的实现方案吗?
6. 搜索时延这么高,该如何进行优化?如何提高响应速度?如何优化以提升用户体验度?
7. 规定给出的并发量外,如果有额外的流量访问进来了,如何做熔断处理?
8. Redis基础数据有哪些?
9. Redis获取所有key用什么命令?线上使用会有什么后果?
10. Redis集群了解吗?cluster和sentinel知道吗?
11. Redis为什么这么快?
12. Synchronize,底层是如何实现的?和ReentrantLock相比有什么区别?
13. JDK中偏向锁、自旋锁、轻量级锁、重量级锁的区别?
14. JDK锁自旋的自旋阈值了解吗?如何调整自旋次数?
15. 了解GC吗?说一下GC算法有哪些?垃圾收集器有哪些?
16. 使用标记整理算法有什么弊端?
17. 你简历上说有JVM内存调优经验,你是怎么进行的JVM内存调优?
18. 说一下双亲委派模型?如何破坏双亲委派模型?知道Tomcat中是如何违背双亲委派模型的吗?
19. MySQL中索引触发条件有哪些?不触发索引的条件有哪些?
20. 了解MySQL的主从同步机制吗?
21. InnoDB有哪些特点?和MyISAM有什么区别?
22. B+树底层实现原理?时间复杂度是多少?
23. 一条记录插入MySQL中,InnoDB底层是如何执行的?
24. 链表查询数据的时间复杂度是多少?插入和删除呢?插入一条数据是怎么个过程?
25. 说一下快排思路,了解双指针(双路)快排吗?说一下双路快排的思路?
26. 了解RabbitMQ吗?说一下底层?
27. 了解Vue吗?用过Vue吗?
28. 四级过了没?
整个面试下来还是收获很多的,发现自己其实有很多知识还不牢固,并且技术实际应用以及应用场景方面需要加倍努力,而面试官也很耐撕,很耐心,本人没有回答出来的问题,面试官也说出了自己的思路,解答了本人的疑惑。
总结:在Java中间件基础、原理、应用场景以及架构思路等方面还需努力提升。
全部评论
(3) 回帖