攒人品--23届非科班算法工程师的互联网校招面经

bg

本科北京学院路某211、硕士北京某军工985,非科班转码,本科专业和硕士科研都和算法沾点边,无论文,两段大厂算法实习。

实习转正无hc,秋招专业陪跑选手,国内有些名气的厂都投了,5家互联网技术面挂,10家走完了技术面,但在11月才拿到一个中厂offer,12月候补到三个大厂offer,春招投的两个大厂都拿到offer。有些在池子里深不见底,有的是hc review盘着盘着没了。拿到的offer包括搜推广、数据挖掘、风控、供应链算法。

梳理总结一下校招中的经历、经验、教训,消除部分信息差,希望能给校招的朋友们带来一些帮助。

笔试

1.编程

大部分算法的笔试和开发是一致的,基本上三四五道代码题目。我的做题能力不强,基本上只能做出2道多,可能因为简历中项目比较匹配,有十几家公司进面。

拿到分数是关键。在没有足够明确、足够好的解题思路的时候,不要钻牛角尖,就算不能ac也可以尝试一些复杂度高的方法,通过一些测试样例,也可以拿到大部分分数。或者有一些拿分的套路,有的题目的输出是'yes'或'no',直接都输出'yes'也能通过一些样例。

提前练习,熟悉笔试形式。提前多刷一下历年的笔试题目,熟悉笔试的形式,提前看好有没有跳出检测等问题,以免笔试的时候慌乱。

2.其他形式

有些公司还会出一些算法相关的选择题,选择和编程是分开的,答完一个卷才能做另一个,需要把握好时间。

技术面

互联网算法面试一般都为:二到三轮技术面+HR面,技术面又分为同事面、leader面、交叉leader面、部门主管面。同事和leader的面试内容集中在项目经历、基础上,会考察技术的深度和广度;部门主管面一般不怎么问技术相关,以我的感觉来看,部门主管好像更看重对业务的理解和对公司、部门价值观的认同。当然,还有技术面试必不可少的手撕代码环节。

以下是我在技术面过程中被问过的问题,不够全面仅供参考。

项目经历

我在面试过程中,基本上百分之五十的时间都是在深挖项目经历,被问到的八股文一般也都跟项目相关,所以简历上的项目一定要熟悉,与之相关的技术也要有深度理解。 项目细节背景/数据量数据处理/特征/模型/离线评估/上线以及效果/优化方向

延伸为什么这么做这么做真的有用吗/有没有其他方法方法对比/遇到哪些难点怎么解决的/有没有遇到某个问题为什么没有出现这个问题如果出现这个问题怎么办/还有没有其他可以优化的地方

结合工程和业务:模型上的提升到底对实际业务有什么作用/方法和业务的匹配度

项目中的角色这些是自己决定的还是领导让做的/哪部分是自己做的/多个组协作的工作其他部门不配合怎么办/和mentor怎么沟通的

算法八股

算法的八股文大部分都是和项目相关的,还有一部分是和面试部门业务相关的算法。

数据/特征:特征工程怎么做/数据归一化方法有哪些/使用过哪些特征交叉方法/XGB缺失值如何处理、填充-1会有什么影响/XGB需要one-hot吗,one-hot有什么影响/样本不平衡怎么解决的/处理不平衡样本会不会造成bias,强正和强负有助于拉开样本差距,为什么会造成bias/数据怎么清洗/特征权重怎么看

模型:

(1)GBDT和Adaboost的区别、流程、优缺点、GB是什么含义/XGB和GBDT区别、XGB如何调参的、泰勒展开公式、剪枝方法、为什么二阶展开比一阶好/介绍boosting模型/bagging能让偏差降低多少

(2)FM是如何节省开销的/分别介绍wide&deep、deepFM、deep cross network

(3)transformer里的position/LSTM四个门/介绍attention机制

(4)mmoe样本空间、如何共享特征/mmoe的loss如何平衡/mmoe如何让expert学到不同信息/mmoe、esmm、ple区别

(5)强化学习on-policy和off-policy什么区别/eposide怎么设置

训练:缓解梯度消失的方法/正则化方法/dropout是怎样起作用的,推断的时候dropout是什么样的/用过哪些损失函数/用过哪些优化方法/有没有用过增量训练/使用过什么激活函数、各种激活函数的区别

指标:解释AUC/如何debug的,怎样归因/AB实验怎么做/离线指标提升,线上负向怎么办

算法场景题

结合面试部门的业务,问相关的场景题,一方面是看和业务的匹配度,但是更多的是考察实际问题分析、建模的能力。首先必须先搞明白这个问题的含义和前提条件,不懂的地方及时问清楚,也可以让面试官做一些提示;如果涉及到自己的领域盲区也没关系,我一般会从业务特点先分析,这个场景可能需要重点关注什么方面,和某个我了解的场景有什么联系、异同等,接下来从整个算法流程逐条分析(还是要看问题,有些面试官给了前提条件,不需要回答这么细致),有哪些潜在的问题,以及这些问题可以使用哪些方法等,在展示自己的分析能力同时,展现自己解决问题的思路和技术面。以上是个人的回答思路,如有不妥希望大家指正。遇到的场景题有:

(1)直播推荐直播推荐和其他推荐不同的地方

(2)搜索引擎如何用搜索中的数据学习近义词

(3)聚合平台如何判断重复酒店

(4)数据中台:为了配合推广活动,如何预测播放量

其他八股

涉及到操作系统、SQL等:

linux的指令知道多少/软寻址和硬寻址的区别/SQL group by和开窗函数的区别

手撕代码

手撕代码大部分是********经典题目,还有算法工程师相关的一些代码,主管面还会做智力题,我做过的题如下:

算法与数据结构: 31.下一个排列/47. 全排列 II/3. 无重复字符的最长子串/669.修剪二叉搜索树/88.合并两个有序数组/33.搜索旋转排序数组/430.扁平化多级双向链表/63.不同路径 II /82.删除排序链表中的重复元素 II/23.合并K个升序链表/142.环形链表 II/110.平衡二叉树/236.二叉树的最近公共祖先,如果祖先不能包括本身,怎么改/222. 完全二叉树的节点个数/链表相乘/使用栈实现计算器/完全背包/堆排序/快排/top K/链表和数组有什么区别/迭代和递归有什么区别

智力和概率题圆形棋盘放棋子先手怎么能赢/怎么用1-10的随机数生成1-7的随机数

其他计算AUC出过两次)/不用tensorflow和torch写四层神经网络的前馈过程包括两种激活函数两种正则化方法参数初始化

聊人生

技术面中也会遇到聊人生的问题,比如:有没有其他offer/实验室是做什么的/最近看了哪些论文/遇到问题怎么解决/和同龄人相比有哪些优势有什么不足/你觉得mentor看中什么/实习过的公司有什么区别/实验室科研和实习有什么区别/更想去什么样的组跟随大佬or自由探索/未来规划

反问

我一般会问一下组里业务、会用到的技术栈、有没有需要改进的地方、面试流程、某个面试时没有答好的问题等。我感觉其实不论面试结果如何、面试官态度如何,都可以抓住反问的机会多了解一下,毕竟找工作是一个互相judge、双向选择的过程。

面试心态

面试的心态太重要了,直接影响面试官的判断。我认为最佳的面试状态是端正态度的同时可以稍微松弛一些。需要转变一下学生心态,面试不是考试,找工作是一个双向选择的过程,面试官在评判我的能力,我也在判断组里的前景和氛围,我想明白这一点之后,面试过程中就不怎么紧张了。

自信放光芒!不要受到质疑就开始心虚,也最好不要总是陪笑(个人观点),展示出可以胜任工作的自信来。也不需要太在意面试官的态度,对方态度不好是他的问题,对于自己不能决定的事情不需要内耗。遇到不会的问题也没关系,可以询问或者请面试官做一些提示,一般面试官也不会刻意刁难,何况解决之前不懂的问题也是实际工作中的常态。

另外面试时间的长短有时候也不会影响面试结果,实习的时候遇到leader面试实习生,leader是真的后面有个会才匆匆结束了面试。面试之后复盘是必须的,但是不要老想着面试结果而太过内耗,面完了就不管了,为下一次机会做准备。

经验&教训

充足准备

秋招的前期非常坎坷,准备很不充分,基本都是在用梦中情司的正式面试积累经验、查漏补缺。加上本届校招就业形势堪称史上最寒,算法岗卷中之卷,没有往年那么多试错机会,所以我前期真的浪费很多机会。

所谓充足的准备,最理想的情况是在投递之前,对包括招聘中的全部环节都做提前的了解和准备。当然没有最完美的情况,很多时候由于其他很多事情的影响,准备时间上并不充裕,而且hc很少,如果一直准备一直不投递,后期可能没有hc了,那就需要在充足准备和抢占先机之间作出权衡。

积极主动、持续改进

找工作是一个持久战,从3月份暑期实习招聘到第二年春招结束,横跨一年多时间,而且过程中也有非常多运气因素,需要发挥主观能动性,把自己能改变的部分做好,其余的交给缘分。主动才有故事,除了官网、boss等渠道,也可以在牛客、脉脉上找内推,往往有些内推招人的帖子是真正有hc且比较急切的岗位,尤其是补录和春招阶段,有师兄师姐能够内推就更好了;必须多做复盘,好的地方和需要改进的地方都要总结,机会难得不要在同一个地方跌倒两次。

两手准备

最好不要all in,起码有个保底;其他行业也可以多看看,毕竟今年互联网情况有目共睹。同时找工作也是一次冒险,也只是一个开始。也许最开心的只有拿到offer那一天,满意也好不满意也好,现在其实都不知道是福是祸,对于选择也要放平心态。

后记

祝朋友们找工作都顺顺利利,祝我自己祝朋友们工作也顺顺利利!!!

#算法工程师##校招##互联网##面经##笔试#
全部评论
和楼主bg一样,已收藏,多谢分享经验
点赞 回复 分享
发布于 2023-04-03 17:43 北京
点赞 回复 分享
发布于 04-08 19:57 广东

相关推荐

10-24 12:13
投递快手等公司10个岗位
点赞 评论 收藏
分享
09-04 21:05
已编辑
西南科技大学 Java
点赞 评论 收藏
分享
19 92 评论
分享
牛客网
牛客企业服务