文档章节

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

mikechen优知
 mikechen优知
发布于 2018/12/27 09:09
字数 983
阅读 21
收藏 0

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

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

一面(一个小时十分钟)

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. 怎么实现一个线程安全的计数器?

二面(四十多分钟)

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

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

3. HashMap的底层数据结构

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

5. 接着聊ConcurrentHashMap,底层实现

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

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

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

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

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

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

HR面:

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


以上就是快手技术三面和HR面试题目,除此之外,更多BAT面试题目,譬如:《阿里集团中间件4面:J.U.C并发框架+RocketMQ +MyCat+锁机制+架构》、以及《 阿里内推技术3面》  感兴趣的童鞋推荐了解下。


通过了解大厂的技术面试题目与面试经验,查漏补缺,平时在工作中多学习、多实践,有目标去扩充自己的技术栈,深度掌握1-2门技术基础上去延伸广度,距离目标就不会太远了。

觉得不错请点赞支持,欢迎留言或进我的个人群179961551领取【架构资料专题目合集90期】、【BATJTMD大厂JAVA面试真题1000+】,本群专用于学习交流技术、分享面试机会,拒绝广告,我也会在群内不定期答题、探讨。​​​​​​​

© 著作权归作者所有

共有 人打赏支持
mikechen优知
粉丝 83
博文 32
码字总数 52957
作品 0
徐汇
架构师
私信 提问
美团猫眼团队面试题:Maven+OSGi+Spring+Zookeeper+Dubb

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/t4i2b10X4c22nF6A/article/details/84327220 交叉一面 concurrent包下面用过哪些? countdownlatch功能实现 ...

JAVA高级架构v
2018/11/21
0
0
【荐】一篇令人心情愉悦的面试总结

前言 15年毕业到现在也近三年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去...

茶轴的青春
2018/08/02
0
0
拼多多Java后端团队面试题:epoll+集群+事务隔离+Kafka+分布式等

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/t4i2b10X4c22nF6A/article/details/86133163 一面 自我介绍 介绍一下mysql索引?为什么用B+树? 网络IO模型?...

JAVA高级架构v
01/09
0
0
一个两年Java工程师的面试总结

前言 16年毕业到现在也近两年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中...最终有幸去...

Java高级架构
2018/07/25
0
0
BAT等大厂Android面试书单和知识点清单

java是Android开发的基础,在BAT的初面中,会涉及到比较多的java基础知识,所以比较重要,下面我介绍的书籍内容是由浅到深。 1.Thinking in java:这本书被称为Java的三大圣经之一,虽然书比...

android自学
2018/07/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot mockmvc单元测试

1)模拟mvc测试,和基础测试是一样的, 都需要在pom文件中引入junit的支持。   略 2)编写测试类 Application1TestMVC   在类头上除啦加入之前的@RunWith(SpringRunner.class)、@RunWit...

水木星辰
16分钟前
2
0
Spring中用了哪些设计模式?

设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内...

HOT_POT
21分钟前
0
0
那些70后的程序员都消失了吗?

在娱乐圈,哦不,是在程序员这个吃青春饭的行业,有一个人人闻之色变的话题,曰:「年老色衰」。只要是个程序员,心里都会惴惴不安的想:「我老了以后卖不动色相,哦不,写不动代码了,我还能...

老道士
23分钟前
2
0
Spark和MapReduce的区别

首先大数据涉及两个方面:分布式存储系统(GFS)和分布式计算框架(MapReduce)。 1.MapReduce包含5 个步骤:Map、Sort、Combine、Shuffle 以及Reduce。这5 个步骤中最重要的就是Map 和Reduc...

仟昭
55分钟前
3
0
eclipse配置集成gradle

Gradle是一个好用的构建工具 使用它的原因是 1、配置相关依赖代码量少,不会像maven一样xml过多 2、打包编译测试发布都有,而且使用起来方便 3、利用自定义的任务可以完成自己想要的功能 (一...

五年级小学生
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部