快手凉经 快手一面(1h):1.自我介绍2.JVM的构造3.垃圾回收器种类4.垃圾回收算法5.线程池执行流程以及饱和策略6.核心线程和普通线程的区别,如何区分7.事务的隔离级别8.mysql什么情况下索引失效9.三种索引结构对比10.mysql索引流程11.Redis数据结构12.缓存穿透、缓存击穿、缓存雪崩以及各自的解决方法13.Redis为什么高性能14.TCP和UDP区别,以及不同使用场景15.TCP如何保证可靠传输16.如何实现一个IOC容器17.实习项目:lucene工具包如何实现倒排索引,查询流程。18.手撕算法(中等):输出二叉树每一层最右节点。快手二面(52min):1.自我介绍2.项目介绍,从入职到现在3.为什么要做这些工作,有什么意义4.Redis数据结构5.zset底层实现,跳表插入数据的流程6.ConcurrentHaspMap原理和扩容7.ArrayList原理和扩容,刚开始加入20个元素超过扩容15会如何处理呢?看过源码吗?8.项目中为什么使用分布式锁,除了用的lua脚本外分布式锁java如何实现的9.手撕算法(中等):两个链表按照两数相加的原则生成另一个链表,主要是边界值分析。快手三面(50min):1.自我介绍2.springboot的过滤、拦截和tomcat的过滤、拦截3.Redis数据结构,String底层的考虑4.分布式锁如何保证数据一致性5.bean的作用域,为什么默认单例(线程考虑)6.Redis持久化机制以及如何保证分布式场景下追加AOF文件的一致性7.主从复制以及binlog日志主从如何保持一致性8.Synchronized升级过程9.Synchronized如何实现的,底层原理第三面无手撕算法,确实答得不够好,有点遗憾吧,倒在三面!继续加油!
点赞 1
评论 12
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务