大佬,面的是服务端吗?
点赞 1

相关推荐

岗位游戏研发上来就是场景题三连。都是讲思路然后实现核心代码1.给一个二维数组表示地图,0表示不能走,1能走,问两个点是否可达。想了想说用bfs,面试官说要求查询任意两点,有没有效率更高的方法,又想了想,说用并查集,只遍历一次,把互通的点加入到一个集合中,查询两点时只需要看两点是否在同一个集合内2.只给一个rand(int x)接口,效果是返回0 - x-1随机数,要求实现在m个玩家中随机挑选n人中奖。先说可以每次rand(m)取一个中奖id,用map记录一下是否已经中过奖,后来又优化了下,不用map,中奖的id和最后一个id交换,然后m--,保证每次随机取到的人都没中过奖3.实现一个100w玩家的排行榜,分数实时更新。说可以用平衡树实现,分数相同的存在同一个节点的链表上,节点上只存链表头节点地址。面试官说如果有大量玩家分数相同,你这个链表是不是会很长。然后我说这个链表可以改成二叉查找树,以玩家id排序,这样复杂度是logn的。中间还问了c文件编译过程中链接是怎么实现的,怎么找到需要链接的库、函数然后是操作系统相关的,问我知道哪些内存置换算法。当时就想起个LRU和最近最少。问我LRU实现原理,如果我要实现一个LRU代码该怎么写。总体感觉答得还行,这基本上是拿到暑期实习最后的机会了,紧张紧张紧张。
查看4道真题和解析
点赞 评论 收藏
分享
牛客网
牛客企业服务