快手 java 社招面经

快手java一面面经
1.要不先做下自我介绍?说一说你最近做的那个项目?然后针对简历提了几个问题。你哪年生的啊?我看你简历上没有。

2.我看你简历里面说做过mysql的优化,说说你都做过哪些优化或者优化的思路?
数据库的索引了解吗?说一下索引的原理?聚集索引和非聚集索引了解吗?了解mysql的回表吗?
mysql实现分布式锁了解吗?还有没有其他更好的方式?

3.说一下事务的一些东西?你对事务的了解有哪些?说说数据库的乐观锁和悲观锁?

4..Redis有哪些持久化方式?你们在项目中一般怎么做持久化?如何实现集群和高可用?

5.Java中有哪些锁?synchronized与Lock有哪些区别?什么是公平锁和非公平锁?他们的底层怎么实现的?
AQS原理了解吗?能不能详细介绍一下?

6..说一下线程池的原理?ExcutorService下的四种线程池分别用在什么场景下?为什么单线程池和固定线程池使用的任务阻塞队列是LinkedBlockingQueue(),而缓存线程池使用的是SynchronousQueue()呢?

7.说一下violate关键字吧?刚才你提到可见性?他是如何保证可见性的?

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

最后写了一个编程题。
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”

例如,输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8
输出: 6
解释: 节点 2 和节点 8 的最近公共祖先是 6。

示例 2:

输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 4
输出: 2
解释: 节点 2 和节点 4 的最近公共祖先是 2, 因为根据定义最近公共祖先节点可以为节点本身。

这个是leetcode原题。

写完面试官问方便来北京现场面试吗?你还有什么想问的?后续有什么消息hr会通知你。

紧接着就约了二面

二面比较注重设计

面试官上来就让设计了一个小型的社交系统。从数据库设计开始,然后设计架构。这个花了很长时间。
然后问了下dubbo的原理,有没有看过dubbo源码?dubbo的容错机制?
然后又是写题了
是股票买卖的一道题
给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。

设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):

你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。

示例:

输入: [1,2,3,0,2]
输出: 3
解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]
最后还是有什么想问的?#快手##社招##Java工程师##面经#
全部评论
楼主工作了几年啊
1
送花
回复
分享
发布于 2019-11-02 10:28
想问一下,后续还有几面呢?
1
送花
回复
分享
发布于 2019-11-02 13:00
滴滴
校招火热招聘中
官网直投
过了吗
1
送花
回复
分享
发布于 2019-11-14 10:09
请问快手卡学历吗
1
送花
回复
分享
发布于 2020-04-24 02:53
方便问一下是快手的那个部门吗?
1
送花
回复
分享
发布于 2021-11-03 20:18
楼主快手面试过了吗
2
送花
回复
分享
发布于 2019-11-05 17:05
感谢分享!欢迎参加过社招的牛友分享面经,领取京东卡~~ -------------------- 活动:社招面经征集|参加过社招的牛友,来发面经吧,拿京东卡
点赞
送花
回复
分享
发布于 2019-11-04 14:13

相关推荐

头像 头像
04-28 14:05
已编辑
Java
如何准备简历?1、简历的基础结构我是谁【基础信息】--我会什么【技术栈】--我做了什么【项目】--个人评价2、基础信息姓名--年龄--学校--java工作年限--手机号--邮箱---希望工作地点--岗位【java开发/java工程师】3、技术栈基础--数据库--Nosql--中间件--框架--运维工具/插件--开发工具/插件4、项目项目背景--项目需求--整体流程--技术栈--主要功能介绍5、个人评价需要体现出有解决问题的思路和能力如何准备Java面试?1、Java面试本身是二人转,简历就是话本,不要让你的面试变成独奏2、八股文是围绕Java核心技能的基础知识,并不是去死记硬背,是因为你会了技术,然后通过八股文进行书面回答3、通过项目引导面试官提问,通过问题的答案体现出自身的沉淀和积累4、面试一定要提前1-2周的时间去准备,不要抱着每次面试都会过的想法5、将每一次面试都当做练手,大胆的去表达和提问6、回答问题一定要有条理性,不要东拉西扯如何准备Java项目?1、技术本身是没有价值的,因为有了业务,技术才有了价值2、项目的功能不可能凭空产生,是因为有背景和需求,才有了功能的设计3、项目中的资源不可能凭空产生,也不可能凭空消失,资源一定是经过完整的业务流程被消耗了,所以项目中的资源需要做到数据闭环4、不要为了加上某些看起来牛逼的技术/方案,就硬塞到项目中,这样看上去项目功能的实现方案只能体现技术的实现过程,而不能体现业务是否需要这个方案,这个方案是否是最优解;而技术的实现方案,只需要找点资料就可以完成5、在面试中,我们需要通过项目让面试官知道我们的积累和沉淀,以及解决问题的思路一个好的Java项目应该是什么样子?有人说应该有很多技术栈也有人说应该有分布式锁,分布式事务,各种中间件穿插还有人在项目中大数据量,分库分表;QPS,TPS整一大堆指标; 然后解决内存溢出问题,各种优化,各种线上问题解决霍,这是做项目,还是写bug呀,一大堆bug发布,然后到线上一个一个改?-------不能说没脑子吧,但确实不多总结:技术本身是没有价值的,是因为有了业务,技术才有了价值; 业务达到的效果并不是体现技术的价值,而是因为业务需要,刚好有技术相对贴合, 根据场景合理使用解决方案#简历中的项目经历要怎么写##java#  关于Java面试,我的学员都准备了那些面试题-牛客网 https://www.nowcoder.com/issue/tutorial?zhuanlanId=mPZY5M&uuid=9940d447465941a39e40eb50bd0c90e6
点赞 评论 收藏
转发
Gaussdb是什么数据库Gaussdb和Doris有什么区别数据湖和数据仓库有什么区别hudi中你们用的哪种表类型hudi怎么实现实时数据更新的HIVE有哪些模块知道HIVE的thrift吗,有什么好处生产中是用哪种方式连接HIVE的,会用jdbc连接吗知道哪些spark的运行模式yarn-client和yarn-cluster的区别是什么,从中选一个运行模式具体介绍下select a,sum(b) where c>0 group by a。spark中是怎么实现的,你觉得这个语句什么情况下会出现数据倾斜,怎么优化它spark中小文件你怎么处理的我想将数据只写入到10个文件里面,怎么处理,distribute by cast(rand()*10 as bigint)怎么将a字段的值一样的数据写入到同一个文件,并最后只生成5个文件 distribute by mod(a,5)Spark中的Job、stage、task是什么关系spark的Job可以并行执行吗,stage可以并行执行吗,什么情况下stage可以并行执行,举个stage并行执行的例子Flink怎么处理积压的Flink的Exect-Once怎么实现的java的内存空间分哪些怎么让栈空间溢出,怎么让元空间溢出工作中会遇到内存溢出的问题吗内存溢出了你会怎么去分析知道哪些序列化方式,Serializable和protobufprotobuf与Serializable序列化的区别了解数据库连接池吗,是什么原理了解线程池吗,介绍下你知道的SpringBoot相对于Spring MVC的优点Spring中的注解了解哪些数据库的事务知道吗事务的隔离级别有哪些,默认是那种隔离级别你觉得你们公司目前有哪些方面可以改进的,比如工作上的改进、平台上的改进你工作中遇到了哪些难题,怎么解决的作为你的同事,你觉得你能带来什么好处你最近有去学习什么新东西吗,从中学到了什么为什么想来我司所在城市你未来的职业规划是什么#社招面经#
点赞 评论 收藏
转发
10 165 评论
分享
牛客网
牛客企业服务