快手 Java面经 (已意向)
快手 Java面经 (已经意向)
双非渣本,22应届,听说快手还是挺难通过的公司,很开心可以通过快手面试,收到意向之后补面经!
整体面试一共 3+1 , 3轮技术面+1轮hr面 ,最后有流程时间, 面经送上
快手一面-9.23-60分钟
我的一面,整体上都是设计思路,为什么这样设计、底层原理、你的项目使用场景。
开始先是手撕算法两道
- 自我介绍
- 两道手撕
- 将字符串转化为整数 (这里当时出现溢出值问题,进行了思考解决,写了两种方式)
- synchronize , 可以使用的几种形式,代码写出
操作系统 和 数据结构
- hash解决冲突 ( 开放定址法、链地址法、再哈希法、建立公共溢出区 )
- 上述四种方式详细的过程、思路
- 链地址法和再哈希法之间的关联和区别
- 两者分别适用场景
- 两者底层的数据结构,关联和区别
- 链表和数组的底层结构设计、关联、区别、应用场景
常用算法
- 常用的排序算法 ( 冒泡、堆、快速、桶、选择、插入 )
- 堆排序和选择排序使用场景上有什么区别
- 选择排序和堆排序对于资源的利用 ( 选择排序适合数据量少的情况、堆排序适合数据量多的情况,资源利用率、设计思路 )
- 常用的查找结构都有什么? ( 二分查找法、插值法、hash查找、分块查找、树表查找 )
数据结构
- b树和b+树和红黑树的设计思路、结构区别、使用区别
- 队列和栈有什么区别
- 他们的使用场景 ( 栈:数据匹配、数据反转;队列:任务队列、共享打印机 )
Jvm
- jvm内存模型
- jvm垃圾回收算法
- jvm垃圾回收器
- cms、g1的设计思路、关联和区别、垃圾回收阶段的不同
- 让你设计系统中进行选择其中一个回收器,你的想法是什么
使用框架、底层原理
- 在你的开发中最常使用的框架
- SpringBoot常用注解
- RestController和Controller有什么区别
- 你在完成项目的过程中是怎么处理异常的 (全局异常梳理)
- 全局拦截器的设计、项目中实现 (注解、类)
- Aop的了解、怎么使用
- Aop底层实现( JDK、CGLib、动态代理实现、这里附上我的总结 : https://blog.csdn.net/qq_43740362/article/details/120242026?spm=1001.2014.3001.5501 )
- asm是什么 (字节码增强器)
MySql
- Mysql事务隔离级别
- 什么情况下使用读已提交
- 对于脏读的理解
redis
- 对于redis的理解
- redis在项目中进行怎么样的使用
- redis 为什么读取速度那么块 (io、单线程、内存)
- 为什么redis单线程会快 (完全基于内存、单线程避免不必要的上下文切换、cpu消耗、加锁问题。。。)
- 对于很多文件和数据,怎么进行数据的查找、排序,使用什么样的数据结构 (类似于TopK、这个主要是让你进行优化、类似于位图、hash、过滤器之类的)
- 反问:
- 对于部门的业务、技术栈
- 对我的建议、和整个面试的感觉
快手一面结束的第二天,约的二面,效率很快
快手二面-9.28-45分钟
二面主要是把一面问的一些小问题挖深,并且把广度扩展了 ( 场景、计网、os、框架、锁、线程.... ),基本上都问上了一些
Java基础
- 自我介绍
- 抽象类和接口有什么区别
- 在使用过程中,接口和抽象类的选择以及使用场景
计网、Linux
http 和j https 的区别
https 过程中都使用哪些加密的算法 ( 对称加密、非对称加密 )
都怎么使用的,这些j加密算法的理解
Linux都是用过哪些常用命令 (cat、less、tail、grep、wc....)
查看系统内存 ( top )
查看系统内存,返回多个指标,怎么查看内存的占用率
怎么将系统内存显示的数据进行排序
Java基础加深、线程、锁、数据机构等等
- java里面的类加载器的设计
- 类加载器的类之间的可见性 (委托机制、单一性、可见性)
- 如果父级对子级进行调用,会出现什么异常
- 线程都有哪些状态
- blocking和waiting有什么区别吗
- 如果是sleep(1000) 会让线程进入什么状态
- synchronize的使用流程
- java中的原子类实现原理
- 对CAS的了解
- 对CAS底层了解
- HashMap的底层实现原理
- HashMap的put流程
- ConcurrentHashMap的实现原理
框架Spring,代理
- Spring的Aop的底层实现
- 动态代理的了解 ( 见上面文章 )
- 静态代理和动态代理的区别
- 对动态代理性能的了解
- 浅拷贝和深拷贝的区别
- 手撕 : topK问题 ( 堆、优先队列、快排、冒泡 )
- 大顶堆小顶堆的设计思路
收尾的小问题
- 在实习中最有成就感的项目
- 对抖音和快手的看法
- 反问
- 业务的具体方向
- 对我的整体感觉和建议
二面结束之后紧挨着国庆放假,放假结束后,就约了三面。
快手三面-10.12-13分钟
- 自我介绍
- 介绍一个你最得意的项目
- 介绍一下你的实习经历
- 实习项目中介绍一个你印象最深的需求
- 这个需求的设计、使用的框架详细介绍
- 这个项目的上线效果怎么样的
- 上线需要的什么问题
- 你在实习公司的转正情况
- 还有其他的offer吗
- 你对快手怎么看的
- 面试官主动介绍部门
- 反问
- 部门的业务、地点 ( 因为之前面试的组hc没了,转到隔壁组,重新问的业务方面 )
- 对我整体面试看法 ( 说的是看我之前面试,聊的挺详细的,面评也不错,等hr )
三面结束第二天直接约的hr面,快快快!
快手hr面-10.14-13分钟
- 面试官先自我介绍了
- 最近2-3年,挑一个最有代表性的一件事
- 你为什么觉得这件事最有代表性呢
- 在你的整体实习的话,给自己打分你会打几分 、10分制 ( 我打的8分 )
- 你都做了那些事情,让你打的8分
- 那你觉得从那些手段方法提升剩下的2分呢
- 你完成实习之后,有哪些收获呢
- 考虑提前实习吗
- 毕业之后的未来规划
- 之后的定居城市怎么想的
- 还有什么进行的面试流程吗
- 你心中对这些公司的排序 ( 地点、技术、前景 )
- 反问
- 什么时候出结果
- 对我的整体感觉
面试结束,hr说可以添加他的vx,平时问一些问题都会解答,很nice!
快手意向
9.23 一面 ,第二天约下一面
9.28 二面 ,挨着国庆,国庆假期结束约下一面
10.12 三面 , 第二天约下一面
10.14 hr面
10.20、 18:47 意向!!! hr之后一星期不到!!
快手效率真的快,约面试给意向效率都很nice!!!
感兴趣的话
可以来我的CSDN : https://blog.csdn.net/qq_43740362?spm=1000.2115.3001.5343
或者个人博客鸭 : https://www.moyuzc.cn/