实习分享(第六弹)
实习分享(第六弹)
George_Plover 的面试分享
个人情况
无实习经历,无项目经历(除了课程项目),无科研经历。课外主要经历是ACM比赛,取得过ICPC/CCPC金牌。
计划本校保研,但是想尝试一下实习,想知道工作是一种什么样的体验,想学习一些知识技能。
还有就是因为平时写的大量代码都是竞赛代码,这在实际应用中没有什么价值,因此我想去尝试一下实习。
考虑到个人的未来计划(不打算直接就业)和个人比较糟糕的 multitasking 能力,只打算暑期实习两个月。
简历准备
用 【超级简历】 的模板准备了一份英文简历。至于为什么是英文,是因为最开始打算去投 Google 的,英文简历是必要的。
主要填写了竞赛经历、课程项目经历(C++面向对象、数据结构、五级流水线、数据库web和B+树)、组织经历。
面试经历
Google SWE
投递简历
因为之前有同学推荐,再加上校赛赞助商 Google 的宣传,我打算去投一下 Google SWE 。
不过期末季比较忙,导致最后在实习项目简历 ddl 前一天(2022.01.17)才投出去。
结果
自此石沉大海。 至今没有任何回应……
腾讯 天美 游戏客户端
投递简历
参加了腾讯 ACM Open Day 活动,有机会听了HR的一些介绍,HR建议我去投北极光工作室。然后我试着投了一下。
不过中途被打断了,有个学长(似乎是ICS的TA)在天美说他们工作室在招实习,于是我改投天美了。
技术栈基本都是C++。
据说这个组在做 刺客信条手游。: )
一面
开视频面试,有两个面试官,一个问C++基础知识,一个问游戏算法相关知识。
问了一些 C++ 面向对象的内容。
- C++ 虚函数。new delete 的实现原理。
说实话,我没怎么准备这些内容……凭着模糊的记忆描绘了一下虚函数。
new delete 的原理我直接瞎掰了(以至于下来都不知道自己是怎么扯的) ,也不知道对不对……反正面试的时候就拉扯……
- 快速排序算法的时空间复杂度分析。
- 开放问题:平面上10万个点,如何快速查询一个点周围距离不超过10的点的数目?
让我想到了一个平面最近点对的经典问题,我感觉KDTree可以做(但其实没想清楚细节,甚至正确性有没有也不知道),于是管不了那么多了就给面试官说用数据结构KDTree。
面试官又问还有没有其他做法。我又给了一个分块处理的思路。
我觉得,开放问题,思路应该比细节更重要吧,既然是开放问题肯定很难有标准答案的,因此重要的是向面试官展现你的思路和思考过程。
- 如何判断两个方形是否相交?(边不一定与坐标轴平行)
游戏一般都涉及到图形学、计算几何相关的算法。这似乎是一道经典题目,不过我没有做过准备。最后给出的方法是分别判断四条边是否有交,再判断有没有包含关系。面试官说还不够优秀,判断的东西太多了。
二面以及之后
之后都是电话面试的形式了,问的问题都是个人规划,实习时间,询问战胜困难的经历之类的问题,和专业知识关系不大。
个人规划上问到我是不是要读研究生,我还是如实回答了是。
结果
最近收到了offer。
华为 计算产品线 软件开发工程师
投递简历
因为去年参加过ICPC华为训练营,今年寒假收到了HR的联系和关照,交流之后把投向了计算产品线。
机考
一共三道题目,分值100、200、300,给2小时做题。
第一题编程基础,后面两道题都涉及算法和图论了。
可以多次提交,每道题有部分分,每道题取最高分提交为最后成绩。
凭借算法竞赛经验拿到了满分。
一面
问了一些课程项目和专业基础知识,最后有一道题目的现场编程。
五级流水线:简述五级流水线组成,问了实现流水线过程中遇到的困难。
数据库:问了事务、锁相关知识点。问了蔟聚索引的意义。
计算机网络:问了IP协议在哪个层,TCP/UDP区别。
编程题:一个宽度优先搜索的基础题目,问从起点能否遍历到所有的结点。
非常值得庆幸的是,面试官问的专业知识都不太深入,刚好是我还记得一点的。
如果问什么进程线程通信、缓存内存、inode什么的,没准备真的不太答得上来。
二面以及之后
和腾讯类似,问的问题都和专业知识关系不大。
结果
最近收到了offer。
感受和体会
- 感觉面试官会从简历角度和面试者自我介绍的内容来问问题,因此尽量把话题往自己熟悉的方向上引。
- 遇到不会的问题可以先给出自己的思路和方向(有可能获得面试官的提示),尽量不要尬住。
- 最好还是复习一下专业基础知识和自己做过的项目。
- 然后就是要熟悉基础算法,达到能够当场写的熟练度。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!