【校招】【心得】互联网算法岗 / 外企算法岗+开发岗 / 国企券商

21年秋招-22年春招总结:互联网算法岗、外企算法岗+开发岗、国企券商全方面面试心得

  • 前言

    时间一晃而过,眼见着我的读研时光很快就走到了尾声。而我,也在毕业之时,才拿到了春招末班车的offer。回顾自己长达一百余天的春招以及去年三个多月的秋招历程,百感交集,有很多想要抒发的情感。于是,想总结一下个人的经验和心得,希望对于以后求职的后辈们有所帮助。

    作为一个完整地经历了秋招和春招的校招生而言,亲身的体验是,今年春招的求职竞争难度和21年的秋招求职竞争难度相比,几乎是炼狱和天堂的对比,春招有时候十几个人面试竞争一个岗位不说,还常常会碰到技术面通过以及HR面结束后,因为公司裁员导致HC紧缩等原因,到手的offer飞了。单是我个人的春招亲身经历,类似的情况也碰到了六、七家,在此期间也着实打击到了个人的心态。所以想要提醒之后的校招生们的是,可以预见,接下来几年的求职市场,尤其是国内的互联网公司求职,不论是秋招还是春招,拿到offer的难度都会呈现较大程度的提升,所以找工作不仅仅是需要实力硬,也需要考虑到运气和方向的选取,建议大家结合自己的情况以及我接下来谈论的个人心路历程,多做考虑,争取早早拿下心仪的offer。

    码字不易,除非经过本人同意,否则禁止外传和转载!!!
    如果能猜到我是谁,也请不要泄露我的隐私,谢谢!!

  • 个人背景

    我是211本 + 华五硕,计算机科班,个人一作论文两篇。有两段算法方向的实习,分别是:大四AI独角兽公司 CV 算法岗实习 + 研二暑期大厂推荐算法岗实习。投递岗位主要集中在 推荐算法 / 机器学习 等方向,在整个秋招过程中,拿到了华为、Momenta、阿里、B站、快手、京东、小红书、58同城的8家算法方向offer,也侥幸拿到了其中的5家SSP以及1家SP的offer;在整个春招过程中,则是拿到了Shopee、NVIDIA(面试通过,但HC紧缩导致一直在offer审批流程中)、深圳证券交易所、招商证券、广发证券、华泰证券、中信证券的7家offer,方向上则较为杂乱,大体有推荐算法 / C++开发 / 券商IT开发 等方向。

    可能对于很多校招生而言,觉得我秋招找的工作应该足够好了,为什么春招还要执意选择在如此不明朗的求职氛围中下场竞争。这主要涉及到个人的选择,我在秋招过程中,遇上市场良好,每家都积极招人,算法岗的薪资也是水涨船高,所以自己在岗位都大体相仿时,主要是向薪资看齐。而随着22年的各种裁员(其中也包含我秋招签约的某家公司)以及经济下行的影响,让我意识到,互联网行业确实增量上达到了一定的瓶颈,新人小白的个人拼搏可能很难像老一辈人实现较快的财富积累。于是,在春招的过程中,我主要考虑公司的稳定性,对于薪资方面的追求,则没有那么高。

    接下来的心得总结,我打算从互联网算法面试总结、外企面试总结、国企券商面试总结三个大方向展开自己的心得分享。下文的总结,我不会细致地说各家公司的具体面经(主要是我也没记面经笔记…),而是选择把整个面试过程糅合在一起,形成一些结论分享出来。

  • 一、国内算法岗面试

    关于国内算法岗的面试,每年几乎都是竞争惨烈,可以说是各路神仙入场,彼此争斗。此处,从我个人视角来看,如今想进互联网大厂算法岗,学历、paper、有含金量的实习或竞赛三个维度至少要占有两个维度,再加上充分的面试准备,才能比较有把握可以上岸。所以,个人建议,之后的校招生们要充分考虑自己的个人情况,早做谋划,不要只是单纯觉得算法岗薪资高就盲目冲,这样很可能会冲得粉身碎骨,给个人信心造成较大挫折。

    讨论完自身三维要求后,接下来说下面试的准备,我主要集中在 推荐算法 / 机器学习 方向:

    • 1.1. 相关算法书籍的推荐

      • 西瓜书《机器学习》

      • 《统计学习方法》

      • 《百面机器学习》

      • 《百面深度学习》

      • 机器学习面试题汇总与解析(蒋豆芽面试题总结)(牛客网,一个往届校招生前辈很好的面试知识点总结)

      • 《深度学习推荐系统》(对于想要入门推荐算法的同学强烈安利,王喆老师在极客时间上还有配套的课程,也安利学习)

      • 可选项,主要针对一些有实际推荐算法经验的同学又想要更进一步加深理解推荐系统。于是安利一些推荐算法中经典的工业界paper阅读,此处简单罗列一些经典的paper:

        • 特征交叉文章:Wide & Deep + DCN + AFM + DeepFM + NFM + FiBiNet + AtuoFIS + FuxiCTR
        • 多任务 / 多场景建模:MMOE + ESMM + STAR
        • 长短期建模:DIN + SHAN + DSIN + DSTN +DIEN + SIM + MIAN + ETA

      在阅读这些相关书籍和文献时,建议自己多记录反思,因为很多基础知识需要反复记忆才能做到更好的理解,我个人则是喜欢用 markdown 的形式整理好电子笔记,以便之后不断翻阅。

    • 1.2. 关于刷题的建议,刷题上,我个人在本科时为了准备保研机试,在各大学校OJ网站上刷了大概有两三百道题;之后为了面试,在LeetCode平台上刷了也有500多道题。虽然我个人对于刷题的态度是觉得,如果只是对于面试而言,有些走偏,但是个人既然改变不了整个面试市场的大环境,建议还是多刷题。毕竟刷题给的正反馈往往较为明显,只要投入了时间,日积月累,各种题型的通过率也会越来越高。我个人在面试过程中,通常面试被考察的题都是见过的,此处建议面试前多看看公司最喜欢考察的题(https://codetop.cc/home)。推荐的书籍和刷题的题库有:

      • 《剑指Offer》 + 《LeetCode 101: A LeetCode Grinding Guide (C++ Version)》
      • LeetCode Top 100 + LeetCode Top Interview
    • 1.3. 关于推荐算法方向的一些公众号以及博客的安利,个人比较喜欢看一些博客分享一线大厂的算法工作心得,我觉得这是在和面试官沟通具体场景分析时非常有帮助的:

      • 微信公众号:DataFunTalk + 秋枫学习笔记 + 夕小瑶的卖萌屋 + 机器学习与推荐算法 + 淘系技术 + Hulu Beijing + 李rumor + 浅梦学习笔记 + 算法码上来 + 计算广告那些事儿 + CS的陋室 + 推荐道 + 包包算法笔记 + 推荐与广告 + 美团技术团队 等等

      其中 DataFun 的博客和它定期举办的分享大会强烈安利,里面都是一线大厂算法工程师的算法心得总结,不夸张地说,我在其中看到了我之前实习的很多前辈们还有之后遇到的不少的面试官的工作心得分享。

    • 1.4. 项目的准备,首先是建议最好有实习经历,如果没有则是把自己在学校参与的项目包装好。面试官在面试时只会围绕你的简历中的项目展开沟通,所以务必要对自己简历中的项目非常熟悉,否则,如果对于某些技术点不了解却写上了简历,被面试官戳穿是非常减分的点(很有可能该轮面试挂掉)。

    • 1.5. 面试的过程总结,个人面试经历而言,做题 + 机器学习八股一般会占据一半时间,另一半时间则是讨论项目还有发散场景的分析。关于发散场景的分析,我的个人建议是多看技术博客和公众号,对于自己即将面试的公司的业务线,尽可能多了解一些。可以通过询问内推人了解组内业务,同时如果能看到相关部门发布的技术文章,提前阅读等等,这些都会帮助在发散场景分析时,使你的条理更加清晰。以推荐算法岗为例,至少对于 召回 -> 粗排 -> 精排 -> 重排 有个宏观的理解,进一步地则是对于面试的公司的APP有所了解,即使之前没用过,也建议面试前下载下来自己翻一翻,比如很多APP的首页推荐、上下滑推荐、金刚位展示等等,这些要有个大方向的概念。同时自己可以试着想一想,如何去处理特定业务场景的问题:比如说是点击量过多的时候,如何利用用户的点击行为完成推荐;或者点击量较少甚至没有点击时,如何完成商品或者用户的冷启动;再发散一些,对于用户的多源行为,比如点击、喜爱、收藏、不喜欢等等不同的行为,如何综合考虑建模完成个性化推荐。此处简单罗列的几个问题,我都有在面试过程中被问及,当然这也是因为我个人有具体的大厂推荐算法实习经历,如果没有相关经验的话,也可以多试着想一想,这样在和面试官反问环节沟通一下,也是很加分的。

  • 二、外企算法岗+开发岗面试

    我个人完整经历的外企面试主要是春招所经历的,秋招因为投递较晚,所以没有参与秋招的外企面试,也是错过了最容易上岸外企的时机。我春招完整参与的外企面试有:NVIDIA + Shopee + Apple,其中 Apple 五轮技术面结束后,被泡池子最后还是挂了,另外两家则是面试通过,但 NVIDIA 又赶上了财报发布以及HC紧缩,导致至今offer审批迟迟未下,对我个人而言,也是非常遗憾。下面则谈论下外企的面试,关于刷题、算法方向准备、项目准备这些,都和我上文中的 国内算法岗面试 一致。接下来,主要说下开发岗的知识点准备以及英文面试准备:

    • 2.1. 开发岗知识点准备

      我的整个校招,只参与了NVIDIA的C++开发岗面试,所以自己准备得确实非常不足和仓促。如果不是自己本身是算法背景+三维勉强OK,面试官适当给予了放水,我想我应该是挺不到面试通过。下面主要说下个人对于C++开发岗的浅薄的准备:

      • 书籍:《C++ Primer》 + 《Effective C++》,这两本我自己在面试准备时顶多看了五分之一,还是很不充足的准备的,但个人觉得是很有帮助的。
      • C++开发面经与嵌入式软件面经(蒋豆芽面试题总结)(牛客网,一个往届校招生前辈很好的面试知识点总结)
      • C++语言八股文总结(主要是知识点罗列, 可以对着知识点查漏补缺)
    • 2.2. 英文面试准备

      面试外企时,大家经常讨论的就是英文面试。我个人而言,则是面试Apple和NVIDIA时,都遇到了较多的英文考察环节,但好在我遇到的都是国人面试官,所以考察一段时间英文后又会切换到中文面试。我个人的英语水平是,读写经过了读研时阅读大量paper加写paper的锻炼,基本上没有大问题;但是听说上,确实也是稍欠火候。所以,我的个人建议,除了多背单词以及多听英文视频的日常积累之外,在面试前可以突击下口语和听说,主要是通过跟读B站上的英文博主找找英文交流感觉,此处安利一些自己比较喜欢的UP主(没错,我是资深B站用户):

      • 英语老师Lee
      • BigShot英语
      • Ella聊美语
      • 篱笆老师(模拟国外大厂面试过程,还是很值得看一看的)
      • Norah脱口秀
      • Henry的小木屋(一个中国小哥搭讪国际友人的视频剪辑,学英文是次要的,主要是吃瓜~~)
  • 三、国企券商面试

    我是在春招考虑行业的稳定度时,才开始了解券商相关行业,选择这个行业的原因主要是它具有一定的稳定性且薪资上相较而言有一定的发展空间。除此之外,自己身边的一些朋友也有选择银行、券商等行业,和他们进行深入的沟通之后,也给了我一些想要试试的驱动。关于国内券商的面试,我个人觉得其实面试本身没有太大的难度,在学历达到公司的及格线之后,面试时衣着整洁,面试过程中尽可能条理清晰,表现得自信不怯场就好。对于券商面试官而言,我们这些CS专业学生都属于跨专业面试,问具体业务也很难说明白,所以面试其实还是一些软类问题,诸如性格、爱好、优缺点、挫折和成就等等。这里额外给一些我个人的准备心得和建议:

    • 3.1. 准备心得。我通常在面试每家券商时,都会打开对应的官网,浏览主要页面,把一些业务介绍整理到markdown文档中。同时对于自己面试职位的 JD 反复阅读几遍,理解工作的要求,并尝试发散思索一些我能给这个工作岗位带来什么样的帮助。至于能带来什么样的帮助,主要是结合业务特点,在大的方向上描述,比如,AI算法在金融行业如何应用、区块链技术等等,面试过程往往时间短暂所以也不需要做过于深入的阐述,主要是要踩住主旋律,有点类似于初高中政治类题目的答题技巧。
    • 3.2. 个人建议。如今在各个以码农为主的论坛中都呈现出,有券商选券商,三中一华是香饽饽的呼声。这主要是因为大环境经济下行的影响,导致大家都想要躺平、找到更稳定的工作。我个人了解的是,技术人员在券商行业中大多数还是属于支持类人员,也就是说,入职券商后所做的工作对于公司带来的直接价值以及对于自身带来的个人价值上的正向激励其实都很小,导致自身发展的天花板较低。大家经常说,在券商行业,年薪百万也不是梦,这主要是因为前台业务拉高了大家的期望,而其实CS专业学生一般入职,也主要集中在中后台岗位,还是吃大锅饭,薪资的天花板肉眼可见。同时,需要说明的是,券商行业还是会有加班,并不归属于大家所向往的955生活。所以建议想好个人未来的发展,对于好强的、热爱技术的同学,可能券商并不是好的选择。
  • 后记

    准备面试和面试中都是紧张且忙碌的过程,每一位找工作的人都会在其中品尝到酸甜苦辣,最后也闲谈下个人的几点想法:

    • 尽可能想好自己想做的方向,针对性地准备以及有效率地面试,面试其实并不推崇面试场次过多,因为它会消磨人的心性。以我个人为例,我自己则是一直在面试,试图寻找自己最想做的方向。但相应地,面试的起起伏伏把我的快乐都消磨殆尽,尤其春招时,感觉自己一直过得很焦虑,和朋友聊天也总是传输消极思想。这样的心态,其实已经有些扭曲了,在我后面结束春招时,失眠很快就缓解了,每天也都开心很多。
    • 尽可能地找校友或者师兄内推,充分利用已有的资源。内推除了让HR更容易从简历池捞出我们的简历之外,和内推人如果熟悉的话,可以多了解到该公司各个岗位的好坏,以及面试的考察重点,而这些都会让我们的面试准备事半功倍。
    • 每天保持适当的运动,可以散散步放松一下紧绷的弦。我自己春招过程中,几乎每晚都会绕着附近的一个湖走一圈,大概有四到五公里,在散步过程中我就是单纯地听歌,然后捋一捋自己的思绪。我觉得每晚的湖边散步很好地缓解了自己的焦虑心情,同时晚上保持一定的运动也让我晚间睡觉的失眠症状在一定程度上得到了缓解。
    • 对于面试,只要做到准备过程尽可能地用心对待,不让自己后悔;那么对于面试结果就要保持平常心,不要沉浸在一时的面试被挂的懊恼情绪中止步不前,做好查漏补缺即可。

最后祝愿大家之后的面试都能顺顺利利,早日拿到自己心仪的offer!

你可能感兴趣的:(杂记,算法,面试,数据结构,人工智能,机器学习)