临竞科技面试总结

1. 请解释TCP粘包问题是如何产生的?
2. 网络字节序在大端和小端之间如何转换?
3. Protobuf作为序列化框架,它有哪些优点使其在跨语言数据交换中特别有用?
4. 在处理Varint时,数值较大时的进位是如何工作的?请详细说明。
5. 状态同步和延迟补偿在网络游戏中如何应用?请提供一个实际场景。
6. 在客户端预测和服务器回滚机制中,如果出现预测错误,客户端是如何回滚到正确状态的?
7. AB包加载和卸载中如何处理资源的依赖关系?请描述一下这个过程。
8. 引用计数在资源管理中扮演什么角色?如何确保资源正确地被释放?
9. 值类型和引用类型在函数传递和赋值时有哪些行为上的差异?
10. List的扩容机制是如何工作的?请描述其内部结构的变化。
11. 字典的内部结构是如何组织的?请解释bucket数组和entry数组的作用。
12. 托管内存和非托管内存有什么区别?在什么情况下你会选择申请非托管内存?
13. 线程和协程的主要区别是什么?请举例说明它们在实际应用中的不同。
14. MVC模式和观察者模式在设计软件架构时各自有什么优势和局限性?
15. 垃圾回收(GC)的三个阶段是什么?它们各自的作用是什么?

#发面经攒人品#
全部评论

相关推荐

10-13 18:55
东华大学 C++
一、开场与自我介绍二、技术八股与基础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]。请你合并所有重叠的区间,并返回一个不重叠的区间数组。五、反问问了一下团队的技术栈、业务方向、新人培养机制等建议​:面试不仅是技术考核,更是沟通和思维方式的展现。清晰描述你的项目,遇到难题时展示解决思路比直接放弃更好。
发面经攒人品
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

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