一面-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虚拟机基本数据类型(boolean、 byte、 char、 short、 int、float、 long、 double) 、 对象引用(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月份出结果。北京望京。
全部评论
(1) 回帖