快手 Android 工程师面经

看着我把简历投完之后弹出的“完成”字样,我就十分的激动了,我是一名应届毕业生,老老实实的那种,学过的知识我都一步一个脚印的复习的完了,Lintcode上该刷的题,也妥妥的完成了,但是一想到这个富于激情的公司我就神往不已,因为,这家公司在短短的时间内将产品推广到拥有上亿用户量,最关键的是,快手的CEO就是搞技术的出身,应该会十分了解同为技术人员的我们的诉求。所以,我决定到这家公司试试我的实力,参加了快手的安卓开发工程师的面试。

一. 电话确认

电话那头的工作人员表达的十分完整与友好,仅仅问了我一些基本资料以及和我约定了面试时间,公司的招聘应该很忙碌,他们把我的面试时间定的有些晚,定在了晚上7点,足够我好好准备一下了。

二. 技术面试

面试官是搞技术出身的,一上来就问我之前做过什么项目,我在其中的贡献,以及我从项目得到了哪些收获。因为我之前对这方面有所准备,我就将我在大学时和我的学长学姐一起跟的项目说了一遍,当然我自己的成果我说的很基础有点保守,但是也是很流利的说完了。



之后问了一些安卓相关问题,算法与数据结构的问题,口头表达,并且要求很完善。



安卓相关的问题:

1.padding 和 margin 的区别?

2.ListView的优化方案?

等等



算法与数据结构相关的问题:

1.分治法相关的问题:计算a的n次方 % b

Lintcode原题 :http://www.lintcode.com/zh-cn/problem/fast-power/

答案链接:http://www.jiuzhang.com/solution/fast-power/



2.判断一个数是不是回文数(不能将其转换为字符串)

Lintcode原题:http://www.lintcode.com/zh-cn/problem/palindrome-number/

答案链接:http://www.jiuzhang.com/solutions/palindrome-number/

三. HR面

主要考察了我的思考能力,比如我用快手的体验,以及我对快手的改进想法之类的。我感觉这些问题才是有些棘手的,但是我是快手的相对重度用户,对其中有些东西使用起来还是很有体验,所以我几乎没有犹豫就说了

总结:

一定要掌握好基础知识的,虽然我不是很优秀,但是依然可以在面试中表现地不错。

充分利用网上的资源,面试前一定要多刷题,快手面试的难度不大,相当于Lintcode上easy和medium的难度,一般不会出现刁钻的难题。

在面试快手之前,我搜集了很多快手的资料,甚至把创始人的八卦信息都看了一遍,事实证明这是很必要的,因为面试中会涉及到很多与公司相关的问题,如果没有充足的准备,是无法应对自如的。

快手的待遇还不错,在这里不方便多透露,在此希望更多的人来加入快手啦~

上一篇:torodb docker 运行试用


下一篇:python ----Fibonacci数列