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

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 重庆

相关推荐

点赞 25 评论
分享
牛客网
牛客企业服务