字节跳动 游戏开发 c++岗位面经
2021-01-13 11:32
标签:访问 域名 其他 随机 另一个 荣耀 会话 赋值函数 并且 一共三面+hr面 一面: 问了我笔试题没做出来的几题有什么思路,还问了我spfa的复杂度,其实是O(VE) 而我答了O(kE)。。。 应该无伤大雅 OSI七层模型,具体都是做什么工作的: 物理层、链路层、网络层、传输层、会话层、表示层、应用层 tcp、udp是做什么的: 是传输协议 tcp、udp有什么区别: tcp是面向传输、稳定的,udp是面向非传输、不稳定、快速的 为什么说tcp是可靠的?: tcp有握手挥手机制、超时重传机制、滑动窗口机制、拥塞控制机制 具体解释上述4个机制: 略 解释内存对齐: c++ 结构体的机制,例如char a;int b;char c;按4字节对齐,共占12个字节 为什么要有内存对齐:并不是所有的机器都可以读取非内存对齐的代码和数据,因此内存对齐是为了保证兼容性 post和get区别: 都是http的传输方式,get可以直接在url中携带数据,比较不安全;post不能在url携带数据,较安全;并且get方式有幂等性(幂等性就是做n次get请求,结果应该是和做1次get请求等价的) B、C继承自A,D由B、C集成而来,请问D有几个虚函数表?:D本身有来自B和C的虚函数表,D自己有虚函数表的话,会放到第一个虚函数表里,应该是2个(并不确定) 解释虚继承: 上述的情况会出现B、C里都有A的虚函数表的备份,导致D中同时拥有了2份A的虚函数表,虚继承就是声明,共享这个类的继承父类,使得B、C中的A虚函数表为同一份,这样在D中就不会有冗余的A虚函数表(虽然按照面向对象的思想并不推荐这么编写类关系) 子网掩码的作用: 划分子网 请随便说出一个ip地址: 胡扯了一个192.168.x.x c++的多态? : 分为2类,静态多态和动态多态,静态多态由 重载和模板类实现,动态多态由虚函数继承实现。 一个空的类,系统会默认给他什么函数?:六个,空的构造函数,空的析构函数,赋值函数,同类构造函数,取址函数,常取值函数 析构函数具体是做什么的: 并不清楚,私以为是释放内存,但是被质疑了 一次完整的http请求经过了什么?: 从域名解析,浏览器dns开始、本地dns、dns服务器,找到ip地址,发送http请求,得到发送来的html网页,浏览器解析,得到画面 tcp握手为什么不是2次也不是4次而是3次: 2次会导致,A发了一个包,过了很久到达B,B以为这是握手的第一次发包,因此开始准备传输,而A并没有准备建立连接,因此会浪费B的资源。不是4次的原因: 挥手是4次因为2、3次之间有数据传输,握手过程类似但是没有数据传输过程,因此2、3次可以合并,因此最终为3次。 手写代码: 无 二面: 问了一些其他内容 你认为做游戏服务器需要掌握哪些技术?: 额 你认为例如王者荣耀这样的游戏,哪些事情是由服务器完成的? linux用的多吗? 查看内存的指令?: top 数据库有哪些引擎?: InnoDB、MyISAM,区别? 前者支持事务,后者不支持;前者是聚集索引,后者是非聚集索引。 B树和B+树的区别? 后者数据都在叶子节点而前者不是;并且b+树的所有叶子节点可以形成链表,操作更快 索引的结构:B+树 数组和链表的区别?:数组的存储是连续的,支持随机访问,链表可以是不连续的,不支持随机访问;数组的查找操作更快,链表的修改、删除、插入操作更快。 TCP、UDP区别: 略 TCP怎么保证可靠传输: 略 TIME_WAIT是为了什么: 为了防止数据没有传输完毕,经过TIME_WAIT时间后,可以确定服务端没有数据要发送,可以安全结束传输。 怎么在链表里找倒数第n个元素: 2个指针,一个先走n,然后一起走,前面的到头了,后面的就是倒数第n个 双向链表怎么做快速排序: 掌握快速排序原理即可实现 然后问了怎么在一个数组里,找2数之和为t,允许排序: 先排序,然后指针一前一后,一个推,另一个跟着推,保证两数之和小于等于t,出现2数之和为t停止,复杂度O(n) tcp怎么同时中断连接: 不会 有什么要问的问题吗?:请问实习生需要掌握什么技术呢? linux开发技术、c++技术 三面: 有保研的打算吗: 没有,因为学分绩不够,想选择直接就业 那么为什么成绩不够保研呢,是不是没有好好学习: 额,因为我们院会把 英语、体育等课程记录学分绩,并且我并不希望重修来刷学分绩 其实说到底还是为什么没有好好读书呢: 额,有点压力面那味了,很尴尬,只能把话题引到我院的课程安排上了: 重要课程在大三,决定学分绩的课程在大一大二,大三的努力不支持我保研。 写个非递归的先序遍历吧: 你怎么这么熟练,是不是事先准备过了 写个strcat吧: 写出来了 写个链表删除吧: 写出来了 额,讲了一波高中NOI经历,然后面试官了解了一下高中的经历,还问了一下有参加哪些比赛 课外有过哪些代码项目吗: 比较尴尬,基本没有 hr面: 对游戏的看法 几号可以入职呢 个人补充: 虚函数是关键 举几个例题: B继承自A,他们有同一个虚函数,什么情况下,A类会调用到B类的虚函数,B类又要怎么用到A类的虚函数呢? 为什么析构函数一定是虚函数? 为什么构造函数不是虚函数? 复习c++和操作系统、网络的网站: 牛客网 https://www.nowcoder.com/tutorial/93 字节跳动 游戏开发 c++岗位面经 标签:访问 域名 其他 随机 另一个 荣耀 会话 赋值函数 并且 原文地址:https://www.cnblogs.com/qzqzgfy/p/12945498.html