快手客户端开发面试(一二三+HR面)

首先说下本次快手面试的总体感受:很关注底层原理和项目实践。由于自己太菜了,很多知识点虽然自己知道,也有自我理解,但是面试官很看重基础,这个基础要求你理解底层原理,可以说是很“基础”了 ,很多问题都是从表层提问然后不断深入,直到你不会为止,这一点其实也是考察的重点,貌似很多大厂都喜欢这样不断刨根问底,其实就是想看看你掌握了多少,所以中途心态不能崩,起码要坚持到最后一刻呀!借用古人一句话:路漫漫其修远兮,后面还是要不断查漏补缺吧

一面(2020.08.15)

2020年8月15日下午四点的视频面试,面试官迟到了二十分钟,很有礼貌地道了歉,并且非常平和地进行面试流程(从说话感觉面试官很好)

问: 自我介绍
答:个人信息,教育情况,技能和项目等简介即可

问:你是保研还是考研的?
答:根据实际说明情况就行了(保研的可以说下亮点,考研的可以说下成绩啥的)

问:看你拿了很多奖学金,说说你最骄傲的一次获奖经历和困难
答:最骄傲的当然是手里最高的奖学金啦,然后就是介绍当时拿这个奖学金 有多么不容易,侧面体现自己的与众不同

问:你自我介绍的时候说xx项目有三篇文章,能给我说说这个项目吗?
答:面试官其实就是看到有亮点,希望你介绍相关项目和成果,怎么设计和验证算法的性能的,怎么完成项目的规划,进度安排等,这个抓住重点即可,无需多言(没想到面试官对项目这么感兴趣,足足谈了快半个小时)

问:说说你有过的最骄傲的成绩,遇到什么问题,怎么解决的?
答:可以结合实际项目谈谈,对项目的难点,所提出解决方案的思路以及实现都要说清楚,要让面试官能听懂。(该项目说完已经五点多一些了,我琢磨着是不是不问我一些算法之类的问题了…)

问:我看你项目都是偏向于机器视觉和人工智能的,为啥选客户端开发,以后打算从事哪方面工作?
答:该问题一针见血,直接表达出你的项目和当前职位不匹配,你为啥应聘该岗位。对于这类问题,千万别说自己想从事和当前应聘岗位不相关的工作,这样回答很危险。其实回答总结起来很简单,就是要表达出“我爱客户端开发”,“今年找工作非客户端开发不投”,“就是喜欢就是love”这样的态度,一定要态度坚决,当然最好要谈谈该岗位到底哪里吸引你了,谈谈自己的理解,这个很关键,可以让面试官觉得“你就是对这个内容很感兴趣,你还是懂一些”。(题外话:面试官也是过来人,你是不是真的喜欢这个岗位面试官心里清楚的很)

问:我们说说C++吧,谈谈引用和指针的区别?
答:老生常谈的面试题,日常话题,直接日常套路回答即可
追问:引用怎么实现的,底层怎么做的?
答:把我问蒙了,没想到这个还问底层,还好之前看了一点知道是那么个意思就瞎扯了,但是面试官是可以看出来你的深浅的,所以追问了底层怎么做的,欲哭无泪啊,只能很无奈很尴尬地说了句“我不会”

问:你用过C++和Python是吧,说说他们的区别?
答:这个问题也很常态化(从开发效率和速度上来谈即可),但是在回答的时候还是有点慌的,怕面试官又问一些很底层的知识,所以回答的时候很没底气,还好侥幸过关

问:说说多态,怎么实现的
答:这个是面向对象三大特性之一嘛,一般谈到虚函数和虚表以及虚指针差不多了,我觉得很底层了。所以我早就准备了很多回答,心里想着这个多态问题应该很容易pass吧,(事实证明我还是太嫩了,后面一大波相关问题来了)
追问:假定一个场景,给定父类和子类(会告诉你各种情景),让你判断内部是怎么实现虚函数的定位的?
答:一看场景题就感觉大事不妙。本以为是虚指针的顺序查找,没想到面试官不断强调不是这个,瞬间很无助,那也不知道啊,哎(面试官就说,那换个说法吧…),反正就是不知道。平时没有注意到这么多场景,可能和没有实际开发经验有关吧,不会思考底层的机理

问:O(n^2)一定比O(nlogn)快吗?
答:(不一定,看曲线,有交点)

问:计算机中的随机数是怎么产生的,是真随机还是伪随机?
答:这个还是要了解了解的

问:不使用第三个变量,如何交换两边的值:A=1,B=2
答:取和相减法(会溢出),异或法。

问:说说设计模式吧,工厂和抽象工厂到底有什么本质上的区别,为啥后者叫抽象?
答:之前其实人家都会问你了解哪些设计模式然后在细问,这次的面试官竟然也不问我了解哪些设计模式,一上来就问,我一开始很慌,因为23种想要完全理解和掌握还是挺有难度的。还好后面听到是工厂(是熟悉的),这个问题倒还真的思考过,所以回答的也是很干脆。谈到两种模式的区别以及代码实现差不多就可以了

问:谈谈STL中你熟悉的一些容器
答:map,set,vector,list等
追问:unordered_map和map有什么区别,底层怎么实现的?
答:又来底层了(很难受,感觉又是不会的样子),谈到红黑树我就猜到面试官一定会问红黑树的底层了…
追问:红黑树和平衡二叉树区别,怎么保持自平衡的?
答:两种树的区别还能说说,但是还是回到红黑树底层,又是底层,很尴尬,没有深入了解过
追问:那你还知道哪些其他高级树结构?
答:终于不说红黑树了,那就谈谈吧,B树,B+树等,在细说两者树的区别以及优劣

问:谈谈你了解的算法
答:算法无非就是排序,查找等(我知道坑又要来了)
追问:你最熟悉的排序,时间复杂度,空间复杂度等?
答:我说了快排(面试官意料之中,轻微一笑),又谈了平均情况和最坏情况等(已经猜测面试官会问怎么防止最坏情况了,已准备好他提问我继续回答了)
追问:最坏情况怎么避免?(我只回答了最坏情况常见的一种)
答:随机快排,随机化选择基准,直言重点(没想到还有一种情况)
追问:其实还有一种最坏情况,你能说说吗?
答:面试官很有耐心,一直很给我思考时间和稍微的指示,最后还是面试官自己说了重复值情况(说出来之后才反应过来之前看到过没记住,呜呜~)
追问:已经和你说了这种情况,谈谈你的解决办法
答:首先分析了这种情况,然后提出了设置记录访问的办法(增加内存肯定是不行的),还是面试官最终说出了最佳解决办法(分三路法)

算法题:做一道算法题吧,给定一个数,求其最少由完全平方数组合的方式,leetcode原题(完全平方数,动态规划即可)
答:由于做过原题,很快说出了思路(说出动态规划时面试官想让我用图来实现,所以毫不犹豫就赶快写了动态规划),并且给定了代码实现,然后就是让我介绍代码思路,介绍完面试官就说思路很清晰,可以了

反问环节:你有什么问题吗
答:各种各样的问题(工作,生活,求职,价值观等),这里非常感谢面试官指出面试中的不足之处以及最后给出的几点建议,我觉得会让我受益匪浅。并且面试官也对我这个面试进行了总结以及对今后的求职提出了很有价值的建议。本来以为面试官给我提出建议说明这次已经凉了,没想到结束的时候突然问我后面有时间不,可能会有二面,让我等一会,实在是意料之外(还是要感谢遇到这么好的面试官给我耐心地说了很多有价值的信息)

二面三面问了很多项目问题,其他的就是逻辑算法题

二面(2020.08.16)

问:自我介绍
答:一面的自我介绍即可

问:项目细问,各种压力面
答:提供一个模板:该项目是在什么背景下被提出,用于解决什么问题,遇到了什么困难,怎么解决的

问:说说你使用的语言
答:可以多说几种,然后可以深入谈谈

问:金条切分问题
答:https://blog.csdn.net/Inthesilence/article/details/108441871

问:小球天平问题
答:https://blog.csdn.net/Inthesilence/article/details/108441871

问:时钟问题,时针分针一昼夜相遇次数
答:https://blog.csdn.net/Inthesilence/article/details/108441871

问:反问
答:反问可以提前多准备一些

三面(2020.08.17)

问:自我介绍
答:和前面一样即可

问:项目细问,什么细节怎么实现,问题怎么解决等
答:由于是leader面,介绍的时候一定要耐心,仔细,要把项目说的通俗易懂,能结合实际最好

问:说说你了解的C++容器
答:常见的即可,还要深入谈谈

问:做一道算法题,产生随机数
答:有点困难,七拼八凑地答上来了,随机数还是要了解原理的

问:反问
答:leader是能够看到前面的面试总结的,因此提的问题最好不要重复,可以在之前的问题上深入一点,也可以问题大一些,总之在leader面上要体现出充分的诚意与兴趣

HR面(2020.08.25)

问:自我介绍
答:HR面自我介绍简单一点就行了

问:为啥做客户端
答:第二次被问到这个问题,答案是一样的嘛(喜欢和love)

问:面了几家公司,什么岗位
答:这个问题有陷阱,建议不要说得太多或者太少,一般3-4个就行了

问:offer怎么选择
答:侧面判断你的倾向,一定要说去你应聘的这家哈

问:地点有意向吗
答:这个问题也有坑,谨慎回答吧,建议面试前多准备下相关问题

问:如果面试通过,怎么安排计划
答:大概就是职业规规划之类的回答了,怎么准备,怎么学习等

问:反问
答:HR面的反问是有加分和减分的,因此问的问题还是要和公司相关,和岗位相关,这个网上有很多示例,大家可以自行搜一搜,总结一下

到了HR面应该说技术面都过关了,但是在HR面挂掉的人也有,因此要提前多准备准备吧,后续我也会写一篇HR面的一些准备和技巧

结束语

快手面了四面终于面完了,真的很累,不过也了解了很多面试细节,再接再厉吧。在这里真诚地许愿offer啊(快手要了我吧)!!!

在这里插入图片描述

更新(2020.08.27)

晚上收到了意向书,我觉得这些天的付出得到了回报,感谢这些天的努力与汗水!!!

猜你喜欢

转载自blog.csdn.net/Inthesilence/article/details/108029344