快手 | 客户端平台架构日常实习 | 一二三面 (OC)

流程

6月28号一面,6月29号二面,7月3号三面,7月7号OC,7月10号offer

一面

自我介绍

快排的原理,时间复杂度如何计算

二叉树的深度遍历和广度遍历有什么区别

谈谈多态的理解

讲一下hashmap底层原理

用红黑树的原因是什么

Hashmap线程安全吗?如果不安全应该用什么?

ConcurrentHashmap如果在遍历的时候,有更改数据的操作,要怎么保证线程安全?

线程间通信有哪些方式?

讲一下GC,垃圾回收流程,垃圾回收算法

SQL语句中count(*)和count(1)的区别

用过哪些Linux命令?

git merge 和 git rebase有什么区别

OSI七层协议

URL输入后的流程

三次握手

四次挥手

算法题:

写一下单例模式

会用静态内部类实现吗?

反转链表

反问

二面

你自己写的rpc框架有没有在业务中跑过,性能如何?

rpc调用过程

protobuf协议了解吗?讲一讲

自定义通信协议有没有参考现成的rpc框架?讲一讲现有rpc框架的通信协议

读过什么开源中间件的源码吗?

反射的底层原理

注解实现原理

netty底层是怎么封装Java io方法的,了解源码吗?

讲讲jvm中内存泄露的可能情况

一个类创建的过程

类加载器的底层实现

热更新的原理,怎么用类加载器来做

Class类如何使用

git中不小心reset了一个commit,应该怎么找回?

SQL中join有哪些注意事项,如何优化

算法题:

最少的硬币数目

反问

三面

自我介绍

git fetch和git pull的区别

git rebase的作用讲一下,如果有报错要怎么处理

git rebase -i 的作用是什么

讲一下快排的时间复杂度和空间复杂度,给出具体计算过程

讲一下二叉树深度遍历和广度遍历的时间复杂度和空间复杂度,给出具体计算过程

满二叉树插入一个新节点,依然是满二叉树,分析时间复杂度和空间复杂度,给出具体计算过程,写代码实现一下

层序遍历实现后问代码是否可以简化?

层序遍历的时间复杂度是O(n),能否优化?(提示用二分的思想后想出来可以每次用左子树的最小深度和右子树的最小深度比较,当右子树的最小深度严格更小时进入右子树,否则进入左子树,这样一次可以去掉一半节点。)

讲一下这个思路的时间复杂度和空间复杂度,给出具体计算过程,写代码实现一下这个思路

为什么投递这个部门?

反问

其他

由于没有录音,题目都是回忆出来的,可能会有缺漏。

值得一提的是快手的面试体验是自己经历过的面试中最好的,HR回复很快,面试官也都很和善,答得好的会有肯定,理解不清楚的地方会有讲解,思路上的卡顿也会适当提醒。由于自己面试经验并不多,所以格外感谢快手的HR和三位面试官。

#实习##offer##快手##快手信息集散地##面试#
全部评论
算法好难啊
点赞
送花
回复
分享
发布于 2023-07-10 15:04 山西
为啥客户端面这么多轮,开发才2+1hr
点赞
送花
回复
分享
发布于 2023-07-12 00:24 北京
秋招专场
校招火热招聘中
官网直投

相关推荐

某团子 商家运营岗 税前15k
点赞 评论 收藏
转发
3 35 评论
分享
牛客网
牛客企业服务