首页 > 快手运营 > 算法社招-BAT头条快手美团滴滴面试分享附面经题库
2021
02-28

算法社招-BAT头条快手美团滴滴面试分享附面经题库

  内推可以比自己投递效率高,也更容易过简历,更可以一起讨论学习啊!希望可以和大家学习,一起进步!

  正常的一二面主要是项目+coding,coding时间请维持在20min以内解决。最好是15min解决,然后自己可以用5min检查一下问题,或者和面试官沟通一下自己的思路,以及应对一下面试官的follow up

  百度 阿里 美团 滴滴 搜狗 360三面是人生面 + 部分的技术视野面 + 职业规划面(好像有的也有coding吧,人忘记了)

  2,项目介绍建议采用STAR法则进行说明。项目应该有章有节的说明,第一项第二项之类,并且将最重要的产出等放在最前面。

  3,另外在写项目的时候,这个项目具体用了什么框架,还是自己手写的网络,遇到了什么困难,介绍同理。

  开水团的18届小白菜,中间由于个人原因离开互联网一阵子。等到自己思考认为想要重新回到互联网的时候,重新下定决心回到互联网。

  2020年2月开始断断续续的刷题+准备,三月底开始面试,面试一直持续到六月底。收获的offer基本也算是满意了吧。

  内推,最好的是找到直接部门中的人,级别越高越好,但是人家得愿意给你说好话(基本是可以当你面试官这个级别的就够了,再高的你认识,你也不用看我在这里bb),记住一定要找会做事的。并不是你关系好就完美了,但是也不一定会内推呀,内推不是简简单单的给你把简历扔系统那样(对字节跳动感兴趣的同学,请私聊我,内推+简历修改+面试指导~~~)。

  猎头要找靠谱一点的,这个靠谱怎么定义呢,就是认识时间比较久,他找你不是赚人头费,而是将你维系成自己的朋友,或者合作伙伴,至少是个人脉吧,不然你就是个商品,自己拿捏把握吧。小白程序员如果搞不清楚,还请找人内推(比如我呀)

  一般来说,p6及以下是三面,以上是四面。再高的p8以上就不知道了。三面的内容构成差不多,基本信息+项目+coding,其中头条会多一点数学题的考察,这也是大家众所周知的吧。下面我就拆分这三个内容来讲,主要是以NLP等算法岗位来说。

  主要介绍个人基本情况,请一定要将自己认为是亮点的地方说出来,不管是你的论文,还是你的项目都可以,但是要点出来,不能展开来说。时间请限制在3min内,最好2min。可以自己对自己说一下看看。

  Part 1. 利用r-star法则将自己做的项目讲述出来。我对star做了一点修改,只要项目足够亮眼,可以一句话点题,说出自己的项目带来的价值,以在面试官心中留下先声夺人的印象。这一部分主要是你讲,他听。

  Part 2. 面试官对你的项目进行问询,然后你来回答,除了你没有讲出来的一些细节的问询之外,一般会有两种:

  类型一:实现细节拷问,这部分会拷问你对业务上的一些问题是怎么处理的,工程问题是怎么实现的,为什么这么做,你承担了什么角色,你和别人怎么协作,等问题

  类型二:算法细节拷问,这部分会拷问这个算法的细节,你对算法的理解,你为什么在这里使用这个算法,你承担了什么,存在什么可能的问题,你怎么解决的等问题。

  有一些公司会要求你的算法创新性,有一些会要求你对算法的落地实用性,这个完全看面试官来定,无法进行判断(话说,你有一个顶会,但是去面试一个以业务效果为主的部门,或许只能当个好看来使了;反之,人家要求算法创新,你大讲业务效果,也不对胃口。这个时候就发现,内推人可以告诉你这个部门主要是做什么的,你就可以把握自己和对方是否match,以免浪费彼此的时间)。

  所谓的专业知识点,一般是在这个部分进行考察的,社招很少会忽然扔掉你的NLP简历,开始考察你CNN在图像上的作用,问问你vgg是什么yolo是什么特点之类。但是你的简历上的涉及到的知识点,一定要清楚呀~。【关于NLP的知识点,我会另外开一系列整理一下】

  coding这部分可以说是最难也是最简单的部分。我的coding准备时间约5个月,比较久,毕竟离开互联网很久,而且自己又是一个小白菜。

  基础排序,BFS/DFS,二分法,二叉树、分治法,哈希,堆栈,双指针,动态规划,链表的基础操作。

  我们说万变不离其宗,主要的面试coding内容如上所示,具体会问什么题目,每次都会有所区别,但是主要内容都是上面说的这些,只要基本内容掌握了,基本就可以应对所有面试中出现的题目了。

  至于题库,主要是以leetcode为主,但是刷题的时候可以按照具体的顺序进行,需要自己自行安排。

  4.4 每一轮面试会有细微的区别,我会详细讲一下自己的经历以及自己对于面试的认识,btw coding都是一样的,我就不仔细说了,主要说一下项目这里。

  一面:一般是你未来的同事(或许在级别上会高一些),面试内容在项目上就是我上面解释过的内容,但是这里的面试主要在广,不在深,浅尝辄止,主要在一到两个项目中出现过的知识点上有一定认知,不会卡壳的解释出来,即便有某个知识点不知道也没有关系。

  二面:一般是你的项目负责人级别。这里的面试在深,不在广,会就某一个项目中的某一个点挖深,或者某几个点挖到中间。这个度根据你面试的难度进行把握,会有所不同。

  三面:一般是你的主管,说白了就是你的leader。这里的面试一般会考察你的知识点理解能力,较少会根据简历问,除非他对某个项目特别感兴趣。这里就问的可能会比较抽象的问题,会脱离实际项目。我自己瞎举个例子,如果你面试的是机器翻译岗位,可能会考察一下你是否知道IBM model,现在DL大行其道,那对于HMM和CRF的了解如何,n-gram呢?如果都不知道,那么DL到底了解有多少,BERT以及BERT的变种怎么理解的,bert背后的原理以及有没有思路来优化bert等等等等【我瞎说的哈,我也不是主管,写了写还是有点浅了,具体来说,可以考虑你要写一篇论文这样,主管在考察的时候就在考察你是否具备发现足够写一个论文/专利或者解决一个具体新问题的创新点的能力】。除此以外,考察理论点是很好的一种方式,比如就正则开始考察,这一个点就可以问很多了。【头条快手三面必coding】

  四面:并没有经历过很多四面,不过可以说一下我的感觉,四面的时候,会希望你可以hold一条线,一个问题,不仅可以解决交代给你的【较复杂业务线】(注意不是任务),或者你可以自己发现问题并解决的能力【不是小问题,格局要相对大一些】。

  其他:有些公司面试会视频使用牛客,有些会使用电话,有些会先项目,有些会先coding,有些会使用牛客coding,可能还要跑起来,可能还要跑全量数据,这都不是确定的,而且和面试官有关系。即便有时候,你面试没有通过,请不要灰心,这就和找对象一样,不合适就是不合适,不喜欢就是不喜欢,强行在一起也没有意义,你说对吧~

  a) 工作内容(这部分内容,互联网人都知道,要关注大背景,大盘,小盘听听就好了,进去之后会有新的安排。大方向不错,你好好干,roi不会低的)

  v. 面试的时候感觉面试官是否nice,二面是否nice/认可,三面对你是否认可。原因是一面二面和你平时的交集最多,对你nice和认可度特别重要。三面nice与否不重要,关键是是否认可你,两个人的观点,对问题的看法是否一致,有工作经验的同学应该会有感觉。

  iii. offer薪酬待遇:薪酬的构成:cash和期权/股票,期权/股票怎么拿,怎么换成钱

  自己要有对自己的定位,要知道自己希望在一到两年内成长为什么样的人。不要做太远的规划,没必要,世界变化这么快。也不要太近,时间太短了你什么都做不到。BTW,不要担心做不到,到时候,成长后的你一定有办法应对到时候的情况。

  要考虑好自己为什么要来这个公司,图什么,自己想要什么,又想为止付出什么。社招和校招是不一样的,校招可以懵懂一点,或者去大公司慢慢适应一下,自己学习(实习过很多公司的人就有这个优势了)。社招,除了熟悉业务,熟悉公司的阶段,后面对你的要求会越来越高,需要自己掌握才可以。

  百度:当之无愧的国内互联网黄埔,撑起了互联网的大半江山,对于低p的同学来说很有价值,特别是技术上,还有几个核心部门,都超级难进,也有很多大佬。

  AT:第一梯队,总部在杭州和深圳。建议还是去总部,要承担跳槽不方便的风险。校招培训非常好,社招感觉一般了吧,三年内的可以考虑,以后的就没必要的,你的风格已经形成了,过去打碎重立不一定好。整体建议和百度一样

  TMDK:第二梯队,相比上面的几个更有组织活力(这个词从刘江老师那里听来),相对的给年轻人的机会会更多一些,也有更多的尝试机会。对个人的要求比较高,需要自己自驱力很高,这一点我觉得很重要,毕竟年轻人相对上面的更多一些,自己要接受身边的人比自己年轻,比自己强,并且要学会从peer身上学习,从前辈身上学习;自己主动跟别人学,和等着别人来指导自己,结果可能是一样的,但是效果区别蛮大的。

  其他大公司:从公司层面来说,综合名气没有上面那几个大,年纪也会稍微大一点(似乎是的吧),但是都有自己的杀手锏,对于对应方向来说,过去觉得是很值的,因为我只对NLP比较了解,所以就举例瞎说几个,其他的不太了解了:

  创业公司:Face++,商汤等几个AI独角兽,猿辅导、soul、陌陌等几个hot startups等,都是很红火的公司,由于我不太懂,就不乱说了。有兴趣的可以搜索一下毕业后去大公司还是小公司的帖子,我觉得说的很好了,就不浪费时间重复了。对于社招来说~~~,见仁见智吧。

  社招和校招有点不一样,大家在社招的时候最好对自己的认知,和对自己的职业发展都有所规划,对于他人的想法也可以有选择的,有思考的接受,可以帮助大家更好的应对和准备面试吧。

  这些题目是我从各大网站,blog上面找来的,然后自己总结了一下,应该可以cover 90%的题目了。即便有不同的题目,也是基于这些出来的,大家加油!

  求股票的最大利润,例如[1, 3, 1, 8, 10, 3],只能买卖一次,计算最大收益

  如何判断两个单链表是否相交并找到交点,这个题没反应过来,所以答得并不好,只大概给了个思路。

  4.9 两个链表表示两个整数,相加输出一个链表。(这么简单我还错了一个小点,进位标志位重置的问题啊啊啊)

  5.4 1.非递减数组中查询某个目标值出现个数。解法:二分查找左右边界。

  5.8 给你一个无序[1,5,2,7,3,8,2],在给你一个数字n=11,请查找和大于等于n的最小数组(必须连续,长度最小),该题中就是[3,8],长度2(lc原题)

  5.9 一个无序数组,怎样找和为100的两个数。(1、排序O(nlgn)+二分;2、哈希表(O(n)))

  6.6 一个二叉搜索树,求两个节点之间的最长路径(不一定是从根到叶子)(lc原题,递归)

  6.7 一个二叉树(没有其他特征),找两个节点的最近公共父节点。(有三种不同的类型,要搞清楚每一种)

  6.8 给定一个二叉树,求出这个二叉树的宽度。没提交代码,写了一下面试官说ok就下一个了

  7.1 长度为n的字符串中包含m个不同的字符,找出包含这m个不同字符的最小子串。


本文》有 0 条评论

留下一个回复