华为,字节,中国银行,小米面经干货

作为打工预备役的一员,找工作理所当然地成为了2020年一段煎熬的时光。
纵览全局,有知识的累积,也有心态的变化。

背景:科班渣硕,无论文,无实习,无竞赛获奖。方向为自然语言处理。

6月到8月在leetcode上刷了三个月的题。是加入了GitHub上很火的@Lucifer的91算法,每天一道题(搭配当天的数据结构类型再刷几道,举一反三,熟能生巧是很有必要的),三个月。刷题的感受就是可以静下心来,假如你在秋招的时候心烦意乱,静不下来,打开leetcode解决一道题,在构思与实现的过程中就静下来了。这个过程中,最精华的部分应该就是自己写题解了,也正因此,自己的GitHub终于是持续活跃了一小段时间。(掩面而泣

提前批

我的秋招应该是从八月初开始,一直持续到十月底进入尾声。八月份投递的是提前批,有百度、猿辅导和贝壳,岗位都是自然语言处理相关,其中百度提前批内推不需要笔试,猿辅导和贝壳均参加了第一批提前批笔试。提前批的感受就是百度一面中从面试小哥那里学到了很多知识,了解到了很多分析问题的角度,也在那一面的交流中认识到了自己的基础不扎实,比如一个top k问题当时就反复了好久。然后贝壳和猿辅导都挂在了笔试上,虽然内推时都说可以换岗再投,但是亲身经历是即使换投相关岗位,得到的回复大概率是“岗位不匹配”,所以大家尽量还是早做好准备,一击即中。

关于实习:对于有实习条件的同学(这里指地域和时间、导师等客观条件)一定要尽可能地去尝试实习,一来实习的要求或门槛不会比秋招高,实习所需要面临的问题在秋招时都不可避免,所以不要想着逃避。二来实习的好处不必多言,实习的经历会是后续面试中的一个问点,而且一般大厂实习好好表现可以争取转正留用的,有时会比秋招容易些。(比如阿里、字节、美团、贝壳等)

说明:投递时,互联网公司都投递的是方向相关的自然语言处理岗,对于没有相关岗位的银行,投的是测开或信息科技岗(确实对开发没太大兴趣)。

正式批

秋招收到的第一家面试通知是招银网络科技,招银网络科技分为一面和综合面,综合面分为两part,技术和hr,也很幸运能收获招银作为秋招第一个offer。整个面试体验还不错,进度也很紧凑(我是正式批,据说提前批的同学们等了很久,因为是和我们一起下的offer,但同时考虑时间也比较充裕)。
小米是第二家参加面试的公司,一些印象比较深刻的点:
为什么大部分的多分类问题都用softmax?有什么优点?首先softmax是指数归一,很适合多分类问题,其次softmax导数简单,计算方便。
transformer的并行在训练的时候编码器端和解码器端都是可以并行的,在预测的时候只有在编码器端进行了并行,因为解码器端会依赖上一时刻decoder的输出来构成注意力机制的Q,k,v是编码器端的输出。
transformer和bert的位置编码讲一下,为什么采用那样的位置编码。
transformer和bert的激活函数都是啥,介绍一下不同的激活函数的区别。
一面是小米的人工智能实验室吧,做翻译比较多,一面之后就没有消息了。

华为-AI工程师
三连面,zoom。两面业务面,每一面的目的性很强,一面是基础面,考究机试成绩和简历的真实性以及基础技术能力。首先是对机试的复盘,会讨论一下实现思路,以及时空复杂度的分析,没做出来的会问一下现在有没有实现的思路或解决的方法。复盘之后好像就共享屏幕手撕代码,是输出最长回文子串的题,我写了个中心扩展法,面试官说动态规划可以实现常数时间复杂度,我下来之后查了一下还是不太会(然后聊项目,项目之后会问一些基础问题。然后会当场告诉一面是通过了的,等会儿会有第二轮面试通知。二面上来一个非常能够带动气氛的面试官,一上来就很high(虽然环顾整场我感受到了压力面的沉重),二面正如之前校园宣讲时介绍,考察分析问题解决问题和应用的能力,面试官应该是个Java佬,我的主语言是python,然后面试官应该是依着Java的考察点让我用多线程写一个可持续的生产者消费者问题,emmm,手写多线程不是很熟悉,磕磕绊绊,有的方法名还写错了,但是锁、互斥变量这些要写对,再就是把生产者和消费者的逻辑写清楚就行了。面试官说那再挑一个简单的题来做一下吧,然后开始其他方面的考察。具体的问题记不太清了,反正有细抠项目,画模型图,顺流程等等,然后还会比较注重项目是否有落地应用这些(很多公司都很注重这点)。再就是遇到问题怎么解决,包括怎么读代码等等。三面是主管面,会先根据简历针对性地提问,没有手撕代码了。会确认工作地点等,三面的主管基本就是你的主管。一下午一条龙面完的,除了神经高度紧张之外,都挺好的。当然今年华为面临的外部形势比较严峻,整个秋招进度可能比较慢,比较晚。我是10.29号出的od,30号oc,还比较顺畅。

BIU~
从算法到测开的一个转变:面着面着突然就没有了对算法岗的那种执念,尤其是当你你确实可以拿到offer的时候,就开始考虑拿到offer之后呢?入职之后是如鱼得水、大展拳脚还是绞尽脑汁构思设计?慢慢也就释然了,专业不是为了在求职时对岗位加以限制,而是为了在求职时有选择的自由度。所以综合自己在算法设计上的资质和对边界极端case的敏感度,认真转投测开岗。首先就选了向往的字节,在一面的交流中得知,有算法测试这么个分支,颇为惊喜,这样,既不会觉得接触了解了三年的东西完全搁置,也不会整天逼迫着自己高强度高精神压力地吊着算法这口气。至少对于现在的我而言,算法测开是一个很好的学习途径和初入职场的过渡期。

字节AI-Lab测试开发工程师
一面leader面:
基本的计算机基础知识都问到了,根据简历的算法经历,还进行了机器学习基础知识的考察。
手撕代码:找到链表相交结点。
二面:
项目:CNN并行化项目。项目会和一面的项目互补,没有抠一个项目。
有代码能力的要求,自己实现过什么。
开放性问题居多,比如对测开的认识,与算法的比较。会给一些测试场景找测试点:
滑动界面,卡片同城好友推荐测试要点.
输入url到出现页面的整个过程。
从假设场景多线程处理sql语句查询某一字段,并对满足条件的字段进行至少一百次的累加操作,如何保证数据安全性?可以考虑用互斥信号量去实现加锁操作,保证隔离性和原子性,防止出现读脏数据、不可重复读、丢失修改等问题。如果这个任务要运行好几天,那么如何保证在发生了外部中断比如断电后让任务继续执行而不是从头去执行?可以设置中断寄存器,保存现场,包包括线程号、正在操作的字段等记录,等到来电的时候恢复现场。
手撕代码:动态规划
三面:交叉leader面
手撕代码:滑动窗口

中国银行,信息科技运营中心
包食宿,报销往返车票和体检费。笔试通过后会通知到现场面试,整个面试分为两轮半天搞定。到场签到后手机会上交,然后开启一上午无手机的happy time。抽签分组。第一轮是无领导小组讨论,我们是七人组,每人阅读给出的材料五分钟,5min之后每人进行两分钟的观点阐述;阐述完成后是10min的组内自由讨论,根据给定的两个问题给出小组的回答,同时要推选出总结的同学来。
无领导小组结束之后,是一对一单面,会针对简历进行提问,负责cue流程的面试官会对你在无领导小组中的面试表现加以提问,挖掘一些信息,整个过程交流得很nice。(有被女性面试官的气质吸引到)

十一月底十二月有收到美团和百度的电话,所以不要心急不要慌,大厂补录机会很多的,其实越面到后面心态也越稳,耐心等待自己最中意的offer。

最后放一个字节内推链接hhh
向你推荐字节跳动的 3553 个热招职位:https://job.toutiao.com/campus/m/position/list?external_referral_code=Q4HY25W

全部评论

相关推荐

评论
10
19
分享

创作者周榜

更多
牛客网
牛客企业服务