如何在刚出来留学的4个月内上岸美企中厂SDE实习?

前言:19年入学以来,经历了三年半的本科与留学生活,如今已然上岸满意的厂和组。这段时光如白驹过隙,如石火光阴。我分享出我的上岸经历,在此抛砖引玉,如有错误欢迎指出。

本篇文章的核心是国外找实习经历分享,以供读者参考。此外,如果读者们对其他感兴趣,本人也乐意分享更多有意义的事情/攻略。共勉。同时打个广告,我正在维护一个开源的ML教学的项目。已经制作好了教材,编写成Jupyter Notebook;每个周末会上一次课程,学生来自985/211。如果你感兴趣想加入(student/contributor),可以联系我。

更新提示:

  • 更新于12.25,更新面试流程。
  • 更新于01.14,因为本人拿了好几个offer,所以这次更新的岗位是M公司(软件公司,为金融市场参与者提供交易,资金,风险和交易处理活动的产品)。见下文。
  • 更新于01.19,添加了coding test的题目/内容。

交代情况

  • 2019级,上海大学本科,计算机工程 ➡️ Alliance Sorbonne Université(索邦),计算机工程/计算机科学
  • 本科绩点:3.8/4.0,top 2%。
  • 本科获奖:本科生校长奖学金国家奖学金,美赛Outstanding特等奖等(感觉帮助不大)
  • 工作语言:English、Français
  • 目前大方向:AI Engineer

国外找实习经历分享

目标

现在(2022年)经济形势真的很差,通货膨胀严重。在这样的情况下,本人不得不同时准备DS和SDE两个方向的实习。此外,本人是今年9月份出国,寻找次年(2023年)时长6个月的full time实习。需要说明的是,正如我称我的学校为“找工技校”一样,我需要在学业中完成两个六个月实习。因此在准备这个实习时,我的压力会小很多。

简历背景

  1. 学校:理工科强校,找工强校,科研弱校,校企关系很好
  2. 专业:计算机工程/计算机技术
  3. 方向:Data Scientist/Software Development Engineer
  4. 项目经历:1项大厂实习经历、2项数据科学竞赛顶级奖项、1项商品推荐算法项目经历、校长奖学金、CS/DS科研/课程项目若干。
  5. 水平评估:学习能力强,奖项多,缺乏实战经验。🤒(自己评估的)。

虽然学习过包括操作系统、网络结构在内的计算机四大核心课程,其实我并不认可自己是正儿八经的计算机科班学生。在本科,我花了较多的时间在应用数学和科研上(比如统计、博弈论) ,对于运筹学、最优化理论研究较深,更加注重于机器学习理论层面而非应用层面。同时,我有几乎很少的前后端项目/学习经历。

公司实习投递Timeline

  • 9-10月份:修改CV和LM,使用LaTex。
  • 11月01日-10日:在学校的career fair上投递,效果不大,甚至在现在也没几家公司回复(没有拒信或其他任何相关消息,估计是他们计划1月初再开始发放面试)。
  • 11月11日-12月1日:海投,主要是找大厂的list,照着大厂一个一个投,大约投了100份岗位。同时,在这个阶段,我收到了超过10次面试,一般是电话面试+技术面试。面试准备得很辛苦。
  • 12月1日-12月15日:主要是面技术面/终面。
  • 12月中旬:SDE offer,上岸美企中厂(代称为A公司),组是自动驾驶的组。这家中厂牛逼到几乎所有资深机械专业工程师都必定会用到/知晓他们家的产品(具体的信息/感悟,我考虑在实习结束之后有机会再分享)。A公司坐落于科技园,1周35小时,WLB和福利都很好,总之很爽。😯个人对这份工作比较满意,虽然不是大厂,但是能学到很多东西。它在该领域是当之无愧top1的,能学到很多前后端之外的技术,这对于本人个人简历的打造是十分有益的。当然,本人未来并非想做Back-end/Full-stack Eng,本人对于职业规划有其他想法,这份实习只是远大计划的一步罢了。可能对大家的借鉴意义不太大。

A公司的面试流程:

由于保密协议的问题,本人的分享将会把多个公司的面试经历杂糅在一起,但是本人力求真实。

A公司的效率其实挺不错的:

  • 本人是听某位学长告诉我,可以试着投这家公司,A公司之前也在我们学校招过实习生。于是根据他的建议,我从官网上投了几个岗位。岗位偏向于算法和机械。
  • 一周后,我接到了HR的电话面试,在电话里她向我介绍了他们公司,但是由于我缺乏机械方向的专业背景,她在电话中向我介绍了另一个岗位。这个岗位偏向于算法和计算机。于是我接受了她的推荐。
  • 然后这一周给了我一个OA 🧑🏻‍💻,1h30min,题量是3道。题目不难,Medium,我差不多在1h完成,并且全部AC。
  • 过了OA后,HR立刻就和我约技术面试(HR+R&D 🧑🏻‍💼),在面试中,技术官问了一点BG,这部分是准备好的,所以基本上没什么问题。然后询问了一些关于我对他们组的工作的一些背景,我聊了聊我之前做过的一些算法项目以及对于该领域某些技术的一些理解,但是由于我对这方面了解真的不多,所以回答得也很浅。没办法,因为几乎没有课教过这个方向的知识,因此我的回答的主要目的是透露出我是一个爱做项目、学习能力强、数理基础强的人。再然后又问了一些其他技术问题,都比较基础。
  • 过了一周,HR给我发邮件告诉我一个好消息和一个坏消息。坏消息是,他们本来考虑录用我,但是由于他们组更想招能够留用的实习生(我实习完还要继续读书)。所以把我拒了,但是好消息是,她有另一个岗位,更加偏向于计算机(SDE),通过前面的面试,她觉得我有能力胜任这个岗位。于是,我接受继续面他们家的第三个岗位。😆
  • 一周之后, HR通知我去他们官网上投这个岗位,这个岗位是新挂出来的。我对这个行为的理解是,我应该是拿到了组内推荐。我感觉这是我上岸的一个重要的表现。
  • 我连续接到两个技术面试,面试不难,问了一些业务和一些关于工作能力的问题,没问太多的技术问题。感觉蛮轻松的,感觉就像是他们已经确定好人选了,所以面我只是走走流程而已。
  • 面完最后一个面试的晚上,我接到HR的电话,我被录用了。至此,折磨我两个月的找实习经历就此结束。薪资开出来也比较高,感觉几个月下来能把学费全部挣回来。后面正好是圣诞节,直接自驾游出去玩了。🥰
  • 祝一切顺利。🔚
  • 心理想法:感觉挺梦幻的。感谢之前的经历帮助了我,感谢贵公司看得起我,感谢前辈的帮助,也感谢运气。

M公司SDE offer经历

M公司是一家给fintech做软件的公司,虽然员工规模不大,但在该领域也是比较top的企业,雇主声誉名列前茅,开出来的薪资确实比较高(但是比前文提到的公司低一点)。希望后面有机会多多接触这种高福利公司。

M公司Coding Test:

总体难度偏中等,低于国内大厂难度。

  • 20min for 15 MCQ(基础扎实就没问题)
  • 90min for 3 coding problems (1 easy~medium, 1 medium, 1 medium~hard)
    1. Que1: hash map, easy,注意细节
    2. Que2: priority queue,难点在于优先队列的使用
    3. Que3: hash map, iteration, 难点在理解和算法上,代码逻辑简单
    4. 总结:都是情景带入题,需要较强地理解题目意思以及边界条件,并学会转化成已有的模型认知。注意各种数据结构的选取和使用。
    5. 碎碎念:有点后悔没有记录bat的coding test experience。不好比较不同公司的难度,但肯定不简单。

M公司技术面试

SDE岗位,投了1个多月才有HR回复,有一个HR面试,一个技术测试(基础知识+编程)和一个技术面试。总体来说,技术面试问题密度较高,效率也很高。技术面试时长1h30,同时有3位面试官,包括项目经历、基础知识(八股为主)、经济学知识(我考察的是如何投资效益最大化)、现场编程。难点主要还是扎实的基础/深度,和经济学知识考察。难度不是特别大,但是对于灵活反应很重要。面试官人很好,尽管我感觉我面试表现不好,但是他们还是很热心地鼓励我,会向我解释他们的问题,我说错了会纠正我。

在技术面试的第二天就拿到了M公司的SDE offer,主要内容是参与架构重组和代码验证的工作。没去的原因是,他们给我发面试的时间太晚了,我已经答应了另一家公司。而且考虑到这是一个服务于fintech的公司,所以担心tittle不够响亮,技术具有足够普遍性。

总结与反馈

  • 找实习真的很看运气。做好connection。这个东西只有在你结束整个流程之后,才会发现有多难、有多重要。
  • 多多学习,技术栈很重要,基础很重要。
  • 写好简历,准备好面试,面试表达很重要。
  • 平时多多积累,这是一个长期规划。要提前开始准备找工作/实习,给自己留好处理风险/意外的时间。

Q&A

  • 欢迎读者给出反馈。
0%