2020年 腾讯/网易/字节 春招秋招 面试记录

2020年 腾讯/网易/字节 春招秋招 面试记录

在3月初开始忙着找实习,投了挺多公司,参加各种笔试,面试。后来实习没去,准备考研,秋招就随意投了网易和腾讯,没想到突然收到网易offer,便放弃考研,记录下半年来的面试经历。PS:时间久远,上半年很多面试细节忘了

上半年

3月初刚开学,非常繁忙,投下的第一家是腾讯,那时刚开始提前批,找学长拿了内推就投了,此时我没刷题,没复习任何课程,白板一个。

一星期后,腾讯后台开发面我,我投的是游戏客户端(当时满脸问号),想着第一次面,去涨涨经验,果然白板上去,岗位还和我投的不一样,双方尴尬十几分钟,草草挂了电话。

过几天有了客户端面试,这次是魔方工作室,依旧白板上阵。。。

腾讯

魔方一面

先问了c++基础

数据结构:树相比于其他数据结构的优点,为什么有这些优点,

快速排序算法具体

c++: malloc申请到内存的详细过程,

堆内存区域与栈内存区域

返回一个结构体有什么问题

缓冲区溢出问题

操作系统:分配内存的过程,

管理内存的方法,为什么要管理内存

什么是虚拟内存

c# 反射,反射有什么用,从语言特性上说明反射如何实现

Unity 项目上 大地图生成是如何实现的,跑酷游戏实际的解决方案,为什么速度块会穿过碰撞体,如何避免

lua语言(无,跳过了)

图形:前后物体先渲染后渲染,shader

没想到过了,稀里糊涂的都没怎么答上来。

魔方二面

C# 编译过程

C#有几种构造函数,析构函数

图形学:直线与三角形相交算法

A*算法寻路过程,在我项目里的适用场景,又问了英雄联盟地图中怎么实现的自动寻路

看你用过行为树插件,原理是什么

TCP/IP 三次握手 四次挥手

设计模式观察者模式,如何在C#里实现,委托与事件的区别

C# GC机制-----字典string -Object object被删除可不可以再用这片内存

项目:配置代码生成怎么做的,动态生成代码可以吗.怎么动态生成代码

问了OpenGL和C++相关的问题,奈何我问题都听不懂

问得我当场去世,二面挂

天美一面

最随意的一次面试,上来就问项目,面试官很多疑问我无奈当场屏幕分享给他演示,结果一演示就是一个小时,中间给他讲了实现的算法,各种细节,问了挺多unity相关问题,后来面试官有事就走了。无语

天美二面

下午面完一面,当天晚上,突然一个电话叫我面试,毫无准备,而且是接着上面的问,面试官换了个人,难道一面的时候他在场但没说话?又谈了半个小时,后面问了碰撞检测算法,没答上来

这个项目是去年做的,很多细节我自己都忘了,而且算是半成品,没有好好想过后续发展,可惜了,二面挂

字节跳动

游戏客户端一面

面向对象概念

排序算法随便说一个

说说A*算法

设计模式,能说多少是多少

说说MVC模式

c++中的内存分配方式

c++空类中有什么函数

TCP/UDP

线程与进程的概念

Unity是多线程还是单线程

Unity协程是如何实现的

Unity脚本生命周期

说说渲染管线

详细一点,说说光栅化步骤做什么的

Shader中fallback做什么的

点乘和叉乘的概念

项目中比较满意的地方,怎么做的

游戏引擎一面(当时没做记录,很多问题已经忘了)

排序算法

c++动态链接与静态链接

图形:光照模型,光删化

给一个数组a,从数组里取任意个数,这些数的和等于x,求所有可能的组合

网易互娱

1.const

2.struct里一个int 一个char 那么长度是多少

union 里一个int 一个char 那么长度是多少

3.虚函数原理

4.一个vector有10个成员 有一个迭代器指针指向第九个,如果往里面加100个元素

会发生什么

5.vector初始化注意什么

6.vector 遍历的同时删除最后一个会发生什么

7.new、delete、malloc、free关系

8.new实现原理

9.一个空类的大小

10.一个空类+纯虚函数的大小

11.每各类都有构造函数吗

-----------------------------开始敲代码

构造函数初始化列表是怎么做的?写出来

他们的顺序呢

单例怎么实现的?写出来

静态类里面有什么要求?写出来

静态函数有什么要求

换个思路怎么做单例

虚继承知道吧,有什么用 你写出来我看看

左值与右值是什么 举个例子写出来

右值引用,,你写出来我看看

C#

ArryList 与 List的区别

又回到了c++

C++

map的结构

红黑树的效率

输出map是什么顺序

平衡二叉树的查找时间

平衡二叉树高度为k 那么叶子节点是多少个

-----算法---

闲聊: 你随便写个消息框架我看看(又回到了面试)

秋招

腾讯

数组与链表的区别,各有什么优势

c++一个类在内存中的结构(就是c++内存模型,全局变量区,代码区,常量区,堆区,栈区)

c++ map中用的什么数据结构

c++如何调用C函数 (extern C)

c++中一个struct里面一个char 变量一个int 变量,结构体的大小是多少(c++内存对齐机制)

union与struct有什么区别

平衡二叉树

红黑树的概念,在什么地方有应用

float位数,32位怎么构成

float 中与0比较有什么问题

虚拟内存

unity渲染管线

渲染管线中模板测试,深度测试

unity图集

网易互娱

一面(一个半小时)

前半小时给一题算法,现场编程

输入二维数组(m行n列),每一行已经排好序(升序),而且数字0表示该行结束,输出所有数字的升序排列(要求时间复杂度最低)

例子:

输入:
1 5 0 0 0

2 3 4 0 0

1 3 6 0 0
输出: 1 1 2 3 3 4 5 6

类似LeetCode困难题,归并排序思想,最低时间复杂度m *n * logm,其实不难,容易理解

class A
{
public:
virtual void f()const
{
cout << "A" << sizeof(*this) << endl;
}
};

class B :public A
{
public:
void f() const
{
cout << "B" << sizeof(this) << endl;
memset(this, 0, sizeof(
this));
}
int a[10000];
};
int main()
{
A pa = (A)new B;
B pb = (B)new A;
pa->f();
pb->f();
return 0;
}

代码输出什么,如果把A类中f的virtual去掉输出什么?

(没有virtual时A1 B40000 有virtual时B40004 A4,这题真的绕,加了虚函数区别很大,类里多了虚函数指针和虚函数表)

memset(this, 0, sizeof(*this));这行代码有什么问题

计算机网络中三次握手,四次挥手

tcp与udp区别

之后问了用udp的一个场景设计,答得不好

虚拟内存

hashmap中如何确定key,发生冲突时有什么解决方法

给一个能随机返回0-m中一个数的函数,怎么获取0-m的随机排列(不能有重复的数字)

二面

1.智力题 :1000人中有一个新冠患者,试剂瓶1个小时获得检测结果,需要1个小时找出新冠患者,那么至少需要多少瓶试剂?

2^10=1024 >1000 我当时答案:10瓶 1瓶可代表两种状态,10瓶可以代表1024种状态

面试官要我具体写出实现方案(还要我在屏幕上打出来) 具体方案:二进制对人编号,二进制位中第几位是1则需混合入对应的试剂瓶检测 如9号人 二进制编号 1001 ,它的第一位和第四位是1,就放入1号瓶子和4号瓶子检测,最后10个瓶子检测结果有则代表1,无则代表0 比如试剂检测结果为 0001011010 可以确定90号是患者

2.实现洗牌算法,现场编程,写完后还要我证明算法有效,我说每一个数字出现在任何一个位置的概率相等,都是1/n,说明这算法就是完全随机

3.在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。

输入:

1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0

输出: 4

LeetCode中等题(221) 二维数组动态规划,现场写完了有点错误没调试出来,就和面试官说了思路(紧张!)

4.现有一个表,其中有大量ip地址和其对应的城市,如何快速查询一个ip对应的城市

当时说了一堆方法,竟然没想到二分法,答的不好

5.问项目,问我之前做的东西,然后询问了其中细节,都一一回答了,没什么问题

面试官有时停顿沉默一会,两人都不说话,气氛莫名尴尬,后面还有点时间就闲聊了会,问我玩啥游戏等等就结束了

结束

本来5月就准备考研的,秋招我就随手投了下腾讯,网易,笔试面试临阵磨枪,甚至腾讯就提前批面了一次,正式批笔试都是瞎做的,9月最后一次面完网易就复习去了.没想到一个多月后网易发了offer,最终还是决定去网易吧

posted @ 2020-10-30 17:47  l欢  阅读(342)  评论(0编辑  收藏  举报