2020java腾讯一面面试题分享,大概分为个人介绍、技术问题、解决问题的思路以及自主能力。
第一部分:个人介绍
1. 自我介绍
2. 你觉得这两个项目哪个更能体现你的能力,并且着重介绍一下你遇到的难点和你承担的一些职责
第二部分:技术问题
3. redis和mysql中的状态不一致你怎么进行处理,同步的时间窗口是多久...
4. 你的微服务项目是怎么进行服务拆分的
5. 你这个微服务项目和你的秒杀系统有没有做理论上的压测吗?
6. 在流量大的情况下你是如何保证你的服务是可用的,你的项目有做高可用的保障吗?,比如说做服务降级和熔断之类的东西
7. 你是如何进行限流的?你知道哪些限流算法?你了解过这些限流算法之间的区别和优劣势吗?
8. 你有主动去学习过一些东西吗?比如技术文章,技术博客之类的,有在看什么书吗?
9. 你对mysql有很深入的了解吗?写一个sql语句吧,leetcode数据库的1179题... 不会做,我没做出来...
10. 你了解LRU吗?你自己实现一个LRU
11. 你对java比较熟悉,有用过stream之类的东西吗?没用过
12. 你说说hashmap和hashtable的区别
13. hashtable并发性不好,怎么解决?
14. 说一下concurrenthashmap的实现
15. 说一下线程和进程的一些区别
16. java线程和操作系统的线程是怎么进行绑定并且进行调度的呢,管理上怎么进行映射? 瞎扯了一点,然后布吉岛
第三部分:解决问题的思路
17. 操作系统上一般我们说一个机器,比如说四核心八线程,但是java上我可以开几百个线程,他们之间是怎么样一个关系?怎么去维护这个关系的?了解吗?....不了解
18. 在开多线程的情况下,你分析一下是不是线程数是不是越多越好,线程数和程序性能之间的关系,怎么评估你的程序可以开多少线程。 向线程池瞎扯了一些,扯了扯io密集型和cpu密集型,然后就布吉岛了...
19. 在压测的时候你有考虑过对系统的并发量进行初步的一个评估吗?就是结合线程的执行能力,比如说你做秒杀的时候有没有做端到端的时候要多久,要多少ms,比如说cpu执行多少时间,io执行多少时间,基于这些时间参数的情况下,能够达到的最高的一个性能的qps做一个评估,然后再去做一个发布,做一个压测。 布吉岛,没有研究过...
第四部分:自主学习能力和其他
20. 你还有哪些比较感兴趣的方向,比如说你项目里面写了,但是我前面可能没提到的,比如你讲了那么多但是没有触及你想说的点的...
21. 你对大数据的处理有了解过吗?比如说spark,hadoop这些,如果你有机会接触愿意去学这些东西吗?
22. 你有什么想问我的吗?
了解更多的java面试题。