• 欢迎访问 优知学院 请加入我们的架构交流分享群优知学院-架构师进阶
  • 坚持原创分享BAT面试+架构+CTO进阶干货!

快手高级Java四面题目:设计模式+红黑树+Java锁+Redis等

java面试题 优知学院陈睿 10个月前 (12-27) 1783次浏览 0个评论 扫描二维码

快手Java一面(一个小时十分钟)

1.自我介绍

2.说说B+树和B树的区别,优缺点等?

3聊聊Spring,主要IOC等等

4多线程JUC包下的一些常见的类,比如CountDownLatch、Semaphore等

5.锁的概念,锁相关的关键字,volatile,synchronized。还比较了ReentrantLock与synchronized。

6.你了解哪些收集器?CMS和G1。详细谈谈G1的优点?什么时候进行Full GC呢?

7.Spring中涉及的一些设计模式

8.算法题:无序数列中求第k大的数(维护最小堆,然后依次遍历,与堆顶比较)

9.MySQL创建索引的原则,好处

10. 怎么实现一个线程安全的计数器?

快速java二面(四十多分钟)

1. 设计模式:讲了单例,工厂方法,抽象工厂,策略模式,观察者模式,代理模式,还顺便讲了下spring动态代理的实现原理

2. 线程池有哪些参数?分别有什么用?如果任务数超过的核心线程数,会发生什么?阻塞队列大小是多少?

3. HashMap的底层数据结构

4. 红黑树的具体结构及实现,红黑树与查找树的区别体现

5. 接着聊ConcurrentHashMap,底层实现

6. HashMap哈希函数的认识,JDK1.8采用的hash函数

7. 数据库索引,索引底层的实现,B+树的结构以及与普通查找树的优点

9. TCP三次握手四次挥手,四次挥手过程中服务端的哪几种状态,哪几种包

10. 已经有一个查询好友的接口,设计一个微信朋友圈,可以实现发表朋友圈,添加评论,查看评论等功能。主要是设计数据结构

快手Java三面(50分钟:主要分布式这块)

  1. 你对快手的了解,和抖音的区别,聊项目
  2. 项目中用到dubbo?那你说说什么是rpc框架?和http调用的区别是什么?
  3. Redis有哪些数据结构?持久化方案和区别?
  4. Redis哨兵、集群的设计原理和区别?
  5. Redis缓存和数据库会存在一致性问题吗?怎么解决
  6. Kafka怎么保证数据可靠性?讲了生产者端发送消息到broker持久化,分区和副本机制,消费者消费消息的at-least-once和at-most-once?怎么实现Exactly-Once?

快手JavaHR面:

常规的面试流程了,主要就是自己优缺点,以及未来的职业发展,以及薪资这块。


本文标题:快手高级Java四面题目:设计模式+红黑树+Java锁+Redis等
转载请保留页面地址:https://youzhixueyuan.com/kuaishou-java-interview-questions.html
喜欢 (2)
优知学院陈睿
关于作者:
优知学院创始人,13年互联网从业经验,BAT架构师技术500期作者,曾就职于阿里、百度、携程,擅长架构设计、团队管理、产品运营。
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址