快手Java秋招一面
一开始投杭州的岗,直接给我简历挂了,不知道是因为暑期实习脏了面评还是杭州岗位太少。刷牛客才知道快手无限复活甲,连忙又投了北京的岗位,过两天就约了一面 一面的面试官是一位很年轻的姐姐,非常友好温和,如沐春风
面试流程
1. 自我介绍
快手这一点做得真的很好(9.6更新:并非如此,二面面试官刷新了我的看法),每次面试都是面试官先介绍部门业务之后,再让面试者自我介绍,真的很能缓解面试者的紧张情绪,对快手好感+1+1
2. 正式提问
- 我看你实习是7月份才开始,这段时间有碰到过哪些困难吗?(说了业务学习和ES快速上手,面试官没有追问)
- ThreadLocal是怎么实现的?用了哪种数据结构?这个结构的线程安全版本是哪个?它是如何兼顾线程安全与性能的?
- Redis缓存击穿-穿透-雪崩三件套(解决方案里忘了布隆过滤器和读库上锁,被面试官补充了)
- Redis Zset底层数据结构,跳表的结构
- 手写SQL,非常简单,只要学过SQL就能写
- 如果要对上述SQL建立索引,会怎么选
- 什么叫联合索引的最左前缀匹配,如果查询条件是A = x and C = z and B = y;能匹配到(A,B,C)联合索引吗,为什么可以?(答MySQL有索引优化)
- 简单Select语句的查询,MySQL内部经历了哪些过程
- 说说MySQL的隔离级别,说说什么是幻读
- 手写单例模式,限制不能用枚举(于是写了静态内部类),然后有要求5个单例随机返回实例(改成单例数组,通过随机数返回)
- 手撕算法1:删除单向链表的倒数第n个节点,快慢指针秒了
- 手撕算法2:前一道做得太快,又给找了道难一点的,Leetcode139.单词拆分,只说出来递归暴力解法,后来在面试官的引导下想出了动态规划解法(明明是做过的题,一手撕就不会了)
3. 反问
总共有3轮技术面+1轮HR面 两到三天会给结果
—————————————————————————————————
8.22更新:11点面试,12点半收到了二面通知,流程还是很快的 二面链接(二面体验较差,所以写的不多):https://www.nowcoder.com/feed/main/detail/723a19ef563a4ac099b4e8f72244fd04?sourceSSR=users —————————————————————————————————
9.6更新:二面完流程一直没推进,给HR发邮件也不回,前天直接打电话过去,查询完说二面没过,帮我把流程终止了(看不懂这操作)
#秋招面试##快手#