快手社招Java一面-主站
八股文那块没回答好,现在比2个月前面试难了,之前一面随便过,现在一面都过不了了。
时间:2024.12.5
- 面试平台是快手的,会检测是否停留在当前页面
- 聊项目,可共享屏幕说
- 项目发散提问:AOI数据更新的场景和频率是怎么样的(天级更新+实时更新)
- 现在是三种降级方案并存的,数据一致性是怎么保障的
- 你们这个项目使用到的业务场景说下,以饿了么下单的用户场景说下,是怎么用的(还是业务场景)
- 介绍下点判定在AOI内的底层逻辑是什么样的,底层原理
- 项目里的点判定查询过程,耗时是多少,
- 内存数据有考虑增量更新吗,是什么原因不能热更新内存数据的?
- 实时更新这块是怎么做的,内部热修工具,修完这条是把数据整个覆盖掉还是增量的更新?Redis里面增量更新RTree是怎么做的
- 第二阶段:基础八股文
- 多线程并发,线程池的工作原理,使用线程池有什么坑需要避开的?为什么最大线程数设置为核心线程数的2倍?
- Java里的协程有了解吗?
- 有用到异步编程?
- FutureTask是怎么用的?
- 数据都是存在DB里的,介绍一下线上SQL优化的经验???了解过MySQL在执行语句的时候是怎么选索引的,怎么选个最合适的索引?或者你怎么让MySQL使用你指定的索引,怎么强制走索引的
- Java1.8有用过哪些新特性,nabuda表达式底层是怎么实现的有了解吗?还有其他特性吗? 1.7里HashMap链表有环的问题展开说说
- 垃圾收集器说说,为什么你的项目里用的是CMS收集器,说下G1和CMS收集器的区别,有尝试过JVM的调优吗
- 线上遇到问题,有用过阿里开源的Arthas吗
- 用Redis,用过哪些数据结构,有了解过Redis持久化机制吗,RDB和AOF,什么情况下用RDB,AOF?
- 第三阶段:算法题
- 字符串相乘,Leetcode43
- 反问:业务,团队规模60多人,项目开发流程?