快手java春招二面面经

快手二面:
1. jdk1.8之后jvm的内存模型?1.8之后还有方法区吗?讲讲永久代、元空间是怎么回事?
2. 讲一下垃圾回收器?比较一下cms和g1以及各自的适用场景
3. 什么是oom?内存满了,怎么排查是代码哪里有问题?(我说pstack,他说不是栈满了,我说不会,没用过,面试官说没事可能有点偏有点偏业务应用)
4. 线程池有没有用过?核心线程和非核心线程区别是什么?核心线程数设置的考量因素有哪些?没有任务的时候核心线程和非核心线程是继续存在还是销毁?jdk有没有提供销毁核心线程节约资源的方法?我如果想要动态核心线程数而不需要重启服务怎么实现?(想了很久不知道。。)
5. 来个计网八股意思一下,讲一下tcp和udp的区别?慢启动是什么?
6. mysql的索引数据结构是什么?聚簇索引和非聚簇索引的区别?数据库有哪些锁?select * from user where userid=5 for update是什么锁?假如usreid是索引但是没有这个数据,锁的是什么?没有索引也没有5这个数据,锁的是什么?
7. 项目分布式锁为什么用redis不用别的?(一下不记得区别了,我说因为和java有redission集成,功能丰富并且使用方便。。)讲一下redis的集群结构?你们用的是什么?我说一主多从,他说流量大的时候扛不住,没有用分片吗?我说我知道分片slot,那个确实可以,不过我们数据量不大就没用。。跨服务的时候怎么保证多个数据库的数据一致性?然后还有针对项目业务场景的一些分布式问题。
8. 手撕:合并K个有序链表。我说顺序合并,面试官问时间复杂度是多少?能不能优化?优化后是多少?
9. 反问环节聊了15分钟,说快手80%流量都是他们组的,快手上下滑刷到的视频以及点赞评论收藏那些功能都是他们组,来这里之后做好卷的准备。我问对我有什么评价或者建议吗,面试官说虽然有些应用层次的深度还不够,不过其实还不错,应该问题不大,后续还有个老板的技术面,加油
攒人品,求个三面
4.8还愿:约三面了
#春招#
全部评论
佬 约三面了吗
1 回复 分享
发布于 2024-04-07 13:32 广东
动态核心线程数其实是Threadpoolexecutor有setCore等方法
1 回复 分享
发布于 2024-04-02 11:41 广东
礼貌问佬bg,我直接简历挂😭
1 回复 分享
发布于 2024-04-01 21:34 江苏
全套八股,大厂中属于 easy
点赞 回复 分享
发布于 2024-05-20 00:30 辽宁
佬,是快手电商后端吗
点赞 回复 分享
发布于 2024-04-05 16:13 北京
请问第六题最后两问怎么回答
点赞 回复 分享
发布于 2024-04-04 00:09 江苏
佬后续约三面了吗
点赞 回复 分享
发布于 2024-04-03 16:18 江苏
佬,有一面面经吗
点赞 回复 分享
发布于 2024-04-02 15:37 福建
这比实习难度大好多😅
点赞 回复 分享
发布于 2024-04-02 14:37 江苏
佬,你啥时候一面的
点赞 回复 分享
发布于 2024-04-02 12:28 广东
3.一般可以利用profiler或者阿尔萨斯等工具配合使用。
点赞 回复 分享
发布于 2024-04-02 11:42 广东

相关推荐

08-03 15:53
已编辑
唐山学院 Java
一面: 1. 讲一下 Java 内存模型(JMM)是什么。2. Java 对象的创建过程是怎样的?3. 项目4. 项目5. 项目6. 项目7. 如果用 Redis 实现秒杀功能,需要解决哪些问题?怎么实现?(防超卖、限流、分布式锁等)8. 一条 SQL 查询语句的执行过程是什么?9. InnoDB 的索引结构是什么?主键索引和普通索引的叶子节点分别存储什么?10. 联合索引在什么情况下会失效?11. 项目12. 你用 Redis 做点赞功能时,具体是如何实现的?为什么没用到 MQ?(结合项目体量说明)13. 项目复面:1. 你是是哪一届的?2.你下半年还需要回学校吗?(确认是否可实习)3. 你大学有挂过科吗?4. 四六级过了吗?5. 你高考考了多少分?6. 你什么时候开始学 Java 的?是学校教的还是自学的?7. 你是怎么学 Java 的?8. 讲一下 Bean 的生命周期。9. MySQL 有哪几种事务隔离级别?默认是什么?什么是幻读?10. 什么是面向对象?它和面向过程的区别是什么?有什么好处?11. 如何找到的上家实习公司,公司规模12. 在上家实习公司所做的业务13. 上家实习中的业务需求实现14. 项目15. 为什么从上家公司离开?这段经历让你有什么成长?16. 现在需要开发一个会议室预约系统,需实现 “预约冲突检测” 和 “会议前 10 分钟通知”,你会如何设计数据库和代码?17. Git 在什么情况下会出现代码冲突?如何解决?18. 你的老家是哪里?父母是做什么工作的?19. 反问
查看17道真题和解析
点赞 评论 收藏
分享
1.问:面向对象三大特征答:封装,继承,多态2.问:hashmap的put过程【转红黑树的过程看一下8和64这俩特定的数字,数组扩容的情况就看扩容阈值】答1.计算哈希值和索引的位置(通过hashcode方法获取其哈希值,得到其在数组中的位置)2.判断桶位是否为空(计算在数组中的位置之后,判断是否产生了哈希冲突,如果没有产生哈希冲突,直接放入,如果产生了hash冲突)3.处理哈希冲突(链表/红黑树) 【不同的键可能计算出相同的哈希值】(通过比较hashcode和equal函数的结果来判断是完成对一个键的更新操作还是添加一个新的键值对)4.容量检查与扩容(不论是空桶上直接插入还是处理哈希冲突都会使hashmap的元素数量增加1,每次size增加后,hashmap都会检查当前的size是否超过了扩容阈值,默认是0.75,如果超过阈值就会扩容产生一个容量为旧容量2倍的数组)3.问:arraylist和linkedlist的区别答:一个是数组一个是链表一个适合读一个适合写4.问:工厂模式和策略模式答:工厂模式:spring使用beanfactory和applicationcontext创建bean对象策略模式:Spring 通过各种接口(如 Resource及其多种实现,允许在运行时根据不同需求切换具体的算法或行为5.问:说说对数据库中索引的理解答:按「数据结构」分类:B+tree索引、Hash索引、Full-text索引。按「物理存储」分类:聚簇索引(主键索引)、二级索引(辅助索引)。按「字段特性」分类:主键索引、唯一索引、普通索引、前缀索引。按「字段个数」分类:单列索引、联合索引。
查看5道真题和解析
点赞 评论 收藏
分享
评论
28
120
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务