快手java暑期实习二面面经

自我介绍

1.为什么想来互联网
2.遇到最大的困难
3.最大的优点和缺点

八股:
1.项目用到的多线程?
从微服务角度介绍业务,再使用线程池,实际开发的过程中,难免需要调用多个接口来汇总数据,如果所有接口(或部分接口)的没有依赖关系,就可以使用线程池+future来提升性能。

2.SQL题:存在a表不在b表的数据
①使用 not in
select distinct A.ID from A where A.ID not in (select ID from B)
②使用 left join...on... , "B.ID isnull" 表示左连接之后在B.ID 字段为 null的记录
select A.ID from A left join B on A.ID=B.ID where B.ID is null
③select * from B where (select count(1) as num from A where A.ID = B.ID) = 0

3.手写单例模式:饿汉、懒汉、DCL( Double-checked locking)
DCL注意点:
1.volatile禁止指令重排
因为instance = new DCL() 其实有三步,即
①为instance 分配内存空间
②初始化 instance
③将 instance指向分配的内存地址
如果多线程条件下,可能会变为①→③→②,会导致一个线程获得但没有初始化的问题
2.两次if(instance==null)判断
防止创建多个对象

反问:
1.入职后学习的技术栈
大概介绍了一些微服务架构思想,对于实习生来说基础更重要
2.对年轻人的建议
工作最开始三年,尽量注重技术提升,之后可能会有家庭、婚姻、孩子的干扰,在还有精力的时候尽量充电
3.怎么看待35岁危机
在年轻的时候尽量提升自己的价值,选择互联网一方面是高薪,另一方面要承担相应的风险和弊端
4.怎么看待最近的裁员风波和“润学”
裁员主要与公司的组织架构有关,最近经济不景气,把一些高薪人员裁去,再吸纳应届生新鲜血液;再说“润学”,其实互联网早就饱和,劳动市场遵循供需比,国外之所以竞争相对不激烈,是因为人少,既然生在中国,选择了这个行业,就要有危机意识

总结二面八股很少,更注重软实力和代码能力
快手面试官真的很好,缓解了我的焦虑迷茫
全部评论
多线程的使用对性能有什么影响?
1 回复 分享
发布于 2023-06-16 09:45 四川
大佬现在进度到哪里了
1 回复 分享
发布于 2023-06-19 16:14 北京
单例模式有哪些常见的实现方式?
点赞 回复 分享
发布于 2023-06-16 09:45 吉林
不需要java web和框架吗?
点赞 回复 分享
发布于 2023-06-20 13:58 新疆
m
点赞 回复 分享
发布于 03-08 14:16 贵州

相关推荐

评论
25
106
分享
牛客网
牛客企业服务