叫是叫事务型开发,最后反问解释了部门习惯这样叫,就是后台开发
部门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#