腾讯一面(凉)

4/1 腾讯一面(挂)

(1h05min)

直接上来开问JVM和多线程。面试官摄像头也没开。

1.JVM内存结构

只答了元空间、虚拟机栈、堆。

2.定义了两个局部变量 int a=10; new object。这两个在JVM中什么位置?

答:a在虚拟机栈中。object在堆中。

3.对象有没有可能在栈中

答:对象在堆中。

4.JAVA主要的垃圾回收方法?

答:标记清除、标记整理、复制算法、分代收集算法

5.可达性分析算法GCroot,它是怎么找到垃圾的?

答:这块实现不太清楚,说了哪些对象可以当GCRoot(好像也说错了),然后讲沿着一个类似树的往下找。

6.有哪些标记方式?

答:这块不知道了

然后开始垃圾收集器的拷打。

7.G1垃圾收集器的优点。

答:这块不是很清楚,说了并行化速度快,每块区域都可以当新生代和老年代。

8.CMS收集器的不足

答:这一块也不太清楚。

9.CMS在哪些阶段要STW

答:不会答。。。瞎答的。。

10.CMS重新标记时间会很长吗?

答:(不清楚)我说的不会很长,因为重新标记的一些垃圾比较少,耗时不会太长。

11.垃圾回收器之间的差异

答:。。。面试官看出不会垃圾回收器了,哭哭,

12.有哪几种接口可以创建线程池

答: 通过Executors类的静态方法创建,但一般不用这种方法。另外是用new ThreadPoolExecutor()

13.给了核心线程数,阻塞队列大小,最大线程数,问线程池有几个线程去执行任务。

答: 这个会,基本八股。

14.假如阻塞队列用了一个无界的LinkedQueue,这时会有几个线程到阻塞队列中去。

答:这个不太清楚,就回答了一般就算是链表阻塞队列也会设置队列大小。

15.优先队列是如何实现的?

答:这个也不太清楚,答了Executors有个Delayedpool。(其实是记混了线程池中的DelayedWorkQueue)

16.volatile关键字怎么实现可见性

答:先说了可见性是啥(但是当时回答成了有序性。。。哭)防止编译器优化代码,禁止指令重排序。

17.面试官反问,多线程同步跟这个有什么关系。面试官想让我说volatile的读写屏障

答:这个当时只有个模糊的概念。就凭记忆说了写是向上屏障,读是向下屏障。。。

18.场景题:大概就是怎样让两个线程在某个条件的时候会合,然后再让线程往下执行。

答:先说了join,但面试官说不对,我就说了可以加个if条件,到了这个条件停下来。然后又说可以有await()和noitify。

19.如何分辨当前线程是否做完这个任务了?

答:。。。还是if条件。

20.面试官又问当有1000个线程的时候,加if条件太耗时,有什么解决办法?

答:。。。。不会啊!!!!只说了可以放在一个队列中,没学过微服务,但简单知道点MQ,就说了可以把达到条件的先放在一个等待队列中(开始胡答了。。。)

21.Linux判断性能指标

答:nvidia-smi看gpu,top看cpu

22.算法题:

判断是否有环

用了快慢指针。。。但是输入语句不会写。

总结:总的来说还是基础不牢,对于一些细节、还有具体实现方面是个模糊的状态。还是得再沉淀沉淀。

#软件开发2024笔面经#
全部评论
大佬过了吗
2 回复
分享
发布于 04-03 17:44 广东
佬啥部门呀
点赞 回复
分享
发布于 04-01 20:02 湖北
滴滴
校招火热招聘中
官网直投
佬哪个部门
点赞 回复
分享
发布于 04-01 20:15 广东
多发点看看
点赞 回复
分享
发布于 04-01 21:10 四川
为什么我投了腾讯 一点反应也没有 我的简历完成度是百分之60多,这有影响吗
点赞 回复
分享
发布于 04-02 00:18 广东
csig?我上周也是全八股拷打
点赞 回复
分享
发布于 04-02 09:44 北京
对象有可能在栈中的
点赞 回复
分享
发布于 04-02 10:31 江西
这么吓人吗兄弟,我四十分钟之后面试晕了呀😥
点赞 回复
分享
发布于 04-02 13:43 湖北
18可以直接用同步屏障吗
点赞 回复
分享
发布于 04-02 15:16 江苏
请问怎么看面的结果呀?投递进度那里没动
点赞 回复
分享
发布于 04-02 15:33 上海
开了逃逸分析,符合条件可以在栈上标量替换
点赞 回复
分享
发布于 04-05 23:28 广东

相关推荐

10 64 评论
分享
牛客网
牛客企业服务