2023秋招 游戏客户端 个人笔经汇总

主要是记录了笔试时间、时长、题型,供来者参考。

顺便分享下我的编程题代码管理框架:CodeforcesStarterPack

(By the way, 我的秋招面经汇总在这儿学习经历总结在这儿

目录

(牛客的文章编辑功能有限,不支持内部超链接好像)

  • 08241900 网龙
  • 08251900 莉莉丝
  • 08260930 灵犀互娱
  • 08271400 友塔
  • 08271900 腾讯游戏客户端公开课
  • 08301900 吉比特
  • 08311900 巨人网络
  • 09011900 星辉
  • 09031900 朝夕光年
  • 09061900 剑心
  • 09081900 快手游戏
  • 09101000 疯狂游戏
  • 09102000 腾讯IEG
  • 09111900 4399
  • 09131800 三七互娱
  • 09132000 诗悦网络
  • 09152000 腾讯IEG
  • 09161900 西山居
  • 09171000 米哈游
  • 09171615 英雄互娱
  • 09201900 游卡
  • 09211500 沐瞳
  • 09241400 雷火
  • 10131900 趣加
  • 10142000 库洛(提前批引擎开发岗)
  • 10211930 SNK中国

08241900 网龙

60min,100分

糟糕的笔试平台;题量太多;编程题竟然是以问答题的形式给出的。60分钟勉强做完- -

  • 单选:15x3
    1. C++
    2. 计算机基础(操作系统、网络、数据库)
  • 问答1:2x8
    1. 编译器会自动生成哪些成员函数
    2. 解释RAII,并举例四个应用场景
  • 问答2:1x9
    1. 改错(浅拷贝导致同一指针多次delete)
  • 编程:2x15
    1. 实现快排
    2. 实现UTF8字符串的reverse

08251900 莉莉丝

120min,110分

好题!提前40分钟AK~~

  • 单选:12x5
  • 编程:3{10, 20, 20}
    1. 重排链表成这样:7->5->3->1->2->4->6。类似于LC-328,常规链表操作题。
    2. 将循环数组分成段,让两段的权值和的差值最小,输出最小差值。前缀和+二分搜索,
    3. 从数组中去除尽可能少的元素,使得剩下的元素满足先严格递增后严格递减。输出去除的元素个数。限制起点/终点的最长递减/递增子序列,

08260930 灵犀互娱

165min,402分

  • 单选:20x5
  • 编程:5{50,50,60,70}
    1. divisable。给定数组和k,统计满足条件{两元素之和能整除k}的匹配数,输出个数。AC。
    2. minus。找出最长的子序列(题面中说是子串),满足序列内元素极值差不超过1,输出该序列的长度。AC。
    3. 不记得了,但特别简单。AC。
    4. maze。给定二维矩阵,从左上出发,到右下结束,可以往右、上、下走。上下边界有wrap,wrap后分数重置。要求计算出离开时能获得的最大分数。80%。
    5. 给定两字符串,判断能不能从一个变换成另一个,仅使用两种操作:1) 小写字母变大写;2) 删除小写字母。28.57%。
  • 游戏经历:1x1。不计分多选题。选出自己玩过的手游品类。
  • 游戏经历:1x1。不计分问答题。描述玩过的游戏,可上传附件。

08271400 友塔

120min,100分

  • 编程:4{15,20,30,35}
    1. Codeforces 402D
    2. 给定一批需求的{value, deadline},每个需求需要一个工作日完成,求出这个月能获得的最大价值。解法是,先按deadline排序;然后动态规划,枚举需求,尝试加入背包(对于d=ddl~1,更新dp[d]=max(dp[d], dp[d-1]+value));最后取出dp中的最大值(因为完成最大价值方案所需的工作日可能比较小;即,dp[d]指前d天每天都工作所能获得的最大价值)。
    3. 给定二位网格,从左上角出发,上下左右,到右下角,每次移动的时间消耗为目标格子的数值,此外有些格子是障碍物。要求到达右下角的最短用时。解法是Dijkstra最短路算法。
    4. 给定一堆RGB三维颜色量,要求取出K种颜色构成集合,使得其中任意颜色对的色差()的最大值尽可能小,输出该最小化的集合内最大色差。当时没做出来。但是后来做出来了(并且发现了题源COCI2012-Pastele):如果能用边长为s的轴对齐立方体框住一堆点,那么,这些点彼此间的色差不超过s-1。用二分搜索,来找出能框住至少k个点的最小s。用三维前缀和,来实现立方体空间内的点数统计。

08271900 腾讯游戏客户端公开课

90min,100分

  • 单选:10x2
  • 多选:10x3
  • 编程:50{2道}
    1. 判断第一个数组能否通过循环右移n位得到第二个数组。不知道为啥只过了50%。
    2. 给定空间三角形ABC三个点,以及点P,求过点P的XZ平面法向量与三角形的交点,如果没有交点则输出0。来不及考虑没交点的情况,只过了87%。

08301900 吉比特

120min,100分

  • 选择题:2.5x16=40
  • 填空题:5x2=10
  • 编程题:10+15+25=50
    1. 数组排序。AC。
    2. 给定牌组,二人博弈,每次从单侧拿取任意数量的牌,两人均采取最优策略尝试最大化彼此间的分数差值,要求最优策略下先手会比后手高多少分。博弈动态规划。好像是骗了10%?
    3. 魔法豆,宠物,一只之外的全部… 总之来不及看,也就没做。好像是骗了10%?

08311900 巨人网络

120min,120分

  • 多选:20x2
  • 问答:1x20
  • 编程:2x30
    1. 拓扑排序判环。然而题目的测试用例有BUG。输入格式不对;输出只有一种可能。只能骗,而且能骗100%。
    2. 区间最大值、区间更新的线段树。可惜来不及调试出线段树版本,只来得及用暴力通过55%。

09011900 星辉

50min

问卷星形式的题…甚至reentrant...

3道编程(1道必选,另外两道2选1)都是LeetCode原题。AK了。

09031900 朝夕光年

120min,100分

但是提前35分钟AK了

  • 编程:100=20+25+25+30
    1. 简单实现数组的相邻元素绝对差值。
    2. 贪心对字母分组,使得输出字符串中每种字母出现至少两次,且统一字母的各实例的距离最小为k。
    3. 二维网格图上找规律。
    4. 给一堆怪的血条,要求给出对战表,使得相杀到最后一个也不留,或者只留一个且剩余血量最少。转换为分组问题,把血条分成两组,各组的血条和尽可能相近。进一步转换为01背包问题。

09061900 剑心

90min,90分

  • 编程:3x30
    1. 判断给定的数有多少个奇序列(连续的正奇数组成的序列,序列之和等于该数)。数学规律题。能拆解出奇偶性相同的两个因数,便能构成一个奇序列。AC。
    2. 给定,给个矩形/圆形攻击判定范围,给定角色当前坐标,要求出最少移动多少格子才能逃离攻击判定范围。栅格覆盖模拟题。AC。
    3. 给定类似于varint的序列化函数,要求写出反序列化函数。来不及做出来。

09081900 快手游戏

90min,100分

  • 单选:8x3=24
  • 多选:8x3=24
  • 编程:52=15+20+17
    1. 乘法逆元。AC。
    2. 大数乘法。AC。
    3. 给定一个折线路径,沿路行走,每隔s输出坐标。线性插值模拟。AC。

09101000 疯狂游戏

90min,100分

  • 编程:50=20+30

    1. 给定k和target两个整数,问k能否通过任意次k=k*2+1或k=k*3+1变换得到target。解法是DFS从target降解到k,要注意负数情况,以及需要做好剪枝。
    2. 模拟题。按照规则交换数组中部分区域的元素即可。
  • 问答:1x50

    要求讲自己的一个项目,给出这几方面的阐述:

    • 关键技术点
    • 时间/空间复杂度取舍
    • 应用了哪些设计模式
    • 设计不足与解决方案
    • 最大挑战

09102000 腾讯IEG

120min,100分

  • 编程:5x20=100
    1. 二叉树DFS统计满足条件的根叶路径数量
    2. 使用两个multiset维护动态数组的中位数
    3. 贪心求解最大的差之和
    4. 数学规律+模(快速)幂
    5. 动态规划。但是当时没想出来,写了二分,能过样例。

(牛客的评测机炸了,系统不给评测,不知道AC没;运气好的话应该能AC掉4个,第5题能得到部分分)

09111900 4399

120min,120分

  • 单选:10x2=20
  • 编程:18+26+36=80
    1. 给定字符串,要求计算出其中满足条件{形如012...9的数字递增}最长子串,且要求。遍历一遍就好。
    2. (竟然)要按照LeetCode格式建树,然后才能做题。给定二叉字典树,DFS所有叶根路径,找出字典序最小的。
    3. 生命游戏模拟。
  • 问答:10x2=20
    1. 大学期间课余时间怎么度过的,投入最多的事项是什么,为什么,有什么成果
    2. 有没有遇到过复杂或困难的问题,怎么解决的

(没有OJ判分,输入输出格式不规范,这个笔试平台属实不太合格)

09131800 三七互娱

90min,100分

  • 选择题:20=10x2?
  • 问答题:80=10+15+15+20+10+10

09132000 诗悦网络

60min,110分

  • 单选:10x6=60
  • 问答:2x5=10
  • 编程:20x2=40?
    1. 实现冒泡排序
    2. 找出链表的中间结点

09152000 腾讯IEG

120min,100分

  • 编程:20x5=100
    1. 链表排序。AC。
    2. 有序集合。AC。
    3. 排序。AC。
    4. 集合+字典序。AC。
    5. 滑动窗口+前缀和。骗分6.67%。

09161900 西山居

120min,120分

  • 单选:5x5=25
  • 多选:5x5=25
  • 填空:2x5=10
  • 编程:40
    1. 用lambda递归实现斐波那契。AC。
    2. 买股票,maxProfit。AC。
  • 问答:1x20=20
    • 用C++实现undo、redo的代码框架

09171000 米哈游

120min,100分

  • 单选:10x1=10
  • 多选:15x2=30
  • 编程:3x20=60
    1. 分词和判断回文。AC。
    2. 贪心排序。0%。
    3. 数值5进制模拟。AC。

09171615 英雄互娱

60min,60分

  • 编程:3x20=60。都很简单,AK。
    1. 快慢指针找环的入口。AC。
    2. 忘了。但反正AC了。
    3. 完全背包,用硬币凑金额。AC。

09201900 游卡

90min,100分

  • 单选:2x10=20
  • 多选:2x10=20
  • 编程:3x20=60。提前50分钟AK。
    1. 将数组中的0移到尾部
    2. 级数展开估计圆周率
    3. 不用比较运算符求两个32位整数中的最大值

09211500 沐瞳

60min,100分

  • 单选:9x8=72
  • 问答(编程):1x28=28。提前40分钟AK。
    1. 删除单链表中指定取值的全部节点。AC。

09241400 雷火

180min,100分

  • 编程:100=15+25+30+30
    1. 模拟。AC。
    2. 暴力模拟。(记录每个玩家的草丛编号集合)。AC。
    3. 01背包变种。(同类属性的属性值保持正数,不同类的改为负数,从而转化为限制物品数量的、存在负数的01背包问题)。AC。
    4. 类似于CF上的这一题。只得了1.67%分。

10131900 趣加

90min,100分

  • 单选:15x2=30
  • 多选:5x3=15
  • 填空:5x3=15
  • 问答形式的编程:15+15+10=40
    1. 计算数组中最大的连续元素和
    2. 判断两颗二叉树是否相同
    3. 实现String类的几个基本的成员函数

10142000 库洛(提前批引擎开发岗)

120min,80分

  • 问答:8x10=80
    • 其中有一道编程:一维坐标轴上,维护线段集合,提供三个操作:添加线段、删除线段、查询与指定线段重叠的全部线段。没做出来,只写了暴力解法。

10211930 SNK中国

90min,100分

  • 单选:10x2=20
  • 填空:4道,14分
  • 问答:5道,31分
  • 编程:5+5+10+15=35分。有编译运行的功能,但是没有测试用例评分;只要不报错就能通过评测;所以,得自己在代码里写测试用例才能测到代码正确性。
    1. 实现简单的String类。
    2. 计算数组中最长连续1的长度。
    3. 计算字符串数组中的最长公共前缀。
    4. 计算矩阵中的最长递增路径的长度。
#2023秋招##游戏客户端开发##笔试#
全部评论
好强啊佬,平时刷了多少题哇
1 回复 分享
发布于 2023-10-17 11:00 江苏
大佬好强
1 回复 分享
发布于 2023-10-22 11:32 广东
友塔出2000分的题吗?
点赞 回复 分享
发布于 07-10 17:16 北京

相关推荐

不愿透露姓名的神秘牛友
11-01 21:32
点赞 评论 收藏
分享
37 194 评论
分享
牛客网
牛客企业服务