四面快手归来,分享Java真题及面经:策略模式+红黑树+Java锁+Redis+Kafka等分布式

看真题,了解差距,明确学习方向与目标。

看面经,提前准备,事半功倍。

_

一面(一个小时十分钟)

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创建索引的原则,好处

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

二面(四十多分钟)

  1. 设计模式:讲了单例,工厂方法,抽象工厂,策略模式,观察者模式,代理模式,还顺便讲了下spring动态代理的实现原理
  2. 线程池有哪些参数?分别有什么用?如果任务数超过的核心线程数,会发生什么?阻塞队列大小是多少?
  3. HashMap的底层数据结构
  4. 红黑树的具体结构及实现,红黑树与查找树的区别体现
  5. 接着聊ConcurrentHashMap,底层实现
  6. HashMap哈希函数的认识,JDK1.8采用的hash函数
  7. 数据库索引,索引底层的实现,B+树的结构以及与普通查找树的优点
  8. TCP三次握手四次挥手,四次挥手过程中服务端的哪几种状态,哪几种包
  9. 已经有一个查询好友的接口,设计一个微信朋友圈,可以实现发表朋友圈,添加评论,查看评论等功能。主要是设计数据结构

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

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

HR面:

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

以上就是快手技术三面和HR面试题目,除此之外,以下阿里面试题目(送答案):
1、阿里集团中间件4面:J.U.C并发框架+RocketMQ +MyCat+锁机制+架构
2、阿里内推技术3面
更多BAT技术架构+面试真经等干货,关注【mikechen优知】,回复【阿里】,立即拿走。


**通过了解大厂的技术面试题目与面试经验,查漏补缺,平时在工作中多学习、多实践,有目标去扩充自己的技术栈,深度掌握1-2门技术基础上去延伸广度,距离目标就不会太远了。
关于快手面试题目,大家有什么想要探讨的内容,欢迎留言~**

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/682816

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。