多益网络二面(技术面)

岗位是游戏客户端

oc了,这边发一个面经,后面的答案不完全是我答的,我自己整理的时候查了一些资料整理出来的答案,仅供参考

1.说说渲染管线

主要分三个阶段:应用阶段、几何阶段和光栅化阶段

应用阶段:准备数据如模型数据、光源信息、摄像机信息等,然后剔除不需要渲染的物体比如不可见的物体,最后设置一些渲染参数如材质、纹理、shader等,然后调用draw call指令。

几何阶段:主要是顶点着色器进行数据计算的过程,流程为顶点着色器、曲面细分着色器(可选)、几何着色器(可选)、裁剪、屏幕映射。首先顶点着色器会将模型空间转化为裁剪空间,并且输出顶点的颜色信息,然后就是根据我们相机视野进行裁剪,剪去我们看不见的东西,然后就是屏幕映射,有两种投影方式:正交和透视,将三维空间转化为我们看到的二维画面。

光栅化阶段:主要是Fragment Shader进行数据计算的过程,首先是获取三角形边界,然后进行颜色填充,其中会对纹理信息、光照、着色方式进行计算,最后形成一个个片元,然后还有一些深度测试、模板测试之类的东西,最后混合在一起,会有一些半透明物体这种情况。

2.有了解pbr(基于物理的渲染)吗?

3.为什么不继续学OpenGL进阶了?

后面去学unity了

4.有学c#吗?学了多久?

没有系统的学过C#主要是已经学过C++用起来没有太大差别。

5.有了解过智能指针吗?说说他们三个的区别

Unique_ptr:确保只能有一个指针指向资源,独占式,可以通过Move移交权限给其他Unique指针。

Shared_ptr:共享指针,可以由多个指针指向资源,并进行计数,当没有指针指向资源时自动释放。

Weak_ptr:通常和shared_ptr一起使用,可以获取shared_ptr的一些状态信息,还可以用来解决Shared_ptr的循环引用的问题。

6.什么是编译和链接?

编译:将高级语言转化为机械语言,让机械能看懂我们程序的代码

链接:将我们的代码转化为可执行文件,把一些系统组件和代码整合在一起,比如我们引入的库和标准库。

7.深拷贝和浅拷贝的区别

深拷贝会完全复制一份新的对象,包括对象中里层的子对象,而浅拷贝则仅仅复制最外层的对象,更深层的对象将与原对象共用。

8.虚函数是怎么实现的?

C++11新特性,final表示虚函数不能被继承,override:检查派生类虚函数是否重写了父类的虚函数,没有重写会报错。

虚函数表:用于存放虚函数的地址,一个含有虚函数的类至少会有一个表,该表一般位于某类型的对象实例在内存中的最开始的位置。虚函数用虚函数表和虚函数指针实现多继承则会有多个虚函数表,每个父类有一个,而自己的虚函数放在第一个表中父类的虚函数指针后,在重写父类虚函数后放在每个有该方法的父类的虚函数表的最前方。

9.多叉树和二叉树的区别

多叉树最多拥有多个子节点,二叉树最多拥有两个子节点

10.后序遍历是怎么实现的?

假设有一个根节点,根节点有一个左子节点有一个有子节点,首先先遍历左右子节点,最后遍历根节点,也就是指在遍历时最后遍历父节点。

11.讲一讲进程、线程和协程

进程:进程是程序一次动态执行的过程,是程序运行的基本单位,每个进程会有独立的内存空间,不同进程通过一些通信方法来通信:如管道、消息队列、共享内存、信号量、信号和Socket。

线程:一个进程中会有多个线程,是CPU调度的最小单位,各个进程共享一个进程的内存,不同线程之间主要通过共享的内存通信。

协程:一个线程中会有多个协程,协程完全由用户进行控制,是一种用户态的轻量化线程。

12.有了解排序算法吗?归并排序怎么实现的?时间复杂度?空间复杂度?是稳定的吗?

有,时间复杂度O(nlogn),空间复杂度O(n),归并排序是稳定的排序

13.算法:实现归并排序

14.期望薪资是多少?

反问:

1.工作量无法预估时大概怎么做的计划?

2.团队交流是面对面交流吗?

#我的实习求职记录##晒一晒我的offer#
全部评论
一面也是技术面吗
1 回复 分享
发布于 2023-09-12 14:31 四川
老哥打算去了吗?这个offer貌似还有时限
1 回复 分享
发布于 2023-09-12 20:00 四川
老哥他这个offer时限在哪看啊
点赞 回复 分享
发布于 2023-09-12 11:30 浙江
笔试完多久约面阿 哥们
点赞 回复 分享
发布于 2023-09-13 10:26 北京
问这些吗?! 我投的游戏客户端开发,但是写的全是JavaWeb的简历,现在居然准备专业面试了?!
点赞 回复 分享
发布于 2023-09-24 13:58 陕西
朋友从二面到oc中间间隔了多久呀?
点赞 回复 分享
发布于 2023-10-31 09:22 湖南

相关推荐

11-26 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
牛客895077908号:佬 什么双非硕啊
点赞 评论 收藏
分享
10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
评论
21
93
分享
牛客网
牛客企业服务