每年春节后两个月都是招聘高峰期,很多想换工作的职场人士都会选择在此时换一份工作,毕竟一年之计在于春,对于公司和个人而言都是一个新的开始。
大家在春节长假身心得到放松后,准备摩拳擦掌的找工作了,不过大部分人还没有立刻进入状态,都是元宵节后才正式开始找工作。
![](https://upload-images.jianshu.io/upload_images/11633898-65ed9439f27b674d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
**小编准备了一套快手高级JAVA面试题,大部分题目不设标准答案,重点考察面试者的基础知识和思维逻辑,答案的提示可以加小编QQ群937053620,获取!**
**快手Java一面(一个小时十分钟)**
* 自我介绍
* 说说B+树和B树的区别,优缺点等?
* 聊聊Spring,主要IOC等等
* 多线程JUC包下的一些常见的类,比如CountDownLatch、Semaphore等
* 锁的概念,锁相关的关键字,volatile,synchronized。还比较了ReentrantLock与synchronized。
* 你了解哪些收集器?CMS和G1。详细谈谈G1的优点?什么时候进行Full GC呢?
* Spring中涉及的一些设计模式
* 算法题:无序数列中求第k大的数(维护最小堆,然后依次遍历,与堆顶比较)
* MySQL创建索引的原则,好处
* 怎么实现一个线程安全的计数器?
**快速java二面(四十多分钟)**
* 设计模式:讲了单例,工厂方法,抽象工厂,策略模式,观察者模式,代理模式,还顺便讲了下spring动态代理的实现原理
* 线程池有哪些参数?分别有什么用?如果任务数超过的核心线程数,会发生什么?阻塞队列大小是多少?
* HashMap的底层数据结构
* 红黑树的具体结构及实现,红黑树与查找树的区别体现
* 接着聊ConcurrentHashMap,底层实现
* HashMap哈希函数的认识,JDK1.8采用的hash函数
* 数据库索引,索引底层的实现,B+树的结构以及与普通查找树的优点
* TCP三次握手四次挥手,四次挥手过程中服务端的哪几种状态,哪几种包
* 已经有一个查询好友的接口,设计一个微信朋友圈,可以实现发表朋友圈,添加评论,查看评论等功能。主要是设计数据结构
**快手Java三面(50分钟:主要分布式这块)**
* 你对快手的了解,和抖音的区别,聊项目
* 项目中用到dubbo?那你说说什么是rpc框架?和http调用的区别是什么?
* Redis有哪些数据结构?持久化方案和区别?
* Redis哨兵、集群的设计原理和区别?
* Redis缓存和数据库会存在一致性问题吗?怎么解决
* Kafka怎么保证数据可靠性?讲了生产者端发送消息到broker持久化,分区和副本机制,消费者消费消息的at-least-once和at-most-once?怎么实现Exactly-Once?
**快手JavaHR面:**
常规的面试流程了,主要就是自己优缺点,以及未来的职业发展,以及薪资这块。
**总结**
以上就是这篇文章的全部内容了,希望本文的内容对各位Java开发者们在面试的时候能有所帮助,如果有问题大家可以留言交流。
**【文章福利】**
现在是跳槽招聘季,为了解决小伙伴们的燃眉之急
小编也准备了一些中高级JAVA程序员面试题,以及简历模板
**需要的小伙伴可以加小编QQ群937053620,获取!(内附答案详解)**
![](https://upload-images.jianshu.io/upload_images/11633898-3d1befc3c9ba5aa3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
有疑问加站长微信联系(非本文作者)