面试复盘|陌陌-商业化变现

一面-8.19-55min

自我介绍

1.HashMap,HashMap怎么减少冲突的?

2.ArrayList底层结构是啥?为啥可以扩容平?

3.锁都有哪些?synchronized是可重入的吗?Lock的底层实现是什么?CHL?谁去控制阻塞谁去唤醒阻塞。

4.线程池中的阻塞队列是干什么的?线程池中有锁吗?

5.MySQL中一个语句的执行过程,什么时候会变为表锁。

6.创建联合索引的依据。

7.为什么最左匹配?

8.怎么看他走没走索引?

9.Redis是CP还是AP?

10.Docker和主机的区别,怎么把java部署进docker

撕题:链表求和,如:链表1-3-4-5和链表5-5,输出链表1-4-0-0

商业变现,广告,打赏等。

Java,Spring。

2-3面技术面。

二面-8.25-40min

1.自我介绍

2.问实习。

3.问决策树的生成。Node.js为什么是IO密集型(都是项目相关)

4.讲一下JVM。

5.那栈空间都存啥?

局部变量表存放了编译期可知的各种Java虚拟机基本数据类型(booleanbytecharshortintfloatlongdouble) 、 对象引用(reference类型, 它并不等同于对象本身, 可能是一个指向对象起始地址的引用指针, 也可能是指向一个代表对象的句柄或者其他与此对象相关的位置) 和returnAddress类型(指向了一条字节码指令的地址) 。
这些数据类型在局部变量表中的存储空间以局部变量槽(Slot) 来表示, 其中64位长度的long
double类型的数据会占用两个变量槽, 其余的数据类型只占用一个。 局部变量表所需的内存空间在编译期间完成分配, 当进入一个方法时, 这个方法需要在栈帧中分配多大的局部变量空间是完全确定的, 在方法运行期间不会改变局部变量表的大小。 请读者注意, 这里说的大小是指变量槽的数量,虚拟机真正使用多大的内存空间(譬如按照1个变量槽占用32个比特、 64个比特, 或者更多) 来实现一个变量槽, 这是完全由具体的虚拟机实现自行决定的事情。

6.int[][] a=new int[10][1000]和int[][] b=new int[1000][10]哪个占用空间大?指针存在哪里?

7.select * from user where age <10 for update;会发生什么?如果age<10没有值会发生什么?

8.什么是同步IO、异步IO、同步非阻塞IO?Tomcat用的哪种?

反问:

商业化方向具体有三种:

1)广告。2)打赏礼物。3)音视频。

HR面-8.27-10min

9月份出结果。北京望京。

#面试复盘##陌陌##面经#
全部评论
有消息了老哥
点赞 回复
分享
发布于 2021-09-03 17:36

相关推荐

点赞 8 评论
分享
牛客网
牛客企业服务