游戏服务端开发 45min
自我介绍
技术栈、项目
C++面向对象
TCP/UDP区别
- 为什么TCP稳定
- TCP错误重传机制
- 如何确定TCP超时重传时间
- TCP连接断开、四次挥手
数据库
- 数据库引擎
- 联合索引
- 创建语句、使用方法
- 联合索引优点
进程与线程
- 区别
- 多进程间的通信
- 死锁的条件以及避免、阻断策略
缓存
- 淘汰策略
设计模式
- 单例模式
- 多线程下如何保证单例模式线程安全
- 懒汉式单例模式加锁操作时间长,如何优化
算法
- 游戏有三种点卡(日卡周卡月卡),玩家需要购买其中一种卡才能在规定时间内上线。现在给你一个size365的数组表示玩家今年每一天的上线安排,以及三种点卡的价格。求玩家需要用于购买点卡的最小金额(动态规划)
- 有n杯水,各自有自己的重量。需要把它们合并成一杯水。每次操作你可以通过消耗其中两杯水重量之和的能量来合并两杯水。求最小的能量消耗(相当于构造哈夫曼树,贪心算法)
场景题
- 在一个卡牌游戏中可以对玩家可以消耗一定的资源对卡牌升级,使得玩家选中的卡牌等级+1。如果玩家网络差延迟高,导致玩家误以为升级失败从而短时间内多次点击同一张卡牌升级。如果在这种情况下我们只希望玩家的升级操作触发一次,应该如何解决此需求。(前端防抖机制、后端采用唯一标识符、限制操作频率、双重确认)
#面经##面试##游戏开发##友塔游戏##秋招##秋招提前批,你开始投了吗#