zoukankan      html  css  js  c++  java
  • 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,最终还是决定去网易吧

  • 相关阅读:
    抽丝剥茧设计模式- 责任链模式应用场景
    抽丝剥茧设计模式-工厂和抽象工厂模式
    抽丝剥茧设计模式-你真的懂单例模式吗?
    抽丝剥茧设计模式- 啰嗦几句
    生产环境ng配置
    Linux命令
    内容过滤报错
    user 报错
    cxlabel 显示不全的解决方法
    关于SQL事务的一些坑
  • 原文地址:https://www.cnblogs.com/luhuan1/p/13903403.html
Copyright © 2011-2022 走看看