0%

岗位

UE客户端开发工程师

题目分配

3 道编程题

作答时间

60 分钟

做题感受

  • 时间偏紧,3 题一个小时平均 20 分钟一题,而且不准用 IDE。
  • 第一题比较简单,利用快排求数组里第 K 个大的数,手撕快排即可(15min,100%)
  • 第二题之前没做过,后来发现是 leetcode 原题329. 矩阵中的最长递增路径 - 力扣(LeetCode) 用了 dfs + 记忆矩阵(30min,100%)
  • 第三题应该是递归和动态规划都可以(15min,32%)

    给你一种编码方式:’a’ -> ‘1’ , ‘b’ -> ‘2’ … ‘z’ -> ‘26’,求给定字符串总共有多少种编码方式。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    class Solution {
    public:
        /**
         * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
         *
         * 解码
         * @param nums string字符串 数字串
         * @return int整型
         */
        int solve(string nums) {
            return count(nums);
        }
        int count(string code)
        {
            if(code.size()==0)
                return 1;
            if(code.size()==1)
                return 1;            
            if(code[0]<='2'&&code[1]<='6')
                return count(code.substr(1)) + dfs(code.substr(2));
            return count(code.substr(1));
        }
    };
    当时死活不知道哪里错了,后来结束之后到 IDE 上调试了一下就发现 code[0]<='2'&&code[1]<='6' 这个条件是有问题的,应该是 code[0]=='2'&&code[1]<='6' || code[0]=='1' ,并且还有额外的细节,比如 "10"或者"20" 只有一种解码方式。以及整体还有很大的性能优化空间。

岗位

游戏客户端开发工程师

试卷类型

【途游春招】技术岗位笔试题-5

题目分配

30 道不定项选择题,3 道编程题

作答时间

90 分钟

做题感受

  • 选择题注重考察操作系统,难度中等偏上,还会考一些概率题比如条件概率和正态分布。

  • 编程题总体来说不难

  • 第一题用栈即可

    给你一个空字符串,你可以在该字符串的任意位置插入”ab”,随后会给你 n 行字符串,判断是否能用这种方式生成,可以的话输出”YES”,反之输出”No”。

  • 第二题是赛程表生成,一开始没读明白题目,理解了以后也很简单

    给你编号为 1,2,3,4,5,6…n 的 n 家俱乐部,他们的顺序到比赛场地从远到近,现在希望需要进行两两对战共 $\frac{n(n-1)}{2}$ 场,且希望越远的俱乐部先进行对战,并在完成所以后可以先离开,输出对战表。

  • 第三题 DFS

    给你 n 个节点,每个节点有自己的权值和若干个子节点,小红从根节点开始往下走,求所有路径中节点权值之和超过 m 的路径上最大节点权值的最小值。

对根节点进行 DFS 搜索,结束条件为该路径下权值之和大于 m,并记录下该路径的节点最大权值,比较出最小值即可。

岗位

游戏客户端开发

试卷类型

西山居2024春招技术开发D卷

题目分配

4 道单选,6 道不定项,2 道填空,2 道编程,1 道问答

作答时间

120 分钟

阅读全文 »

岗位

c++客户端研发工程师-Flow

试卷类型

字节跳动2024春招研发第四场笔试【客户端方向】

题目分配

4 道编程题。

作答时间

120 分钟

阅读全文 »

岗位

c++游戏客户端开发工程师

试卷类型

完美世界2024年春招游戏C++开发-B卷

题目分配

20 道单选,10 道不定项,2 道编程题

阅读全文 »

全程 60 分钟左右

  • 前面没录音忘了
  • 问对方技术栈(C#用的比较少,java会多一些,c++也会用图形处理,做抽象类,模型的选择控制生成,还有数据库,业务范围比较广)
  • 介绍一个项目里觉得有挑战的(手搓引擎)
  • 介绍了一下项目
  • 职责怎么划分的
  • 代码规模
  • 碰到哪些技术难题
  • 具体展开讲讲是如何实现的
  • 是独立想出来的,还是讨论的,还是借鉴了业内的方案
  • 你觉得c++和 c#与java的区别
  • 面向对象的特征
  • 采用什么方法多线程并发问题
  • 手撕算法题(面试官评价中等偏难)

    给你两个四位数 a,b 且 a,b 都是质数,你每次只能变化其中一位数字,并且需要保证变化后的数字也是质数,问从 a 到 b 最少的变换次数。

  • 思路想了一下用 DFS,然后手撕一半的时候被叫停了问了下思路说可以
  • 面试官说 BFS 会简单一些,用 DFS 会复杂一些
  • 反问
  • 主要看中软件知识掌握扎实
  • 跟团队领导的风格比较相关,把业务交出来比较重要,没有那么轻松和游戏行业比较像吧
  • 团队里面年轻人比较多,因为公司成立也没有多久
  • 正规培训流程,6个月适应期有导师,熟悉业务知识

全程 70 分钟左右

  • 自我介绍
  • 问了自我介绍中的一个项目(某游戏 mod)
  • 还在维护吗
  • 能接受在深圳工作吗
  • 手撕LRU(写完以后聊思路和说复杂度)
  • 将LRU改成LFU怎么修改
  • 如果改成LFU的时间复杂度
  • 如果在游戏中LRU和LFU有什么优劣,会选择哪种方案
阅读全文 »