概述:
今年秋招感觉有点小难,18年算法岗火爆,19年算法岗内卷,20年算法岗灰飞烟灭。。。。
等闲下来总结 BATJTMD+华为 的秋招总结吧。个人情况:本硕计算机,211渣硕。主要学习深挖的方向还是信息抽取+知识图谱。
岗位:nlp算法>java>软开 (报考优先级,大厂基本都是算法,基本算法和java后端开发通吃吧)
百度和腾讯时间由于和其余冲突,权衡之下直接放弃,
其余:阿里offer(算法白菜价),京东滴滴二面gg,头条三面gg。美团offer(算法sp)。华为offer(AI工程师15级)。
技术栈总结:
算法:c++和java的基本操作、力扣、数据结构、机器学习、深度学习、bert理解、当场出一个问题问你怎么优化这类套路。+项目
后端开发:java、力扣、spring全家桶、mysql、redis、大数据平台、网络通信等。+项目
基础知识训练:(推荐牛客网 https://www.nowcoder.com/intelligentTest 中的专项训练,很方便)
阿里面试:
本渣面试的是阿里的健康部门,这个部门和其余部门分开的,是独立的笔试面试流程。
主要是3面(电话,每轮1h)+1面hr。
笔试部分见本人博客,链接点这里。
白板手撕算法:
第一轮面试:面试官比较和蔼,问的基本都是bert,transformer的问题,然后问了预训练语言模型的看法。然后问了项目,主要是远程监督的弊端和解决方法,谈谈自己的理解等。还有就是标注任务中bert+crf的性能有时候会优于bert+lstm+crf,这个场景怎么分析? 之后就是一些nlp的基础知识和计算机的相关知识。之后就是手撕算法。
第二轮面试:感觉这个是个小组长,问的没有那么细了,直接怼的项目,然后谈谈对国内的算法工程师的理解,还有发paper的算法研究员的理解。之后问了大数据平台怎么和深度学习结合的问题。之后就是10分钟限时的手撕算法,先让谈谈最这个算法的思路,(见上图)我提供了两种,一种动态规划,一种回溯,在说回溯的时候故意露出我的破绽(这个最熟悉),果然面试官让我写我吞吞吐吐的思路,之后我便很流利的写出来了代码,并且在白板完美ac。
第三轮面试:这个是个大牛。直接问的项目细节,那细节可以说得上是一种非常细致的了,有时候你都不知道这个细节会有这么大的影响及解决策略等等。(所以说项目中遇到一些技术细节千万不要放过)
第四轮面试:个人情况+薪资+实习期间的困难及解决方法、收获等。
华为:
流程主要见上图。
笔试阶段:2个小时3个题。过线分数:总分600分,过线只需100分。(几个大厂最简单的了)
中间有一个恶心的评测,心里素质不符合企业文化的直接pass
面试阶段:
一面主要是当面问一基础知识,计算机网络|数据结构|操作协同|深度学习|nlp|等等+项目。项目问的比较浅,就是一些业务问题。然后就是共享屏幕,让面试官看着你的屏幕完成你在本地ide的算法编码。完事人家还要截图。
二面主要是项目,项目挖的比较深,笔试流程与一一面一致。
三面是业务主管面试,这个比较随心,个人感觉完全看脸缘。下来听同学说三面都谈的挺愉快的就被挂了,我倒感觉我这个不是很愉快,是一种比较紧张的气氛下完成的,下来竟然过了,感觉很迷。
总结:我在每轮面试完都说我的研究方式知识图谱,正好我面的部门需要构建电信领域的知识图谱,然后我就上岸了,可能这也是缘分把。
字节的面试最坎坷的,提前批一次(主要是练手,看看大厂的流程和难易程度)、秋招两次(最后一次二面挂了之后,别的部门又给我捞起来了,但是鉴于字节是鞭尸达人,直接拒绝以后的所有部门了。。哈哈哈)
笔试:字节的笔试个人感觉是比较难的。笔试的难度倒是不大,主要是笔试是2个小时做4道题。不让用ide。直接手撕,在牛客里面。这就有点让用惯了IDEA的人有点头大
(在这里说一下每个厂的笔试:华为最简单,2个小时3各题,满分600做出来100分。阿里1个小时2道题,难度中等偏上。腾讯2个小时5道题,据说很难,下来看了看题,算法岗都是那种求解最优解的问题,类似于工程优化的实现,纯数学。字节就是上述那个。滴滴和美团都是2个小时,不过还有选择题,范围比较宽泛。)
感觉字节的岗位比较喜欢概率论,一面面试官问了java基本数据结构和算法操作,然后怼着问了redis的缓存穿透和缓存雪崩等场景及解决策略,之后问了一些常用的redis结构和场景。以及选择一个重点项目对着问。之后就是一个概率算法。
二面的面试官主要是问了项目,这个我挂了,主要是它给我出了一个力扣300题的原题,对,没错,是原题,我tm还记得题号,然后我不到5分钟就手撕出来了,结果他说我的理解是最长公共序列不是这个,是最长字符串。我当场就尴尬了,虽然也做出来了,但是给面试官留下了一个不好的印象,之后又怼我问了几个概率,回答的不是很好。
总结:字节的算法面试比较看重概率论,本科这本书学完就已经还给老师了。。。
美团:
这个我认为是比较简单的,不管是笔试还是面试,回答的都比较顺畅。牛客网上有很多美团的面经,感觉问题的nlp问题和他们的一样,至于笔试,就完全是力扣变形了,举一反三就好。
滴滴:
滴滴我面试的是CTO线,这个竞争太激烈了。。。不是一般的激烈,流程开始前,还来一个是否确认本部门的提示,结果我就在二面躺下了。这个面试流程在一天就结束了,电脑自动排队,第一个完事之后就是第二个,时间比较赶。
笔试 同 美团。
一面面试是比较年轻的技术人员,问的纯技术,包括大数据Hadoop+spark+zookeeper的内核机制,很多细节都忘了,幸好在后面的手撕算法和nlp的知识上弥补回来了,简历少写精通了。
二面这个比较牛逼,在一个食堂跟我连线面试,中间网络一直断,整的心态的有点爆炸。还tm问我cv的东西,说有个公司CTO颜水城在博士的时候提出一个1*1的卷积核,有什么用,你有什么看法,你能继续优化吗。。。。。。。。GG。
然后我就终止在了二面,可能CTO线的人都太牛,
京东:
京东数科,这个只怪自己太菜了,不配和东哥做兄弟,二面立马就躺下了。
笔试:同美团滴滴。
面试:第一轮直接就是项目,项目中的基础知识,包括什么HMM low在哪里,CRF怎么解决局部偏置问题的。基本就是nlp所有的基础知识点他都问了。
二面刚开始就说,我这个人比较严厉,清北我挂了一堆,我对nlp不懂,不过你这个肯定算法牛逼,那直接手撕几个算法题吧。结果第一个就给我干蒙蔽了,说的是几亿*几亿的稀疏矩阵,怎么完成两两相乘,不准用常规思路,并且方法速度要最快。之后就是坐标系找两个最近的点(n^2的思路就不用说了),然后这两个题给我干蒙蔽,。。。GG。
总结:不得不说,本次算法岗的旅途比较凶险吧,虽然硕士期间确实静下来好好学习了,但是还是有一定的差距,再接再厉吧。目前几个大厂算是趟了一遍,仅给出一点经验和教训。
在此祝大家都能达到好的offer。