首页 > 本科暑期实习面经(腾讯天美、字节创新业务、网易雷火)
头像
GeekExplorer
编辑于 2020-04-16 20:02
+ 关注

本科暑期实习面经(腾讯天美、字节创新业务、网易雷火)

本科暑期实习面经(腾讯天美、字节创新业务、网易雷火)

个人简介

本人大三,就读南京大学计算机系,为了开阔眼界,提升工程能力,投了腾讯、字节、网易的暑期实习,笔面试全部通过,三家都给了offer。本人优势是学习成绩好,专业基础牢,数学思维强,劣势是由于转专业,项目经验较少,只有植物大战僵尸图形学绘图两个课程设计。

申请岗位

公司 岗位 部门
腾讯 软件开发-游戏客户端 天美T1工作室
字节跳动 客户端开发实习生 上海创新业务
网易雷火 游戏研发工程师(客户端) 未知

笔面试时间线

时间 公司 状态
3.4 网易雷火 网申
3.7 腾讯 网申
3.12 腾讯 初试
3.15 字节跳动 网申
3.20 腾讯 复试
3.23 字节跳动 一面
3.27 腾讯 HR面
3.29 网易雷火 机试
3.30 字节跳动 二面
4.1 腾讯 录用
4.7 网易雷火 一面
4.7 网易雷火 二面
4.7 字节跳动 三面
4.10 字节跳动 录用
4.13 网易雷火 三面
4.14 网易雷火 HR面
4.16 网易雷火 录用

项目经验

  1. 基于Qt的植物大战僵尸
  • 仅用四天,实现无尽模式植物大战僵尸,包括7种植物、6种僵尸和6种其他游戏元素。

  • 使用GraphicsView框架,分别实现场景、物体、视图。

  • 通过重写框架提供的虚函数,实现动画播放和碰撞检测。

  • 设计良好的类,发挥面向对象优势。

  1. 完全DIY绘图软件
  • 根据计算机图形学知识,自行实现算法,并提供精美GUI界面。
  • 二维图形绘制算法,包括直线、多边形、圆、椭圆等。
  • 二维图像变换算法,包括平移、旋转、缩放、裁剪等。
  • 其他实用功能,包括调色板、橡皮擦等。

腾讯面经

初试

这是我第一次面试,当然有点紧张。面试用的腾讯会议,面试官感觉比较木讷,但是出题友好。

开始是介绍项目经历,我主要围绕植物大战僵尸讲了讲,还用共享屏幕演示了,他也饶有兴致,问了不少实现问题。因为我的项目是个人开发,自然不在话下。

然后是手写代码,这里就体现出我的面试官出题友好了,考了三道大一难度的题目:

  1. 给定两个矩形的左上角和右下角坐标,判断是否相交。
  2. 给定一个只包含小括号、中括号、大括号的字符串,判断是否合法。
  3. 给定一个字符串表示的十进制数字,返回它的整型表示。

题目都是很简单的,这里就不细说了。小插曲是第一道我有点懵,感觉想了好久,还和面试官验证了几种解法,才想出一个比较啰嗦的解法,但实际只过了五六分钟。这里值得引以为鉴的是,遇到不会的题目,感觉紧张和焦躁是正常的,而且主观时间会过的很快。知道这点以后,就更应该看看客观时间,这样可以减轻压力。

最后问了未来规划,我说先实习熟悉业界,再读完研究生出来工作。读研一般在开发岗面试会比较减分,不过也不至于一棒打死。还有提问环节,我问了一下实习先做小项目练手还是直接做大项目,他说直接大项目,再有问了一些公司福利相关就不谈了。

复试

这次面试轻松的离谱,通过电话面试,一共半小时不到。主要问了一问项目经验和未来规划就结束了,差不多就是把初试再讲一遍。注意,这次面试官问我想做什么游戏,当时我对天美内部也不太了解,说只要是游戏就行。后来拿到天美T1工作室的offer,代表作是《天天酷跑》和《天天爱消除》,特别后悔复试没有直接说明。因此,建议仔细查查捞你的部门架构,如果面试官问起,尽量选择核心部门!

HR面

HR面是用腾讯上海公司电话打的,上午打了一次居然被我华为手机拦截了,下午我添加白名单HR才打通。HR应该比较年轻,估计三十不到。似乎HR喜欢围绕岗位类型提问,例如我投的是游戏客户端开发,意向事业部也是负责游戏的IEG,所以HR围绕游戏问了挺多问题,包括但不限于:

  1. 平时玩哪些游戏?在玩哪些腾讯游戏?
  2. 为什么选择游戏岗位?
  3. 比较喜欢哪些类型的游戏?
  4. 游戏有哪些地方吸引你?
  5. 除了腾讯还投了哪些游戏公司?

当然未来规划也是必不可缺,但是HR似乎对于保研咬的很紧,问了两次为什么读研,而且感觉有点劝退。总体来说大多数HR面都是比技术面容易过的,哪怕HR比较严肃或者喜欢施压,自己心态轻松一些,不要跟HR怼起来,应该都问题不大。

总结

拿到腾讯的offer更多的是运气吧,两次技术面都没有涉及多少技术问题,但是也有同学被问的很惨。另外感觉腾讯效率是比较慢的,每轮要过五六天才出结果,听说是腾讯喜欢养鱼?

字节跳动面经

一面

这是第一次参加真正的技术面试,是在牛客网面的,介绍项目就不谈了,技术问题包括以下内容:

  1. C++中类和对象的概念
  2. C++中conststatic的用法
  3. C++中栈和堆的区别,new的数据能否保存在栈上
  4. C++中privateprotectedpublic的用法
  5. C++中多态的实现
  6. C++中构造和析构函数能否是虚函数
  7. C++中vector容量调整
  8. C++中vectorlist的区别,如何结合各自优势
  9. 操作系统中进程和线程的概念
  10. 操作系统中进程通信方式
  11. 操作系统中线程调度机制
  12. 手写非递归方法求二叉树深度
  13. 一个小函数的编译结果
  14. 某道计网相关,记不清了

题目还是很基础的,唯一不会的是编译原理那道,只能从汇编以及分段的角度讲了一下。因为我擅长的编程语言填了C++,所以问了很多C++相关,这里强推牛客网的C++面试宝典,很多常见问题都能找到答案。

想要吐槽一下面试官,估计是在他宿舍面试,噪音特别大,还有室友大呼小叫,并且是站着面试,摇来晃去的,体验很差。

二面

二面跟一面天壤之别,体验好到爆炸。面试官戴耳机并让我也戴耳机,防止彼此声音混杂,而且常常微笑,又带有一种技术人的腼腆。他问问题也不太一样,是在出题面板当场写一小段代码来问,比如像下面这样:

class A {
private:
    int x;
protected:
    int y;
public:
    virtual void func() {...}    // or without virtual
};
class B: A {
public:
    void func() {...}
};
A* p1 = new A;
A* p2 = new B;
p1->func();
p2->func();

个人是非常喜欢这种画风的,毕竟"talk is cheap, show me the code",而且有助于区分背答案和真理解。手写算法题是给定一个01矩阵,求其中只由1组成正方形的最大面积。显然是用DP,十秒想到解法,一分钟优化到,两分钟就写完了,面试官好像很满意,还问了为什么我for循环写++i而不是i++,跟他说汇编里++i只要一个指令,他更加高兴了。

这次面试巨赞,甚至面试官直接说我是他面试的人里特别不错的了,当时就感觉很稳了。

三面

三面同样是在牛客网,字节的后轮面试官应该是可以拿到前轮面试官的评价的,因为面试官直接说前面两轮面试官对我的植物大战僵尸评价不错。他也跟我详细聊了一聊这个,对技术内容应该是满意的,但是对我的项目都是课程设计这点似乎不大满意。还有因为我的专业方向是计算机应用,没有学过软件工程和设计模式,他想问相关问题也没问起来,只好问了我学过的关系数据库和非关系数据库的区别。

划重点,戏剧性的来了!面试官问我C++内存管理有什么办法,而我在两小时前的网易雷火面试中被问智能指针,以前只看过一遍,当时就没答上来,在两次面试间隔恶补了一下,所以我故意回答智能指针,果不其然,他让我手动实现share_ptr,我三下五除二就写完了(一小时前才看过代码)。

这应该算是面试转折点吧,前面表现中庸,这道智能指针两极反转,面试官有点惊奇,后面又问了一些简单题诸如staticconst的用法等都答上来了。

话说提问环节我还问了还有没有技术面,他说没了,最后还有一轮HR面。结果过了三天居然直接给了offer,挺惊讶的。

三面的可供借鉴之处至少包括下面三个:

  1. 至少要参与一两个项目,否则简历只写课程设计会被鄙视。
  2. 每次面试结束要把不会的问题搞懂,很可能其他面试被问到。
  3. 把面试官引到自己会的东西上去,比如我没学过软工就说我的方向学过数据库,他问C++内存管理我就避开new的特性而说智能指针。

总结

字节的面试是挺严格的,技术问题非常多,但至少本科生面试不难,都是计算机核心课程里比较基础的概念和用法。字节效率很高,网申一天就收到面试通知,每轮过后一两天就有结果,少了很多等待的纠结。

网易雷火面经

笔试

网易雷火的笔试是四小时四道编程题,我两个小时AC三道,最后一题四元数变换和多叉树没有做出来。感觉网易雷火虽然开卷,但是难度挺大的,而且喜欢以游戏为背景出题,个人估计做对一道半就能通过。

一面

这次面试居然问了三个数学问题,一度怀疑我投的的数值策划:

  1. 已知游戏玩家男女比9:1,男性玩家扮演男女角色的比例6:4,女性玩家扮演男女角色的比例1:9,求一个女性角色是女性玩家的概率?
  2. 商店有4件武器和5件盔甲,从中随机挑选3件,求同时包含武器和盔甲的挑法有多少种?
  3. 给定一个4*4空间变换矩阵,求其中旋转、缩放、平移矩阵各是多少?

前两题都是高中题,后一题没有学过相关知识不会,面试官也表示理解。当然也少不了专业知识提问,一共三四道,只记得智能指针完全不会,后来趁着面试间隔恶补了一下,刚好在字节三面用到了。

二面

这是我目前最短的面试了,二十分钟就结束了。面试官是个中年大叔,估计35岁左右。他比较有特点的是,真的看了我的Github,觉得两个项目都挺不错。他还看到我刷题的库(其实经常拖更),问我做不做LeetCode,我说做了250道左右,然后就拿出两道LeetCode的题目问我:

  1. 给定正整数n和k,返回数字1~n中取k个数的所有组合。
  2. 给定二叉树的前序和中序遍历,返回后序遍历结果。

两道都是LeetCode原题,自然很轻松地写出来了,他很满意地结束了对我的提问。反倒是我对他的提问环节用了挺久,特地问了是做3D还是2D多,他表示雷火基本以3D为主。

三面

我的雷火三面挺惨的,面试官是技术总监,眼光相对高一点。自我介绍过后,面试官直接问了四个致命问题:

  1. 有没有运营自己的博客?
  2. 有没有参加过开源项目?
  3. 游戏引擎了解多少?
  4. 会不会追踪一些领域的热点?

前面三个我都是0,热点也只能说会看一些AI相关。然后他问知不知道AI在游戏领域有哪些应用,我把雷火宣讲的东西讲了一下,包括逆水寒捏脸、NPC战斗等等。算法是这样,只要求思路:给定一个数组,怎么分成两半,使得两半之和尽可能接近。这题我开始反应是枚举,再是基于排序做文章,最后才想到这是背包问题用DP。总之这次面完感觉雷火凉了,没想到一天之后还是收到了HR面邀请。

HR面

HR面花了将近一个小时,很不适应。自我介绍的时候,因为很多东西简历都有也没说,后来才发现HR手上居然没有简历。我介绍项目的时候HR喜欢深挖,但有些东西又怕HR听不懂也没法讲,感觉挺不自然的,还是喜欢技术面。比较有特点的是,HR问我寒假做了什么,我说主要自学AI相关的网课,然后列举了看Andrew Ng网课时做的一些应用,想不到没过两分钟她又问我用AI做过什么应用,瞬间脸黑。当然最后也问投过什么公司,有无offer,工资多少云云,我也没多想就如实说了。

总结

雷火的笔试我做的算很好的了,面试尤其是三面和HR面感觉不尽人意,最后侥幸拿到offer。总体来说雷火还是比较硬核的,建议刷题提升机试并且学习游戏引擎,雷火对于专业课诸如OS和计网的考察倒是几乎没有。值得一提的是,之前听说雷火喜欢养鱼,发offer较慢,没想到我HR面之后两天就发了offer,很是惊喜。

更多模拟面试

全部评论

(15) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐