多多暑期实习面经
timeline : 4.24投递 5.18一面 5.22二面 5.28三面 5.29hr面 6.11收到信息确认邮件 6.12hr口头oc 6.13offer
一面(八股+两道手撕)
八股
1.判断对象是否相等时,==与equals的区别
2.new一个对象的执行过程,涉及到哪些内存空间
3.System.out.print("true")这条语句是怎么将true打印到屏幕上的
4.Java中int[][]的第二维可以不一样长吗,为什么
5.那new Integer[n]是否合法
6.两个读取同一数据的线程之间是否存在竞争关系
7.Java中的线程与操作系统中的线程是什么关系,Java中的线程可以超过CPU的线程数吗
8.线程的生命周期
9.Java 中泛型怎么实现的
手撕
1.判断链表是否有圈
2.两个数对<x1,y1>与<x2,y2>,若x1>x2且y1<y2(或x1<x2且y1>y2),则称这两个数对互为逆序对。现在输入多个数对,求逆序对的个数
二面(项目+一道手撕)
项目
八股
只问了缓存穿透、击穿、雪崩
手撕
孤岛数量
三面(项目+八股+一道手撕)
项目可能太简单了,没有深挖
八股
1.JVM垃圾回收算法
2.标记整理算法与复制算法的区别,两个算法都需要清除+整理,复制算法空间利用率只有50%,好像复制算法完全不如标记整理算法,怎么解释?
3.三色标记法
4.CMS垃圾回收器执行过程(很深入,涉及到跨代引用问题)
5.如果是老年代垃圾回收,标记可达对象时,遇到新生代对象怎么办,需不需要继续标记新生代对象的可达对象?
手撕
给出一个kvs数组,数组中第1个是key,第2个是value,第3个是key,第4和5是value,第6个是key,第7、8、9个是value,以此类推。每个key对应的value比前一个key对应的value多一个,且数组中的key是严格递增的,现在给出key的值,查找对应key的下标。(如2 9 4 1 3 5 -1 8 5 6 ......,其中2 4 5 6是key,其他都是value。注意查找的时候最后一个key对应的value可能不全,要考虑边界条件。)
#Java暑期实习##拼多多#