快手游戏开发服务端暑期实习一面面经

5.14面的

自我介绍

c++相关

1.类的静态成员函数的特点(卡壳)

2.虚函数是怎么实现的

3.一个对象最多只有一个虚函数指针吗

4.友元函数能作为虚函数吗(不知道)

5.内联成员函数可以是虚函数吗(没记住,答不知道)

6.模板函数可以是虚函数吗

7.模板函数是怎么实现的,为什么能实现多态(没答出来)

8.有用过智能指针吗,有哪些类型,分别是什么区别

9.noexcept关键字了解吗(没答出来)

10.完美转发了解吗(没答出来)

11.vector底层是怎么实现的,是线程安全的吗

12.说一下最小堆的插入和删除的过程(删除答错了被当场指出)

13.解决哈希冲突有哪些方法

14.快速排序是稳定排序吗,插入排序是稳定排序吗(忘了,只说出来平均时间复杂度)

操作系统

15.用户态和内核态的区别(回答提到了系统调用),除了系统调用还有哪些情况会切换用户态和内核态

16.零拷贝了解吗

17.知道什么是写时拷贝吗

18.知道什么是缺页中断吗

19.常见的页面替换算法有哪些

网络

20.每次https请求的过程中会发生什么

21.tls握手的过程详细讲一下

22.具体有哪些对称加密算法和非对称加密算法(不知道,这玩意还要问呢?这我回头查完也记不住啊?)

23.你知道什么是mtu吗(不知道。最大传输单元,定义了在某一通信协议的某一层上能够通过的数据包的最大尺寸

24.针对游戏开发你觉得tcp和udp哪个更好

25.你说udp允许一定的丢包的话,那玩家释放的技能被丢包了造成不好的体验了怎么办(我答了用quic来保证可靠)

手撕:

有一个链表,比如说12345,然后希望重排序成15243(从头第一个,从尾第一个,从头第二个,从尾第二个,从头第三个...)

我回答了先反转链表同时记录链表长度,再两个链表合并

追问这种方法的空间复杂度,o(n),问能不能o(1)解决,我又提了个迭代的思路但是面试官说还是o(n),然后我就没思路了

后续查了gpt知道是把后半链表反转然后和前半链表合并好吧我是笨比

反问:

多久出结果(最快当天),有什么学习建议(说你自己答下来也知道,c++还需要加强)

第二天hr和我说寄了,呜呜呜呜呜呜呜

全部评论
实属没想到手子游戏还在招人
点赞 回复 分享
发布于 05-15 21:10 澳大利亚
虚表指针是类的不是对象的吧?
点赞 回复 分享
发布于 05-16 09:52 陕西
没问项目吗
点赞 回复 分享
发布于 05-16 11:39 重庆
太牛逼了 居然有ai生成的题目解析
点赞 回复 分享
发布于 06-01 15:16 山东

相关推荐

小公司 实习 一天一100
点赞 评论 收藏
分享
#我的实习求职记录#一面是电话面,我也没咋准备,结果问了一堆八股,我之前的面试都不问八股,这次全是八股,也挺离谱的。整理一下(其实是很常规的八股):1、C++相关:面向对象三大特性、虚函数表、三种继承的区别、引用和指针的区别以及大小、野指针、重写/重载/隐藏的区别、const的用法、static的用法、构造函数不能虚、析构函数建议虚、C++和C的内存区别(讲到我擅长的了,毕竟我自己剖析过ptmalloc)、内存对齐、类型转换、智能指针(shared_ptr是线程安全的吗?)、右值引用、完美转发、左值引用和指针的区别、STL容器的底层实现和复杂度、vector的扩容2、算法部分:冒泡排序的原理以及优缺点,快速排序的优缺点、稳定性3、mysql的查询优化、索引底层、B/B+的区别;redis常用数据结构,订阅与发布4、协程原理相关(有栈无栈区别、最终目的)5、TCP三次握手和四次挥手相关、TCP和UDP的区别、TCP可靠性、滑动窗口(大小怎么确定)、常用IO多路复用(太熟悉了,一通底层输出)、GET和POST的区别、TCP百万并发连接(自己实现过,这部分底层也很熟悉)6、Windows编程和linux编程的区别7、项目:还是比较看中基础组件,讲了连接池的实现总结一下:可能一面就问些基础的,上述内容我都比较熟悉,但讲出来有些还是感觉怪怪的,还是要自己整理,最好底层一点,背一下吧,最后反问问了主要的工作,说是写游戏逻辑或者改bug之类的
查看36道真题和解析 我的实习求职记录
点赞 评论 收藏
分享
1 48 评论
分享
牛客网
牛客企业服务