1.序
马上春招了,分享一波干货。腾讯、百度、阿里、京东、快手、斗鱼、华为、海康威视等面试过程。今天来看看快手。
在面试之前给大家看看我的简历以及个人简介部分,因为面试过程与自己的简历有很大关系。面试官往往会结合简历以及个人简介来问。
个人简历:梦想成真-----项目自我介绍
个人简介:【offerMe--简介必备】一字一句教你面试“个人简介”
2.快手面试过程
2.1快手1面 (部门:效率工程、时间:60分钟)
1、题目:两数之和
2、Socket协议用什么协议(Socket底层)
直达链接:梦想成真---Socket技术详解
3、Java和python的区别
如果让我接触新的语言,我可以接受,并且我会尽快入门,然后参与开发。因为我学习能力还是挺强的。
4、项目中 为什么不全用unity3D做而是用wpf+unity3D来实现仿真
因为航天方面的软件有一款公认的也是目前唯一的承认的STK,就是那个传统的客户端,简单的界面,不是全部unity仿真,如果70%的任务全部是非仿真的,所以开发较快,用了WPF;
5、项目中用到CLR组件优势在哪里
是因为模块化,以后需要的话直接拿来复用,因为实验室经常接这种航天类项目,航天类项目的话有一些是可复用的,比如轨道计算,星座覆盖,链路,这些等等。所以用组件的模式
其实这里考的是设计模式里面的策略模式模块化思想
直达链接:你们要的设计模式来了
6、java中集合有哪些?Hashmap 和TreeMap区别?
7、红黑树的特点?
blog.csdn.net/weixin_4156… 优势)
blog.csdn.net/weixin_4156… B+树 红黑树详解)
blog.csdn.net/weixin_4156… 红黑树)
blog.csdn.net/weixin_4156… –红黑树(插入删除过程详解))
以上是一些零散文章还没有进行大一统的整理,之后会出一篇文章进行讲解。
8、mysql数据库索引数据结构 为什么用B+树
9、主键索引和普通索引的区别
blog.csdn.net/weixin_4156… B+树 红黑树详解)
以上是一些零散文章还没有进行大一统的整理,之后会出一篇文章进行讲解。
10、Arrays.sort()的底层实现
Java Arrays中提供了对所有类型的排序。其中主要分为Primitive(8种基本类型)和Object两大类。 基本类型:采用调优的快速排序 对象类型:采用改进的归并排序 源码中的快速排序,主要做了以下几个方面的优化: 1)当待排序的数组中的元素个数较少时,源码中的阀值为7,采用的是插入排序。尽管插入排序的时间复杂度为0(n^2),但是当数组元素较少时,插入排序优于快速排序,因为这时快速排序的递归操作影响性能。
2)较好的选择了划分元(基准元素)。能够将数组分成大致两个相等的部分,避免出现最坏的情况。例如当数组有序的的情况下,选择第一个元素作为划分元,将使得算法的时间复杂度达到O(n^2). 3)根据划分元 v ,形成不变式 v*
当数组大小为 size=7 时 ,取数组中间元素作为划分元。int n=m>>1;(此方法值得借鉴)。
当数组大小size大于7小于等于40时,取首、中、末三个元素中间大小的元素作为划分元。
当数组大小 size>40 时 ,从待排数组中较均匀的选择9个元素,选出一个伪中数做为划分元。
11、文档编写
软件需求书 软件使用说明书 技术说明书 测试报告 markdown 绘图软件
12、提问的问题
(1)贵司的培养模式 (2)公司内部是否支持内部转岗这样的政策 (3)公司的竞升机制是怎么样的 (4)这是我第一次面试,如果可以,希望您能给我提点建议。如果不方便的话,那就辛苦您花时间来面试我了。谢谢 (5)目前我去了做什么工作。
13、其它问题
我喜欢努力极致的做目前所做的事情,就比如大学期间侧重于学生工作,所以就做到了一定的层次然后锻炼了我遇到问题解决问题的能力了。研究生期间也一样,既然选择了做研究做学问那么就一心把它做好,这也是当时为什么我本科期间基础并不是很好学历也不是很好,但是能在很短的时间内迅速提升起来并且有幸去北京***实验室参与并负责一个项目的原因。
2.2 安卓一面(部门:快手短视频海外版 时间:50分钟)
1、流量控制拥塞控制是怎么??是在路由器阻塞了吗
blog.csdn.net/weixin_4156… 流量控制区别)
2、用户和内核态
3、换页
blog.csdn.net/weixin_4156… 缓存算法)
4、快速排序
直达链接:【offerMe--数据结构】----排序算法
5、TCP UDP
直达链接:一篇让你掌握TCP与UDP首部格式
6、项目
直达链接:梦想成真-----项目自我介绍
7、线程创建会有一系列的 底层操作
8、内存模型。比如成员变量 局部变量之间
9、volatile
blog.csdn.net/weixin_4156… ,sychronized,volatile的区别)
10、Hashmap 插入的过程
blog.csdn.net/weixin_4156… blog.csdn.net/weixin_4156…
11、sleep wait区别
12、场景题 下载,打水,分享 用到的设计模式
责任链模式 + 策略模式 + 命令模式
其实这个地方还是考设计模式
直达链接:你们要的设计模式来了
13、分组交换和电路交换的区别
14、类锁和对象锁
15、静态方法和非静态方法
直达链接:java中静态变量,静态代码块,静态方法,实例变量,匿名代码块的加载顺序
2.3 快手安卓二面(部门:快手短视频海外版 时间:60分钟)
1、线程池
2、两两反转链表
直达链接:剑指offer--链表--反转链表
3、https
直达链接:一篇让你彻底了解HTTP 的前世今生
直达链接:一篇让你彻底了解http请求报文和响应报文的结构
直达链接:程序员必考---http\https的连接过程
4、操作系统里面的软中断硬中断
6、DNS是单条消息吗 用的什么协议
blog.csdn.net/weixin_4156… blog.csdn.net/weixin_4156…
7、线程池以及java提供的线程 如何停止一个线程
8、docker
9、堆和栈
10、垃圾回收
11、亿个数字找出前1000大的数字
3.快手面试感受
-
==切记不要随便在牛客网上扔简历==,因为牛客网上一个招聘信息出来后扔简历的人很多,我的快手第一次面试就是没过,我的另一个小伙伴也一样,因为人太多了所以没有优势,(其实还是自己菜)。
-
最好找自己的师兄师姐帮忙内推这样几率大。
-
==A题一定要A过去==,这就要在之前狠下功夫,如果一开始题就不行后面的面试如果没有特别出彩的话会直接pass。
-
基础知识的总结,==每一次面试完都要及时修补==,然后就是新知识的补充。
-
坚持,它是一个==持久战==,只要不断努力小伙伴们一定、一定、一定会拿到心仪的offer。
-
快手的面试官很好,所以放轻松尽情的表达自己就 OK了。
请关注公众号 “程序员面试之道”回复“面试”获取面试一整套大礼包!!!
本公众号分享自己从程序员小白到经历春招秋招斩获10几个offer的面试笔试经验,其中包括【Java】、【操作系统】、【计算机网络】、【设计模式】、【数据结构与算法】、【大厂面经】、【数据库】期待你加入!!!