上个月我走完了 Sony Pictures 的 online assessment 和 coding 轮,岗位是 mid-level 的 frontend engineer。分享一下形式和难度,因为能找到的准备资料太少了。
Online assessment。 recruiter screen 之后大概一周发。HackerRank 平台。两题,总共 90 分钟。语言不限。
第 1 题是 medium 难度的 string 题,大概是找出所有满足某些条件的有效 substring。题面清晰,没有歧义。
第 2 题是 graph/tree traversal。我按 LeetCode 标准会给 medium。不是简单题,但也不需要知道什么冷门 trick。标准 BFS,加了个对返回值的变形。
没有那种阴间边界条件陷阱,这点我很感激。我做过一些 OA,测试用例明显在抓各种奇怪的 null 情况,这次不是。他们更像是在看你能不能写出干净、可用的代码,而不是你背了多少图论。
virtual onsite 里的 coding 轮。 45 分钟两题,面试官实时看着。这种压力和异步的 OA 完全不同。
第 1 题是 easy-medium,主要是 arrays 和 hash maps。我大概 12 分钟写完,然后剩下时间在扩展:如果输入是 stream 呢?如果要处理并发更新呢?整体是那种偏 signals 的讨论,感觉挺好的。
第 2 题是 medium 难度的 dynamic programming。我一开始用了暴力递归,面试官让我先走下去,然后问我能不能优化。我反应过来切到 memoization,就还行。
这个流程的一些通用准备建议: 练 LeetCode medium,不用 hard。做完整的 45 分钟模拟。 把你的思路说出来。两轮都很看重解释能力,不只是输出对不对。 对 frontend 岗:两轮 coding 都没问 React/JS 特定题,都是通用算法。stack 相关更多是在 behavioral 和 cross-functional 讨论里出现。
总体难度:如果你一直在稳定准备,是可控的,不算折磨。