拼多多-服务端研发工程师-提前批一面

一面

1、自我介绍

2、第一个项目是研究型项目,第二个项目是工程型项目,为什么选择做这两个项目?

3、这两个项目开源的吗?还是基于开源去改的?有多少代码是自己写的,还是只是把它跑起来了?

4、项目2,你用到了Java里面的哪些能力?

5、你提到用synchronized加锁了,为什么要加锁?讲清楚为什么要加锁,锁有锁的机制,它主要使用什么产品?避免其它什么作用?

6、为什么选择加synchronized锁呢?而不是其它的锁?

7、Java里面除了synchronized锁,你还了解过其它的锁吗?

8、你刚才讲了好多概念,又是公平锁,非公平锁,轻量级锁,自旋锁,你能讲一讲吗,比如synchronized属于哪种锁?

9、synchronized锁升级过程中会出于轻量级锁的状态,通过自旋去获取锁,自旋会消耗CPU吗?你觉得这样有什么问题呢?

10、一般是什么样的任务需要升级到自旋锁的状态是有效的,什么情况下是无效的?或者说你认为用自旋去解决冲突,适合什么样的场景?

11、对于ReentrantLock你提到了公平锁和非公平锁,谈一谈

12、手撕:一个单链表,从链表尾部开始,每两个节点位置翻转,要求时间复杂度O(n), 空间复杂度O(1)。示例:1,2,3,4,翻转后2,1,4,3

13、静态内部类和非静态内部类的调用区别

14、Java里面一般会碰到异常,你先讲讲你理解的Java里面的异常,该怎么处理?

15、比如你调一个update,产生超时了的异常,这个属于受检异常还是非受检异常?

16、有哪些异常属于受检异常?

17、出现异常怎么处理呢?

18、你觉得什么时候异常向下传递比较好?什么时候异常自己处理比较好?

19、异常不处理的后果是什么?

20、谈谈SpringBoot有哪些关键的特性?

21、谈谈对Java的GC的理解

22、什么样的对象可以称之为GC Roots呢?

23、为什么JVM要分代?

24、你觉得从写代码的角度,怎么去管理内存,管理对象的申请是对GC友好的?

25、反问

全部评论
咋问你那么多Java的八股,我一面主要问项目,计网还有操作系统,Java的八股很少,手撕是快慢指针找链表环入口
点赞 回复 分享
发布于 09-05 17:50 江苏

相关推荐

评论
点赞
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务