莉莉丝秋招1️⃣面 🍜经

#面经##发面经攒人品##牛客AI配图神器#
一、开场与自我介绍
二、技术八股与基础
1.C++中的const关键字有哪些用法?它在成员函数中修饰this指针时有什么意义?​​
​2.override和final关键字有什么作用?它们分别在什么场景下使用?​​
​3.C++11中的移动语义是什么?移动构造函数和移动赋值运算符在什么情况下会被调用?​​
​4.new/delete和malloc/free有什么区别?为什么不能混用?​​
​5.智能指针有哪几种?请详细说明std::unique_ptr和std::shared_ptr的区别以及各自的适用场景。​​
    std::shared_ptr的底层实现原理是什么?
    std::weak_ptr有什么作用?它如何解决循环引用问题?
​6.什么是深拷贝和浅拷贝?在什么情况下必须实现深拷贝?​​
​7.C++中多态是如何实现的?请解释虚函数表(vtable)和虚指针(vptr)的工作原理。​​
    为什么基类的析构函数通常要求声明为虚函数?构造函数可以是虚函数吗?为什么?
8.​std::vector和std::list的底层数据结构是什么?它们的主要区别和应用场景是什么?​​
    std::vector的插入操作在什么情况下会导致迭代器失效?它是如何扩容的?

9.​std::map和std::unordered_map的底层实现是什么?它们的查找时间复杂度各是多少?​​
    什么情况下std::unordered_map的查找性能会退化到O(n)?如何避免?
10​C++11中的lambda表达式是什么?它有哪些具体的应用场景?​​
11.​什么是RAII机制?它在C++中有何重要性?请举例说明。​​
12.TCP和UDP的核心区别是什么?游戏开发中如何选型?
13.TCP三次握手和四次挥手的过程是怎样的?为什么建立连接是三次,而断开需要四次?
14.​你实习中提到的UDP网络传输,如何在上层自己实现可靠性保证和有序性?
15.进程、线程和协程的区别是什么?游戏服务器中为何常用多线程或多协程模型?
16.Linux下如何排查CPU占用过高的问题?
17.MySQL的索引底层是如何实现的?(B+树)
18.在游戏数据库中,行锁和表锁如何考量?
19.帧同步模式下,如果某客户端网络波动严重,会出现什么问题?如何缓解?
20.游戏服务器在开服时(大量玩家同时涌入)和日常运营中,分别可能会遇到哪些性能瓶颈?你有什么思路来应对?

三、项目与实习经历深挖
游戏后台开发实习
1.请详细介绍一下你在天美实习中最有挑战性的一项任务或项目,你具体承担的角色和实现方案?
2.​​​​ 你提到了参与优化网络同步,请具体说说:
3.游戏常用的网络同步模型(状态同步、帧同步)有哪些?它们各自的优缺点和适用场景是什么?
4.在帧同步模式下,如果某客户端网络波动严重,会出现什么问题?如何缓解?(锁步、冗余输入、平滑插值等)
5.如何保证不同客户端在计算同一逻辑帧时结果的一致性?(浮点数确定性、随机数种子管理等)
6.实习中遇到的最难的技术问题是什么?你是如何分析、定位和解决的?
测试开发实习
7.你在京东的测试开发实习经历,对你理解后台开发有什么帮助?
8.​​ 是否有过性能压测的经验?关注哪些指标(QPS、TPS、延迟、吞吐量)?如何分析压测结果?
9.如果让你为游戏内的一个签到功能设计测试用例,你会考虑哪些方面?(功能、并发、边界、网络异常等)

四、算法题
合并区间​
以数组 intervals表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组。

五、反问
问了一下团队的技术栈、业务方向、新人培养机制等

建议​:面试不仅是技术考核,更是沟通和思维方式的展现。清晰描述你的项目,遇到难题时展示解决思路比直接放弃更好。
全部评论
已老实
点赞 回复 分享
发布于 昨天 18:59 上海

相关推荐

昨天 16:58
门头沟学院 Java
点赞 评论 收藏
分享
头像 会员标识
昨天 17:56
已编辑
重庆邮电大学 C++
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务