ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

米哈游笔试题型复盘:算法思维与动态规划状态设计全解析

米哈游笔试题型复盘:算法思维与动态规划状态设计全解析 1. 笔试概况这场笔试到底在考什么米哈游的笔试历来在游戏公司里属于偏难的一档2026年3月14日这场也不例外。考完当天我就在群里看到不少同学吐槽题量太大动态规划又没推出来但实际上回头复盘会发现题目本身并没有超纲真正把人卡住的往往是三个东西读题速度、状态设计能力和极端用例的处理。先给没参加过米哈游笔试的朋友一个整体概念。这套卷子全程在线编码安排了两个小时题型结构大致是两道算法编程题加若干基础选择题个别岗位还会附带一道与岗位方向相关的大题。算法题的分值占比通常能达到70%以上基本可以认为算法题决定了你能不能进下一轮。选择题覆盖数据结构、操作系统、网络基础和C/Python语言细节难度不算高但知识点很碎平时积累不够很容易在看似简单的题上翻车。考察方向需要分岗位来看。服务端开发岗更侧重并发模型、缓存策略和分布式场景下的算法设计客户端/引擎岗会额外关注渲染管线、内存管理以及Unity/Unreal框架下的性能优化思路而游戏策划、测试开发等岗位则会有数值建模、玩法逻辑或自动化测试方案类的题目。技术岗通用的底层能力仍然是数据结构和算法这一点和互联网大厂的笔试逻辑一致但米哈游的题目更偏向游戏场景抽象比如地图寻路、战斗数值模拟、掉落概率计算这些和纯业务系统的算法题有着明显区别。时间压力是另一个必须正视的问题。两小时看起来不短但实际分配到每道算法题上的有效时间也就三十分钟左右还要留出选择题的作答时间。我在这次笔试中采用的策略是先通读全部题目再按性价比排序作答具体怎么排序、怎么分配时间后面第四章会详细讲。1.1 题型分布与分值逻辑从本次笔试反馈来看题型结构和往年保持了较高的稳定性。整张卷子可以粗略分成三块模块题量建议用时难度系数基础选择题数据结构/语言/网络/OS8-10题25-30分钟中低算法编程题一偏思维/数学建模1题30-40分钟中高算法编程题二偏数据结构/状态设计1题40-50分钟高基础选择题几乎没有送分题每道题都会埋一两个易错点。比如有一道关于C虚函数表布局的题目选项里故意混入了虚函数表在编译期确定和虚函数表在运行时确定这种只差一个词的说法如果对编译原理理解不够扎实很容易被带偏。另一道关于TCP拥塞控制的题则把慢启动阈值和拥塞窗口的更新时机放在一起考单纯背概念的人大概率会选错。两道算法编程题在难度上是递进的。第一道题考察的核心能力是从问题描述里抽象出数学模型本质上并不需要多高级的算法但对问题转化能力要求很高第二道题则直接考察数据结构与动态规划的综合运用难度明显上了一个台阶。我个人的判断是米哈游笔试的定位不是为了筛掉大多数人而是为了在通过者中快速识别有竞赛思维习惯和只有刷题量没有建模能力这两类候选人。因为游戏业务里真实遇到的性能瓶颈和系统设计问题本质上都需要这种建模能力。1.2 不同岗位的考察侧重点差异我复盘时专门对比了身边投不同岗位的朋友的反馈发现米哈游笔试并非一刀切不同方向考察侧重点有明显差异。服务端/后端方向算法题之外选择题更侧重进程线程模型、IO多路复用、Redis/MySQL底层机制。大题方向往往和一致性哈希、限流算法、排行榜实时计算这类高并发场景相关。客户端/Unity/引擎方向会有一道与渲染或资源加载有关的设计题比如如何减少DrawCall如何设计一个对象池管理战斗特效。算法题也会偏向空间计算、碰撞检测或寻路相关场景。游戏策划/系统策划方向编程题比重降低取而代之的是数值公式推导、经济系统循环设计、玩家体验曲线分析等。这部分的考察重点不在于你写了多少行代码而在于你能否用数据和逻辑支撑一条完整的设计链路。测试开发方向大概率会在编程题之外安排一道测试用例设计题比如针对一个抽卡系统设计完整的边界测试方案考察的是工程化思维和防御性思维。投递前建议先想清楚自己要去哪个方向然后按照对应侧重点去专项准备。用一个通用简历海投所有岗位笔试环节大概率会被不熟悉的题型打个措手不及。2. 核心题型拆解四类高频题目的思维模型这次笔试给我最强烈的感受是题目表面上千变万化但底层思维模型高度集中。我把这次遇到的以及历年高频出现的题型归纳为四类分别对应四种不同的思维套路。把这四套路练熟应付米哈游笔试的算法题基本就够用了。2.1 前缀和与区间统计类第一类题型围绕给定一个数组或矩阵频繁统计某个区间范围内的满足条件元素数量展开。这类题的典型特征是暴力解法很容易想到但数据范围会让暴力解法直接超时。这里有一个非常关键的经验看到多次查询区间统计类型的问题第一反应应该是是否可以用前缀和把O(NM)降到O(NM)。前缀和的核心思路是在预处理阶段把累计信息算好查询阶段用两个端点做一次减法即可得到区间结果。这就像记账时不每次翻账本数流水而是每周记一次累计余额查询任意时间段的开销只需要拿两个时间点的余额相减。我在实操中总结过一套通用的判断标准如果题目中的区间查询次数M和数组长度N都达到了10^5级别那么单次查询O(N)的暴力方案大概率会被卡掉。此时优先考虑前缀和或离线化处理。后缀的统计题目还经常和哈希表结合要求统计区间内恰好出现K次的元素个数这类题目需要把前缀状态和出现次数一起维护本质是对状态前缀化的扩展应用。笔试遇到这类题时我建议先画出小规模例子的手算过程把暴力解是怎么算的哪些计算是被重复执行的两步想清楚然后针对重复计算的部分引入预处理结构。几乎所有区间统计题都能这样推出来不需要死记模板。2.2 图论遍历与状态处理类第二类题型是地图/网格类题目通常以二维矩阵给出一个场景要求计算连通区域大小、可达性、最短步数等。这类题目在游戏业务里太常见了寻路、怪物AI、副本区域判定都与之相关米哈游对它情有独钟并不意外。DFS和BFS的选择有讲究。DFS实现简单适合解决是否存在路径和连通区域数量这类问题BFS天然适合解决最短步数问题因为BFS按层级扩散首次到达终点的路径必然最短。但笔试中容易忽略的是visited数组的维护时机。不少人习惯在从队列弹出节点时标记已访问这在某些场景下会导致严重的重复遍历甚至可能让队列膨胀到内存溢出。正确做法是在将节点加入队列时就立即标记这样每个节点最多入队一次。此外这类题还有一个高频变种在网格中允许使用有限的特殊技能来破障或传送。一旦引入这个条件原来的二维DFS/BFS就不够用了需要扩展到三维状态——把剩余技能次数作为一个维度纳入搜索。这就是典型的状态搜索模型状态定义为行, 列, 剩余技能数BFS时每次转移同时更新三个维度的信息。我用一个实际的类似场景举过例想象你在一个迷宫里手里只有一个炸弹可以炸开一堵墙求到出口的最短路径。此时你在某个位置带着炸弹和没带炸弹完全是两种状态必须分别记录。2.3 动态规划的状态设计动态规划题在米哈游笔试里属于压轴级别的存在。这次第二道编程题就是一道典型的动态规划难不在转移方程而在状态定义本身。我在复盘中最大的体会是动态规划的核心瓶颈不是怎么写转移方程而是怎么定义出正确的状态。很多人在这一步卡住是因为试图直接一步到位地定义出最终答案的状态而没有考虑中间过程需要记录哪些信息才能支持后续决策。有一个比较实用的思维框架——从暴力递归出发。先用递归加备忘录的方式写出一个朴素的搜索版本递归函数的参数就是状态维度然后观察哪些参数组合在重复计算把这些参数提取为DP数组的下标再尝试改写成递推。这个递归→记忆化→递推的三步路线几乎能解决90%的动态规划题包括背包变种、区间DP、树形DP都适用。举例来说如果一道题要求在数组中选择若干不相邻的数字使得总和最大且选择数量不超过K个暴力递归的参数通常是当前位置下标和已选数量那么DP状态自然就是dp[i][j]表示从前i个数中选j个且满足不相邻约束的最大和。这种状态定义不是凭空想出来的而是把递归函数的参数表直接搬过来的。笔试时如果感觉状态设计卡住了我建议立刻在草稿纸上写一个暴力递归哪怕复杂度是指数级的也没关系它会给后续优化提供非常明确的指引。这比对着空气硬想状态要高效得多。2.4 贪心与排序结合的选择策略第四类题型是贪心算法通常和排序绑定出现。典型场景包括任务调度、区间覆盖、资源分配等。这类题的特点是算法本身不复杂难点在于证明贪心策略的正确性。我复盘时发现很多人不是不会写贪心而是不敢写——总觉得自己的贪心策略是碰巧能过样例担心有隐藏用例会推翻它。这种心理在笔试中非常致命。正确的做法不是反复怀疑而是用数学归纳法或交换论证法花两分钟快速验证一下策略验证通过就大胆写。以任务调度问题为例最经典的贪心策略是按截止时间排序然后逐个处理。但这里有一个关键优化处理每个任务时要在已选任务集合中找到耗时最长的那个任务如果当前任务总耗时超过截止时间就尝试把耗时最长的任务替换出去。这个用最大堆反悔的技巧是贪心面试题的高频考点本质上是一个带反悔机制的贪心算法。从思维模式来说它属于延迟决策——不立即决定某任务是否要保留而是保留到必要时再淘汰最差的一个。这类题普遍有一个共同特点需要同时关注多个维度开始时间、结束时间、价值、权重排序时选择了某一维度作为主序另一维度就要配合额外的数据结构来处理。如果发现排序之后还是要做O(N²)级别的扫描往往说明缺少了一个辅助结构比如堆、有序集合而不是贪心策略本身错了。3. 实操复盘从读题到AC的完整链路很多人的笔试失败不全是能力问题而是缺乏一套稳定的解题流程。我这次特意记录了自己从拿到题目到最终提交的完整时间线和决策过程整理出一套可复用的操作链路供大家参考。代码能力短时间内难以突飞猛进但流程一旦规范化至少能保证你会的题不丢分不会的题能拿部分分。3.1 读题阶段前五分钟决定成败拿到题目不要急着写代码。我见过太多人因为手快读题漏看了数据范围和输出格式最后debug二十分钟得不偿失。我的固定流程是先读题面两遍第一遍只看问题描述搞清楚输入是什么、输出是什么第二遍专门看数据范围、时间限制、内存限制和特殊条件。数据范围这一项信息量极大。看到N ≤ 10^5基本可以排除O(N²)算法看到N ≤ 20往往是在暗示状态压缩或暴力枚举看到坐标范围很大就要考虑离散化或者不依赖坐标数值的处理方法。时间限制也需要留意有的题虽然数据范围不大但常数很大会导致超时选择算法时要把常数因子考虑进去。另外要特别注意输入格式中的陷阱描述。比如某道题说输入包含多组测试用例以0 0结尾如果没看到这句话你的程序在本地跑样例时是对的但提交后只会通过一个用例。还有一个操作细节读题时顺手把关键约束写在草稿纸上例如n最大10000字符只包含小写字母答案对1e97取模。不要相信自己的记忆力做题中途很可能因为各种推导忘记了原本的约束条件回头再翻题面会打乱思路。3.2 优先级排序先拿稳的分数面对多道编程题很多人的默认策略是按题目顺序从上往下做。但笔试系统是按用例给分的不是按通过时间给分的顺序作答往往不是最优策略。我这次的排序逻辑是先快速扫一遍所有编程题根据数据范围是否熟悉题目描述是否有明显的算法信号比如看到最短路径关键词就想到BFS/Dijkstra代码实现量大概多少行三个维度把题目分成三档——快速AC档、攻坚档和放弃档。拿到卷子后我先花了两分钟把两道编程题都扫了一遍。第一道是区间统计类题目思路在脑子里基本成型属于快速AC档第二道是动态规划状态设计还需要想一段时间属于攻坚档。所以我的实操顺序是先花三十分钟把第一道题写出来并确认通过示例再反手去啃第二道题最后剩余时间全力攻第二道题。选择题穿插在编程题中间做用来缓解大脑疲劳。这个策略的本质是在两小时内最大化确定性收益。先把思路清晰的题目全部转化为分数再拿剩余时间搏难题避免出现简单题没时间写、难题没写出来的最差情况。3.3 从暴力解到优化方案两步桥接法遇到不会做的题我最常用的手段是先暴力、后优化的两步桥接法。第一步无视题目的数据范围写一个最直接、逻辑最清晰的暴力解法哪怕复杂度是O(N²)甚至O(N!)。这个暴力解的用途有两个一是验证我对题目的理解是否正确二是提供一个能对拍的正确基准。如果暴力解在小数据上都跑不出正确结果说明理解有偏差需要回到读题阶段重新审视。第二步分析暴力解的瓶颈。人工走一遍样例数据找出重复计算最多的部分思考能不能用哈希表缓存结果能不能用排序减少比较次数能不能用前缀和替代循环累加。这一步的产出不一定是最优解但通常能拿到相当一部分分数。比如有一类题需要对每个元素求右边第一个比它大的数暴力解法是双重循环O(N²)。分析重复计算时会发现很多比较在后续元素上会重新执行此时用单调栈可以从左到右维护一个递减序列每个元素入栈出栈各一次整体复杂度降到O(N)。暴力到优化的桥接点就是消除重复比较这个动机。这个桥接法在笔试中还有一层隐蔽的价值即使优化没成功你手里至少有一个正确的暴力版本可以在提交时作为兜底。笔试判分通常会按通过的测试用例比例给分O(N²)暴力版虽然过不了大用例但能通过小规模用例总比交一个没写完的超时代码要强。3.4 代码实现阶段的边界处理与测例设计代码实现阶段我给自己定了几条硬规矩每一条都是用血泪教训换来的。第一数组下标问题。从0开始还是从1开始必须在一开始就统一。如果用1-based那么输入读取时要注意偏移如果用0-based那么在遍历前缀和、差分数组时要注意端点关系。最怕的是写了一半突然从0-based切到1-based这种混乱最容易产生隐蔽的越界错误。第二整数溢出问题。C里两个int相乘很可能溢出这题的输出明明是long long但很多人在中间计算时用了int类型存乘积导致大用例WA。我的习惯是只要题目中出现取模10^9开方这类字样所有中间变量一律开long long。虽然看起来浪费空间但能帮你省掉无数冤枉的调试时间。第三空边界与单元素用例。写完代码后我习惯用三组固定测例做快速自检空输入或N0的用例、N1的最小用例、N达到上限的极值用例。很多隐蔽bug都是在这三个用例上暴露的比如当N0时数组越界、当N1时循环条件错误等。另外提一句笔试环境里通常没有调试器或者说调试器的体验远不如本地IDE。我的做法是在代码里临时输出中间变量的值用注释标记为debug确定逻辑正确后统一删除。这样既保留了调试能力又不会因为忘记删调试代码导致格式错误。4. 常见问题与坑点实录每次笔试结束后我都会把自己的失误和群里朋友的反馈汇总成一份坑点清单。这些坑单看都不大但组合起来足以让你的成绩从通过滑到不通过。下面是我整理出的高频问题附带排查思路和应对方案。4.1 时间分配的三种致命失误在我见过以及亲身经历过的笔试中时间分配失误集中表现为三种模式每一种都很典型。第一种是把过多时间耗在选择题上。选择题虽然做起来快但有些题目描述冗长特别容易激发一定要把它想明白的执念。我曾经在一个考察红黑树性质的选择题上耗了八分钟事后想起来非常后悔因为红黑树这类底层数据结构在笔试选择题中占比不高顶多一两道花八分钟去硬想不如随意选一个先标记回头有时间再纠结也不迟。正确的策略是先跳过集中精力拿到编程题的大头分数。第二种是死磕某一道编程题完全不放手。当一道题花了二十分钟还没任何进展时果断停下去看其他题。这里的心理障碍是已经花了这么久现在放弃前面时间就白花了但实际上这是一个典型的沉没成本误判。剩余时间里写出一题新题拿到的分数大概率高于继续死磕拿不到分的题。第三种是为了追求最优解而放弃了部分分。笔试判分是看通过用例的不是看代码是不是足够优雅。有些同学明明已经写出了一个能过90%用例的解法却非要再花二十分钟把最后10%的边界情况也处理掉。如果时间不够提交90分的版本走人才是理性的选择。把完美主义留在平时练习笔试现场只需要最大化总分。4.2 输入输出与数据范围的隐蔽陷阱输入输出格式的问题是笔试里最冤枉的失分点因为它与算法能力完全无关。最常见的是多组用例输入。有些题明确写了输入第一行是测试用例数T接下来T组数据这还好处理。但另一些题只写处理到文件末尾这种情况下你必须使用while(cin n)这种循环读取写法否则只处理一组用例就退出必WA。解决这个问题其实只需要在读题时做一个特殊标注把多组用例直到EOF这几个字圈出来。输出格式同样要注意。题目如果要求每行输出一个整数而你输出的时候多用了一个空格或者少了换行判分系统会直接判定格式错误。笔试系统通常不提供格式错误与答案错误的明确区分所以一旦WA要第一时间怀疑是不是输出格式和你理解的不一致。检查点包括是否多输出空行、是否在行尾多了一个空格、浮点数输出是否需要保留指定小数位数。数据范围是另一个关键陷阱。二分查找的左右边界初始化、动态规划数组的长度设定、前缀和数组多开一个位置处理前缀为0的情况这些细节都和数据范围直接相关。我在这次笔试的区间统计题上就专门踩了这个坑前缀数组开成N长度结果在查询区间左端为0时引用了pre[-1]导致越界。正确做法是前缀和数组长度设为N1pre[0]存0占位这样所有查询都可以统一用pre[r1] - pre[l]来处理。4.3 状态设计卡住时的止损技巧动态规划题的常见死法不是超时而是状态设计卡住后整个人停滞在原地。复盘时我发现几乎每次状态卡住都能通过一些止损技巧救回来但临场很多人想不起来用。止损技巧一暴力分支打底。如果DP推不出来立刻退回写暴力搜索或BFS版本。哪怕复杂度很高至少保证了部分用例的分数。这里的心理暗示是我先拿到基础分再在这个基础分之上做优化而不是我一定要立刻想出最优解。有了这个想法心态会稳很多。止损技巧二从最终状态倒推。动态规划的最终答案往往有一个明显特征比如到最后一个字符为止的最大值经过所有任务后的最少耗时。抓住这个最终状态去反推这个最终状态可能是由哪几个前一状态转移过来的往往就能找到转移方程。我在复盘时习惯把答案状态写在草稿纸最下方然后画箭头指向可能的来源状态这个方法对区间DP尤其有效。止损技巧三降低一个维度。如果发现状态里有三个维度比如dp[i][j][k]表示前i个元素选j个且总和为k而题目给的N是10^5规模此时大概率需要降维。降维的核心思想是确认某个维度是否可以通过另一个维度的某种顺序来隐式表示。例如有些恰好选K个的约束可以通过把物品总价值乘上一个放大系数来编码个数信息这在背包类题目中属于经典优化技巧。如果你发现自己卡了超过十五分钟且三种止损技巧都试过了还没思路我的建议是直接在题解区写下暴力思路复杂度分析然后跳到下一题。这不是放弃而是战略性止损。在有限的两小时内把时间花在有产出的题目上永远是第一优先级。4.4 心态与临场节奏控制笔试和面试不同面对的是冰冷的判题系统没有任何反馈信号这会放大焦虑感。我做笔试前有个固定动作先深呼吸然后把卷子从头到尾扫一遍心里默默标注每道题的期望得分和时间上限。这个动作能显著降低不确定性带来的紧张感。心态最容易崩的时间点是在第一道编程题提交后显示WA的那一刻。我给出的建议是WA不代表世界末日先看自己输出了什么、期望输出是什么逐项对照。很多WA只需要看一组样例就能看出来。如果你的代码在本地样例跑通了但提交WA优先检查是否在循环读取多组用例的写法上有遗漏其次检查是否没处理零值边界再次检查是否由于多余输出导致格式错误。把这几个固定检查点走一遍绝大多数WA都能被定位。还有一个小技巧如果因为紧张导致大脑一片空白干脆先离开屏幕十秒钟闭上眼睛默念一遍你平时最熟悉的算法模板比如DFS模板或二分搜索模板。这个动作能帮你迅速找回对代码的掌控感。我在多次笔试中都用过这个方法效果非常稳定。5. 针对米哈游笔试的专项准备思路把通用的解题流程说完了最后聊聊针对米哈游这个特定目标笔试前一周该怎么准备。这部分的建议来自我个人的实战经验和朋友们的复盘汇总不是通用的刷题指南而是有明确方向的专项准备。5.1 刷题侧重点游戏场景类算法题优先米哈游笔试的算法题虽然不会直接考请你实现一个抽卡系统但会考察与游戏机制相关的算法核心。我在准备阶段优先刷了四类题二维网格上的连通性与最短路径问题、带有额外状态的最短路问题、区间上的动态规划与贪心调度问题、以及背包类变种问题。这四类和第二章总结的题型一一对应。我建议在去米哈游笔试前至少完整实现几道有代表性的题目。不要只看思路一定要亲手写一遍因为笔试时你只有代码能说话。比如网格类题目你至少应该能做到不用查资料就能默写出BFS的队列加visited数组写法同时能快速扩展成三维状态搜索。另外要特别留意题目的数据范围是否在10^5量级。米哈游笔试很喜欢考看起来能用二维DP实际必须用一维枚举优化的题目类型。准备时如果遇到一道题的最优解是O(N log N)而你能想到O(N²)的解法一定要继续思考能不能用优先队列、排序或二分优化到O(N log N)。这个思维习惯比多刷题更重要。5.2 选择题复习范围主抓OS与C语言细节选择题考察的知识点覆盖面广但高频考点相对集中。根据我和同期朋友的反馈操作系统进程线程区别、死锁的四个必要条件、虚拟内存与页面置换、计算机网络TCP三次握手与四次挥手、拥塞控制、HTTP与HTTPS区别、C虚函数、智能指针、构造函数与析构函数顺序是出现频率最高的三块。一个值得注意的细节是C的考察会深入到对象生命周期和内存管理层面。游戏开发对性能和内存的要求极高米哈游在这类选择题上的考察深度超过了普通互联网公司。建议重点复习栈对象与堆对象的构造析构顺序、拷贝构造函数与移动构造函数的触发时机、shared_ptr和unique_ptr的底层引用计数机制。这些内容在《Primer Plus》或任何一本C入门书里都能找到关键是理解而不只是背概念。Python岗或偏工具方向的岗位会考GIL机制、装饰器原理、列表与字典的底层实现。如果你投递的是这类岗位准备时要调整复习重心但数据结构与算法编程题依然是绕不过去的核心。5.3 最后三天的冲刺节奏最后三天不建议再刷新题了。此时最重要的三件事是复习自己写过的代码模板、整理易错点清单、保持手感。我自己的做法是建立了一个笔试速查笔记包含所有常用算法的模板代码和易错点标注。比如二分查找的模板把闭区间和开区间的写法分开记前缀和模板标注好数组整体偏移一位的关键语句BFS模板标记visited数组的处理位置。笔试开始前花二十分钟把这份笔记从头翻到尾比临时刷题有用得多。易错点清单则记录了我所有历史WA的教训比如多组用例记得循环读取int溢出改long long输出行末不能有空格。这些小条目每一条都像一枚防弹衣的插板能帮你有效减少无谓失分。如果时间还有富余可以做一两套限时模拟题。模拟的关键不在于题目本身而在于体验两小时的节奏感尤其是体验卡题后如何止损这个过程。模拟时一定要开着计时器到点即停然后复盘分数构成和卡题点。这种训练非常有效。6. 写在最后的个人体会把这套复盘整理出来其实花了我比笔试本身更长的时间。原因很简单笔试时你是被题目推着走的而复盘时你才有机会审视整个思维链条的每一个环节找出那些当时觉得必然、回头看其实可以更优的决策点。我个人在这次笔试中最深的体会是米哈游的题目偏好非常鲜明它不追求偏题怪题而是更看重基础算法的熟练度和把算法模型映射到具体场景的能力。一个平时刷题只看思路不写代码的人和一个刷题量虽然少但每道题都亲手实现、反复打磨过的人在同一张卷子上的表现会有本质差别。另外我想分享一个比较软但很真实的观点笔试不只是技术考核也是心态和管理能力的综合检验。两小时里你既要处理纯粹的逻辑问题也要处理什么时候该放弃什么时候该冒进怎么对抗WA带来的挫败感这些非技术问题。事后回看我的时间分配策略和止损意识为我保住的分值可能不比任何一道算法题少。如果你正在准备米哈游或者其他游戏公司的笔试希望这篇复盘能给你一些可复用的方法。不用照抄我的流程但你值得从里面提取几个对你有用的技巧比如先暴力再优化WA后的固定检查顺序状态卡住时的三种止损手段。这些技能不只服务于这一场笔试它们会伴随你走过整个职业生涯中的很多次算法挑战。最后再分享一个小技巧笔试结束后无论自我感觉如何都要立刻用文字记录下自己还能记得的所有题目和解题思路。一方面这是最完整的真题复盘素材另一方面这个记录过程本身就是在训练你从复杂问题中提炼关键信息的能力而这种能力恰恰是笔试和后续面试中最稀缺的。
返回列表