腾讯IEG光子 游戏客户端开发 秋招一面凉经20210813
自我介绍
介绍完之后也没问啥,直接扔3道游戏情景的数据结构与算法设计来。
Q1:已知全服玩家数据,要求按在线和离线分为两组,每组内再按玩家的属性分值排序。服务器将这些数据发给客户端,假设数据能全部装进内存,你需要设计高效的数据结构与排序算法,使得客户端本地的排行榜能每帧更新,且不造成客户端的卡顿。
Q2:给一个监听定时器的类,类中有一个虚函数,这个虚函数的作用重写后,当定时器计时完成后能调用它执行相应的功能。同时还有一个定时器类,类中有个开始计时的函数startTimer,函数参数为要定时的长度(单位:毫秒),还有个你要自己实现的函数update,用于更新存在的定时器。假设这个类管理的定时器非常多。你需要设计高效的数据结构和算法,使得在update函数中,当定时器到时间后能调用停止计时函数后完成相应的处理。
每次调用startTimer的时候能知道计时长度,计时长度+当前时间=结束时间,用一个小根堆存结束时间,那么最早结束的定时器就在小根堆的堆顶。
Q3:2D飞机游戏中有很多碰撞检测,你的飞机和敌军子弹,你的子弹和敌军飞机,假设所有碰撞体都简化为圆形,请你设计高效的数据结构和算法来实现碰撞检测。
四叉树做空间划分。(当时没答出来)
面完之后秒挂。
#腾讯秋招##面经##校招##游戏客户端开发工程师##腾讯#