从去年十一月到现在陆陆续续面试了好几家公司实习,做个简单的记录供大家参考吧,个人背景是某211大三的科班,之前没有实习经历
按照时间线:
这是我第一次面试实习,个人觉得答的很不好。之前没有看过微软相关的面经,也没有准备coding。关于个人经历和项目的考察大概十五分钟。然后就是先口述一个算法:一个二维矩阵中有分散的0和1的点,每一次的状态变化都是把前面的状态中一的周围四个点变为1。一开始思索好久也没有头绪,比较尴尬,后面在面试官的一些引导之下想出来了深搜的思路。但是因为基本没准备算法和coding,写了二十多分钟程序但是也不能成功运行。最后反问环节简单问了一下工作内容和待遇之类的,草草结束。不出意外三天后收到了微软的英文感谢信😂
上来就是简单的自我介绍和项目介绍。接下来我们聊了写机器学习相关的问题,决策树,聚类算法等。后面又进一步衍生到gpt模型,自然语言处理,agent应用等。然后是口述了两个算法。一个是类似力扣爬楼梯问题的升级,动态规划的思想。另外一个是力扣第一题的两数之和,我不假思索就说哈希,但是面试官说他不想用额外的空间复杂度,思考两三分钟后我说出了一个排序的思想。接着是做了一个牛客上面的题,因为面试是在牛客上面进行的。求数组中第K大的数。这个题当时想到了是用快排思路做修改,但是最后也运行成功。后面面试官说我个人能力还可以,想和我沟通入职时间。似乎360的招聘流程比较简单,一面过后就可以沟通入职?然后还主动和我介绍了他们的业务和工作,但是因为他们项目很紧急,需要实习生offer后立马到岗,而我当时没有很充裕的时间,我就婉拒了。
蔚来是我在boss上面海投的,没想到他们约我面试了。开场面试官先主动介绍了他们的业务,主要是要让蔚来汽车上的语音助手接入大模型,做一个更好的人机交互和车辆控制。因为我一直以来对于自然语言处理和大模型这一块很感兴趣,学习了一些相关的原理,也主动去了解和学习过一些相关的技术和原理,对于技术这块的问题和面试官聊的很投机。然后因为个人有一些深度学习的项目,又和面试官聊了些深度学习项目相关的问题,比如正则化,卷积网络,RNN和LSTM等。最后是一个coding,找到链表的倒数第k个节点,我也很快就有思路,五分钟就做出来了。反问环节问了一些工作技术,学习建议之类的。一面结束后半小时就约了二面。
二面的话更加注重我的项目本身,问了很多深度学习的问题。因为我做的项目比较基础和简单,面试官直接指出了这个问题。后面就是一个代码题,手动构造稀疏矩阵的数据结构,实现稀疏矩阵的加法,稀疏矩阵的加法用三元组解决即可。最后有一些bug在面试官的引导下成功解决。反问环节问了面试官个人评价和发展建议。二面后一周收到了感谢信,可能是二面面试官觉得个人经历不够match挂了吧。
一面和二面都在同一天,这似乎是百度特有的快速流程?
面试是在百度自己的如流平台进行。一面面试官比较重基础,简单的聊了个人项目经历后问了几个C++的问题。然后就开始算法题的拷打,百度是直接共享屏幕coding。1.数组中只含有1和2找1和2个数相同的子序列,动态规划解决。2.合并有序数组,双指针。3.求连续子数组的最大和,也是动态规划。都快速做出来了,当场约了晚上二面。
二面似乎是leader面,上来也是简单问了一下项目我之前项目,聊了一些深度学习相关的东西。然后就是coding,要求实现两个排列好的数组求中位数,我一开始做的是双指针,他问我能不能二分优化,当时卡壳了向量好久,最后是在对面的引导下做出来了。反问环节问了一些工作相关的内容和他们的实习生培养规划之类的。
感觉面的一般般,后面也没有回信了。。。
感觉元戎的一面也十分注重基础,问了关于C++11特性,vector和dqueue区别等。接着是问数据结构的一些问题,然后让我手搓了一个树的层次遍历。然后面试官就自己出题,写函数计算两条直线的夹角,脑子卡壳了不知道怎么做。感觉数学知识没有储备够,后面在面试官引导下有了思路。接着又做了一个计算点到直线距离的函数。我直接是计算垂线K值解决的,后面面试官指出他们的业务上一般会用向量乘积和三角函数的思想解决这个问题。感觉一面的面试官比较严肃,最后环节反问了他们的业务和具体工作
二面的面试官很和善。主要内容偏深度学习相关,问了CNN,RNN,LSTM,注意力机制,bert模型,GPT模型等。然后讨论了一些我的项目,接着让我写一个算法实现图片的极坐标展开。一开始不理解图片的极坐标展开是什么,面试官和我解释了好久相关的知识,最终在他的引导之下有了思路写了程序,但是没有能够成功运行。两场面试下来都感觉元戎对于数学这方面很看重🧐
三面聚焦在深度学习和相关的技术上。接着是和我讨论如何实现一个算法去拟合出图中所有散点的直线。我当时提到了最小二乘法,一次基础上面试官以深度学习的思想来带我实现这个算法,显示提出loss,即计算点到直线的竖直距离,然后是确定优化目标,就是计算所有距离和的平方最小,然后是求导解决问题的思想,最后搓出来了一个最小二乘法拟合直线的算法也运行通过了。反问环节问了一下组内人员规模和分工,上线的产品等。
1.8 元戎启行开启offer沟通
小米我也是海投了不少岗位,没想到这个广告推荐算法被约面了。开始面试官比较注重机器学习,问了一些决策树算法,然后是广告点击率预测ctr预估等相关的一些知识,答得不太好,准备不够充分。接着是写一个算法合并K个有序链表,我直接用了优先队列实现,后面面试官的引导之下想到了分治的这个思想。最后是闲聊和反问,面试官也主动给了一些学习方向和建议。总体感觉聊的不太投机,之前对于广告推荐算法这方面的工作准备不多,不太能聊,几天后看进度挂了
本来不是投的这个岗位,应该是被捞了吧。约面约的很突然,对于这方面也没什么准备,面试面的内容很综合。上来简单了解了项目和个人经历之后,就让我手搓一个深搜算法,接着分析复杂度,这里一时间忘记要算边的复杂度了,面试官也没有提示,只会和我说错,重新想😂卡壳的有点尴尬。然后是宽搜算法分析复杂度。接下来是问排序算法的复杂度分析,排序的稳定性。然后又问了一些操作系统的问题,进程和线程的区别,进程之间的通信,缺页置换的算法。接着问C++11的特性,智能指针的原理,还有一些很底层的问题,都没怎么答出来,感觉面的比较尴尬。最后是反问环节,问了他们对于实习生的要求,面试官说重基础,他们对于底层的了解很看重,然后是聊了一些具体工作和未来规划。面试结束之后也杳无音讯了。
面试了那么多家最终也就元戎走到了offer阶段。元戎给到了一个特别高的base以及一个可以转正机会。因为家在广东,他们也接受我寒假在深圳工区工作,开学后转到北京工区。感觉开的条件很棒没怎么犹豫就接下来了。
两个月的实习面试经历,从一开始面试的手足无措,后面意识到自己coding能力缺失,在力扣刷了一些算法,并且主动去学习工作相关领域的前沿知识。每一次面试,都是一个经验积累的过程。这段时间能够明显感受到个人能力在不断长成长,其实是一段不错的锻炼经历吧。
最后希望这个面经可以帮助到你们,也祝愿所有的同学都可以收到心仪的offer😊