本来今年我可能是不会写面经的,但是就目前形式来看,我是需要找工作独立了。所以写一下我的面试经历吧……

今年一开始是打算考研的,也为此准备了很多,可是近期突如其来的一件事导致我迫切需要独立,所以也踏上了找工作的不归路。不幸的是,我现在错过了春招,所以可选择的不多。

快手

一周前,我忽然要找工作,不过各大互联网公司的春招都已经接近尾声了,所以我只好找了一个学长帮我内推,学长给我推荐了一个快手的老哥,让他帮我内推,和快手的老哥聊了几句,恰好我想报的岗位是他们部门的,于是顺利的给我内推了。

快手一面(图像视觉工程师)

内推后很快就收到了面试通知,三天前一个快手的小姐姐给我打电话约我后天下午两点面试,也就是昨天下午两点,可是因为下午我有考试,推迟到了四点,本来小姐姐以为我在北京所以想让我去现场面试,后得知我在河南,就改成了电面(电话面试)。

昨天下午将近五点,一面的面试官才打来电话,等待的过程无比焦虑(虽然我觉得自己有能力应聘这个岗位,但是我有严重的焦虑症)。

打来电话后,面试官也是个老哥,他一边看着我的简历一边问我,首先问我的竞赛,因为在他们的招聘条件上明确说明搞过 ACM A C M 的优先考虑,所以直接就先问我这个,然而这个老哥虽然对 ACM A C M 有所耳闻,但是却不是搞这个的,所以先让我自己介绍了自己的竞赛经历。于是乎,我首先介绍了我从听说到入坑的过程,然后讲了学校的现状以及自己作为拓荒者的努力结果,简单的说了几句,老哥觉得我在这样的条件下还拿到了不错的成绩,说明我能够在艰难的环境下求生存求发展的能力,所以对我竞赛经历还是比较满意的样子。

其次问了我关于自己写过的一个 PHP P H P 项目经历、寒假工作经历等,但是这些都是一笔带过的,简单描述一下就 OK O K 了,还问了我的博客,说我简历上写有一个流量很高的博客,但是没有链接,让我跟他说一下,我说电话说起来不太方便,也没有加个 QQ Q Q ,然后老哥让我电面结束后短信发给他。

接下来,问到了重点,问我对图像视觉的了解程度,我实话实说,说自己因为个人原因无法继续考研,所以开始找工作,最近才开始学习了解这个,对色彩空间、图像的基本算法进行了了解,并且我强调我们 ACMer A C M e r 有很强的自学能力,然后他问了我一些关于色彩空间和模糊的问题,我答得多多少少还像回事儿,因为很多名词对我而言都是看过一遍不太熟悉,说起来不够顺畅,但是意思也都说到了,问我模糊的原理,我说图像处理的基础算法都是利用卷积对原图像素点进行操作然后映射到新的图上,有的是利用四相邻、有的是八相邻的处理策略,但是具体的这个卷积核的设置我记得不太清楚了,因为最近看的东西有些多,公式不太容易一下子记住。老哥也十分善解人意,说这个很正常,他们也是用到的时候记不住的去查阅公式,此时我赶紧说,嗯,我也是这样想的,所以我有写博客的习惯,记录下来自己觉得重要的且容易忘记的东西方便自己以后查阅。

就这样,关于图像视觉方面的问题问了差不多,老哥好像也是挺满意的,然后问了我几个比较基础的算法问题,首先是一个数论的 GCD G C D ,让我解释 GCD G C D 的原理,接着问了一个大数相加的问题……运气好到炸,都是很基础的问题。

对了,中间还问了一些关于多线程、 C++ 14 C + +   14 的新特性问题,多线程的我直接说自己没有搞过,不太了解,因为弱校搞 ACM A C M 需要十分专注,很多 ACM A C M 用不上的东西我都没有关注,但是如果需要用我会去学的,而新特性的问题,我说了一个 auto a u t o 一个 Lambda L a m b d a 表达式,并且说我用的是 Xcode X c o d e ,默认使用的是 Clang C l a n g 编译器,而这个编译器支持新特性十分好, C++ 17 C + +   17 貌似都有不少新特性被他支持了,所以我就没有特别关注过不同版本的新特性……老哥很友好,表示理解。

然后我问了两个小问题,一个是自己还有几面,一个是公司待遇,老哥说这个他不确定,让我问 HR H R ,然后我将自己博客发给了他,接着他说问题不大,让我准备来北京实习。

这次感觉出奇的顺利,十分感谢 方寸 学长、也十分感谢学长推荐的这个帮我内推的老哥,因为个人感觉只有内推靠谱才有内推的价值,春招时很多人搞的内推码都是公共的,无数人在用,那和不是内推有什么区别呢?这个帮我内推的老哥刚好就是我想要去的部门的研发人员,所以给我指点了很多,告诉我去他们部门需要准备学习什么东西,而这些东西正中我电面时所被问到的方向。当然,关键是要自己下功夫去学习,不然就算知道了也没有用。

另外还有十分重要的一点,学会包装自己,学会用数据证明自己,不仅仅是竞赛、项目、科研,有时候混社区也是很重要的, CSDN C S D N GitHub G i t H u b 等等社区,这些社区数据都是自己实力证明的很好的材料。

现在快手的这个图像视觉工程师岗位基本上是搞到了,暑假去实习,不过现在还在等待 HR H R 面,而现阶段我需要准备的就是继续学习图像视觉相关的东西,为暑假实习打下基础。

倦鸟
2018.6.1

快手 HR H R

昨天下午,外出有事,在路上 HR H R 小姐姐给我打电话,进行了面试。 HR H R 面和一面不同的是,不问技术,更倾向于个人的一些生活处事作风以及目的,

小姐姐是先问了我什么时候开始学编程,为什么学编程,为什么不复读考一个更好的学校,为什么现在找工作,为什么……反正就是一堆能够凸显你个人性格以及选择倾向的问题,还问了一些我的工作经历,根据自己实际情况回答了一下,就结束了。

接着他问我朋友实习待遇怎么样,我说二百一天,然后就说了他们可以给我一天 250 250 ,当然是人民币,然后提供午餐晚餐以及下午茶,另外我是外地学生,可以给我申请房补,不过具体能不能申请下来不确定。

感觉待遇还是不错的,最起码比绝大多数公司给的实习批发价高一些。我就爽快答应了,这两天就给我发 Offer O f f e r ,然后考完试就可以去实习了。

虽然今年错过了春招,但是感觉自己还是蛮幸运的,挺兴奋的。

倦鸟
2018.6.2

RoadStar.ai R o a d S t a r . a i

最近在微信群里遇见一个猎头,想要帮我内推,然后就答应了,并且很快帮我联系上了 RoadStar.ai R o a d S t a r . a i HR H R ,一个无人车公司,感觉还是挺靠谱的,就面了一下。

RoadStar.ai R o a d S t a r . a i 一面

这个面试在上周四,是技术面,当天中午猎头联系我问我什么时候有空方便面试,因为白天上班,就约到了晚上八点面试,依然是电话面试。

晚上八点,电面如期而至,面试官让我简单的自我介绍以后,问到我为什么这么快就想要换工作,我早就猜到会这样问,并且也如实回答了,我认为毕业的前几年需要好好的沉淀自我,而我必须将这几年交给一个我十分认可的地方,因为错过了春招我没有太多选择,而现在我有机会重新选择,我希望可以抓住这个机会找到那个可以让我沉淀下去的地方。接着我阐述了自己对这个无人车领域的浓厚兴趣以及对这个领域未来的肯定。

这个面试很快,估计十几分钟的样子,面试官没有拷问我太多细节的东西,问了一些个人经历以及擅长的东西,然后面试官就给我留了一个题,让我抽时间写一下发给他看看,就挂了电话。

当天晚上回到家,我花了十几分钟就写了一下,是一个数论题,我用了一个 O(n) O ( n ) 的解法,面试官还算满意,不过我告诉他我大一看过一本书上讲了一种更加厉害的解法,因为时间久远而忘却了具体怎么解……Project Eular-71-Ordered fractions,就是这个题。

写代码的时候,我将思路也写成了注释,所以发给面试官后他没有多问什么,给我通过了。

通过以后第二天, HR H R 就跟我打过来电话,问我什么时候可以去,并且粗略的说了一下待遇,其实待遇什么的,不是我的首要考量,我真的十分中意无人车这个领域,所以就答应了八月初去,接着 HR H R 给我约了周六晚上九点进行二面,二面只要通过就给 Offer O f f e r

倦鸟
2018.7.24 21:22

RoadStar.ai R o a d S t a r . a i 二面

二面依然是技术面,不过不像一面那么简单了,需要和面试官同时操作一个编辑器,协同解决问题。

二面面试官是一个海龟,叫做 William W i l l i a m ,说话带点儿口音,时不时飙一些英文,不过还是老套路,先让我自我介绍,然后问我对行业的看法,我依然表达了自己对行业的高度认可。

接着,开始码代码,先给我出了一个很基础的二维矩阵操作,然后让我在此基础上进行一个元素置换的操作,用到了 dfs d f s ,我也十分顺利写出来了,不过并不需要测试什么数据,面试官看着我码代码,一边看一边寻找漏洞,不过还好唯一的漏洞被我自己看出来了,搞完这个问题后,只剩下半个小时了。

然后给我出了一个巨复杂的问题,给定一些按照某种特定字典序排好序的字符串,问该字典序是什么(只考虑出现过的字母),我看了一会儿,发现这个题出的有漏洞,因为有的时候根本无法判断两个字母之间的关系,所以跟面试官问了一下,面试官补充说,如果有多种可能,随便输出哪一种都可以。此时,我对这个题有了初步的认识,但是很快我就发现,时间根本不够去写这道题,我就告诉了面试官,面试官说思路是什么,我就讲,先进行分治获取一些组大小关系,然后进行合并。接着面试官问我如何去合并呢?我说这个题至多只有 26 26 个字母需要去存,中间涉及到插入,所以完全可以使用链表来操作,然后面试官说那么我们分开来一步一步写,先不写分治,写一下链表存储字典序的操作,我动手去写,可是越写越觉得有坑点,最后写好了以后,我明确告诉面试官,我对这个写法不是特别满意,因为仍然会存在漏洞存在冲突,面试官也表示明白了我的大致思路,说只要思路清晰就很好了。

最后让我去问他一些问题,我粗略的问了一些以后工作的开发环境以及我需要提前学习的东西,总的来说,还算是挺好的,然后就挂断了。

巧的是,刚刚挂断以后,我就想到了之前那个问题的更好的解法,我就立刻微信告诉了他我的想法,一个可以完美避免冲突的想法:首先我们进行分治获取到很多组字典序关系,然后将他们统统拆分为 a<b a < b 的形式,记录每个字母被小于的次数,然后从 0 0 次对应的字母开始取,每取一个关系式,就更新一下刚刚记录的次数,用取到的字母进行建树,并且保证树上节点数至多不会超过 27 个(包含一个虚节点,这个虚节点作为根),每个字母只允许出现一次(这部分用 map m a p 记录),最后生成的树就是一个以虚节点为根的树,兄弟节点之间没有绝对大小关系之分,只有节点的祖先们字典序小于该节点,所以我们可以对该树进行树链剖分获得一个序列,一定是满足条件的字典序。

跟面试官讲过我的思路以后,他说他明白了我的想法了,并且对我的执着以及表达能力都比较赞赏,一再强调代码只是时间问题,只要思路清晰就很不错了,就这样,二面顺利过关。

通过二面,我的 Offer O f f e r 基本就稳了,只要公司流程不出岔子这两天邮件就到,顺利的话,下一个月月初我就要南下了!!!

不过此次南下我也是损失惨重,路费加上亏损的房租费用,估计有五千左右,一下子资金链就断了,还得借钱才能顺利跳槽。

倦鸟
2018.7.24 21:54

(未完……待续……)