腾讯后台开发一面4.26

叫是叫事务型开发,最后反问解释了部门习惯这样叫,就是后台开发

部门cdg-fit

55min-前面45分钟,写题5分钟,反问5分钟

1.面试官自我介绍

2.面试官说面试内容-“我们今天主要看看java基础和mysql基础的情况”-这话说完我就觉得大事不妙

----------

3.自我介绍

4.你主要技术栈是Java是吧,那来讲讲基本类型和引用类型有什么区别

5.对象一定在堆里面吗?为什么JVM要提出这个?具体jvm是怎么分析对象应不应该在栈中?jvm怎么把对象放在栈中的,栈中的对象和堆中的对象有什么不同

6.你提到了Int和Integer,那你说说它们两的区别

7.你前面讲的都是使用上的区别,我想问的是在内存上,就是在运行起来的Java程序中,他们有什么区别

8.不要说缓存池这种大家都知道的东西,Integer在JVM中还维持了一些额外的数据结构,讲讲

9.好吧,那下一个。java函数传参是怎么传的呢

10.为什么你说对象不是传引用呢,详细讲讲为什么

11.有一个Main函数,一个Function函数,Main函数int a=1,然后调用了函数Function(a)。在Function函数中,输入参数是int b。进行了b = b + 1。Main函数中最后a是多少。

12.来详细讲讲这中间在JVM上面发生了什么,不要讲车轱辘话,涉及到栈上什么,栈之间怎么转移的。int a = 1在栈上发生了什么。main到function又发生了什么。function里面的b=b+1又发生了什么。

13.有一个Main函数,一个Function函数,Main函数ArrayList a=new ArrayList<>(); a.add(1),然后调用了函数Function(a)。在Function函数中,输入参数是List b。进行了b.add(2)。Main函数中a有什么元素。

14.同理分析JVM哪个区域分别发生了什么,别讲车轱辘话。

15.Function中最后b = new ArrayList<>();那Main函数中a又变成了什么。为什么

16.讲讲深浅拷贝吧

17.现在有一个ArrayList a,你怎么在代码里面写一个浅拷贝把a拷贝到b。

18.那你怎么深拷贝一个a到b,代码怎么写

19.聊聊反射

20.你怎么用反射

21.反射有什么优缺点

22.你说反射效率低,那你来分析分析,反射效率低下的原因。

23.我直接构造一个对象进行操作,和通过反射获取一个对象进行操作。在JVM上发生了什么,有什么过程详细讲讲,什么过程导致了他们性能差距

24.那聊聊垃圾回收吧

25.你提了jvm的内存结构和常见的回收算法各种标记,那jvm是怎么标记的呢

26.你提的markword是数据结构上的,那算法上的是怎么标记的

27.你说了可达性分析法,也说了gcroot,那这棵树是怎么构造出来的呢

28.怎么知道要不要回收,是通过什么来判断的。

28.那你现场想想,你要怎么构造出这棵树。现在只有一大块内存区域,里面有些region可能有些对象,你怎么构造出整棵树

29.你说了引用链串起来,那你怎么知道这条链要不要回收呢

30.换个问法,你怎么知道这条链和根节点的关系呢

31.好吧,那我们换个东西问问,你了解mysql索引吗

32.非聚簇索引叶子节点和非叶子节点有什么区别,分别存了什么东西

33.聚餐索引叶子节点和非叶子节点有什么区别,分别存了什么东西

34.什么叫数据的物理地址,这个物理地址是什么东西

35.这个物理地址是怎么得到的

36.行叭,那你讲讲索引失效的场景

37.联合索引太简单了,没啥好问的,我们考虑这样一个场景,有100w条记录,每条记录代表一个人,其中有一个性别字段,在这个字段上加了二级索引。这100w人,50w是男性,50w是女性。where的时候为什么引擎会不走索引。

38.这个代价是怎么计算出来的,计算的代价具体具体是怎么指标

39.除了代价规则还有什么吗

40.那还有个场景,在A上加索引了,A是int,你where条件是 A*A<10,它为什么就不走索引了,说说为什么

41.那还有个场景,在ABC加索引了,都是int,where条件是A*A+B*B<C*C,它走不走索引,为什么优化器就认为不应该走索引了呢?

算法:

斐波那契

#腾讯##阿里巴巴##字节跳动##快手##java#
全部评论
何必呢?咱都不说工作中用不用到这样老生常谈的问题了,就这些问题,考三到五年的社招估计也要挂一大片。
7
送花
回复
分享
发布于 04-28 01:13 上海
m了,有空我用chatgpt深入地研究研究😋
5
送花
回复
分享
发布于 04-26 23:05 北京
滴滴
校招火热招聘中
官网直投
大佬太强了 过了吗
2
送花
回复
分享
发布于 04-29 11:42 广东
xd 我昨天面的这个部门,八股和算法和你的几乎一模一样,只不过我还多问了一些项目的问题
1
送花
回复
分享
发布于 04-26 21:51 湖南
看着都好有压力
1
送花
回复
分享
发布于 04-27 18:50 辽宁
什么**问题啊这是
1
送花
回复
分享
发布于 04-28 21:44 四川
哪个部门呀
点赞
送花
回复
分享
发布于 04-26 20:50 陕西
佬你简历写啥了 问的好细啊
点赞
送花
回复
分享
发布于 04-27 12:58 天津
我也昨天面了这个,问了一个半小时八股,状态还没更新
点赞
送花
回复
分享
发布于 04-27 22:26 四川
26届?
点赞
送花
回复
分享
发布于 04-28 12:39 广东
牛啊
点赞
送花
回复
分享
发布于 04-28 14:22 香港
汗流浃背了
点赞
送花
回复
分享
发布于 04-29 13:59 俄罗斯
4. 略 5. 一般在堆中,但如果对象只在局部方法里面,没有外部引用,会直接在栈中创建(逃逸分析) 6.略 7.一个在堆中,一个在虚拟机栈? 8.Integer 是对象所以有monitor管程对象能够加锁? 9. 值传递,对象传递的是地址或者说是指针 10.同9 11. a是1,调用方法的时候基本类型是值传递相当于拷贝了一份给局部变量b。不影响a 12. int a=1,栈局部变量表新增a ,调用function时,新增一个栈帧压栈,新的栈帧里有局部变量b 13. 有1,2 14. 创建了两个Integer对象1,2,同时 堆中的list对象添加了这两个Integer的引用地址 15. a不变,b相当于指向了新的对象 16. 浅拷贝,创建了新的对象,对象里的字段还有原来的,深拷贝,字段也是新创建的对象 17. 浅拷贝Collections.copy(a,b),深拷贝需要拷贝的泛型对象实现自己的clone接口 18. 同17 19 .略 20.略 21.优点:灵活,能够动态获取到某个对象,可以修改权限执行对象的私有方法 大概这些。 缺点:执行效率低 22. 1.没有jit优化,2.有安全性检测 23. 直接new的时候,在字节码加载到虚拟机的时候,比如 new Integer() ,虽然还未执行,但需要创建的对象是已经确定的,会被直接解析到对应类的地址,而且执行次数多也会被jit编译成机器码;但是反射例如 Class.forName("java.lang.Integer"),只有执行到这行才能获取到具体需要创建的对象,然后去方法区找到对应的Class对象,而且还涉及到安全检测
点赞
送花
回复
分享
发布于 05-02 17:19 广东
这个面试官**,“别说大家都知道的东西”,一定说要大家都不知道,就他知道的东西才满意? **
点赞
送花
回复
分享
发布于 05-02 17:45 安徽
大佬 一面不会问项目相关吗?
点赞
送花
回复
分享
发布于 05-07 00:39 陕西

相关推荐

16 127 评论
分享
牛客网
牛客企业服务