刚走完 McDonald's Global Technology 的在线测评,申请的是 new grad / junior SWE 岗。分享下细节,因为我准备时几乎搜不到。
平台:HackerRank(或类似 HackerRank,可能因岗位不同)
我拿到的形式:2 道编程题,总计 75 分钟。开头还有一个 10 题的选择题部分,考 CS 基础(Big O、数据结构性质、一题 SQL)。选择题大概 10 分钟。
难度: 题 1:LeetCode easy-medium。数组操作,找最大和子数组。知道 Kadane's algorithm 就很直接。 题 2:LeetCode medium。字符串解析 / 滑动窗口。有个约束让朴素解法会挂。
两题都不算 LeetCode hard。但 75 分钟感觉很紧,因为我在 MC 部分读太仔细了。那部分先快速扫完,再给编程留时间。
我希望提前知道的: 复杂度分析要很熟。他们明确要求在注释里写时间和空间复杂度。 SQL 那题很基础,就是 JOIN,不花。会写 LEFT JOIN 就行。 边界情况很重要。有个用例专门测空输入,我一开始漏了。
我过了 OA,进了技术 phone screen。phone screen 又是一道题,中等难度,通过屏幕共享讲题。他们居然让我用自己的 IDE 写代码,这点挺爽。
总体感觉 OA 比我做过的 Amazon 或 Google OA 更友好。扎实的 medium 准备就够了。别想太多。