OA辅助 / 面试训练复盘

Salesforce AMTS OA 面试复盘|100 分钟三道题如何写

这轮 Salesforce AMTS OA 走 HackerRank,100 分钟写三道 DSA 题。时间不算宽裕,第一题把单调队列写稳,后两题才有空间处理树和动态规划。做题时别把样例过了就提交:边界、空输入和大数据才是真正拉开差距的地。

Salesforce AMTS OA 面试复盘|100 分钟三道题如何写主题图解
训练主题配图 · 非客户现场证明

这轮 Salesforce AMTS OA 走 HackerRank,100 分钟写三道 DSA 题。时间不算宽裕,第一题把单调队列写稳,后两题才有空间处理树和动态规划。做题时别把样例过了就提交:边界、空输入和大数据才是真正拉开差距的地方。 三道题分别考单调队列、树形 DP 和组合计数。第三题需要优先把“BST 数量”转成递推式,直接枚举树形会在隐藏测试里爆掉。

第一题:滑动窗口里的最低成本

题目描述

给定每天的服务成本 cost[i] 和窗口长度 k ,对每个连续 k 天窗口输出最低成本,再把所有窗口最低值相加。 n 达到 2×10^5,不能在每个窗口里重新扫描。

解题思路

维护一个存下标的单调递增双端队列。新下标进入时,从队尾删掉成本不大于它的下标;队首一旦离开窗口就弹出。队首始终是当前窗口最小值的下标。第 k-1 天起,每一步把 cost[deque[0]] 加入答案。这样每个元素只进出队列一次,时间 O(n),空间 O(k)。

第二题:父子和受限的二叉树

题目描述

给一棵二叉树,每个节点保存非负整数。选一组节点,使任意被选节点不能与它的父节点同时被选,求可取得的最大和。节点数达到 10^5。

解题思路

后序遍历时,为每个节点返回两个值: take 表示选当前节点, skip 表示不选当前节点。 take = node.val + left.skip + right.skip ; skip = max(left.take, left.skip) + max(right.take, right.skip) 。根节点答案是两者较大值。递归深度过大时改成显式栈做两次访问标记,避免 Python 或 Java 的栈深限制。这个题的关键不是树形写法,而是把父子依赖压成两个状态。

第三题:n 个节点能组成多少棵 BST

题目描述

输入 n ,计算键值为 1 到 n 时能形成多少棵结构不同的二叉搜索树,结果对 1_000_000_007 取模。测试包含 n = 2000 。

解题思路

设 dp[i] 是 i 个节点的答案。把第 j 个键放在根节点,左子树有 j-1 个节点,右子树有 i-j 个节点,所以 dp[i] += dp[j-1] * dp[i-j] 。初始化 dp[0] = 1 ,从 1 推到 n。两层循环是 O(n²),在给定规模内可过。写代码前先统一 long 型乘法再取模,避免中间乘积溢出。

做题过程里最值得花时间的两件事

Salesforce 的题目跨度不只在数组和树。100 分钟里先用两三分钟写清函数签名、返回值和空输入,再开始编码,会比写到一半推翻状态舒服得多。二叉树题要主动补一个单节点、链状树和全零树;窗口题要补 k=1 、 k=n 、重复成本。 准备时可以把单调队列、树形 DP、优先队列各挑两道限时题。HackerRank 的体验与在线协作轮不同,能独立完成只是起点,后续技术轮还要讲清状态定义和复杂度。一篇 AMTS 的两轮经历 也提到,代码需要通过全部测试,优化思路不能只停在口头上。

FAQ

Salesforce OA 是不是只考数组题?

不是。数组、滑动窗口、树和 DP 都要准备,重点是把中等难度题写成可运行、可覆盖边界的代码。

100 分钟三题怎样分配?

先在 25 分钟内完成最顺手的一题并自测;第二题控制在 35 分钟;最后 40 分钟留给状态题和回归测试。遇到卡点优先把核心状态写下来,不要在一个样例上反复调。

参考来源

Salesforce AMTS OA 与面试经历 Salesforce AMTS HackerRank 三题经历 Salesforce Software Engineer 两段在线技术评估经历

联系 VOPathway

如果你希望把这套方法用于自己的 OA 或 VO 准备,可以把目标岗位、当前阶段、面试时间和主要难点发给 VOPathway,我们会据此安排针对性的练习与复盘。

  • 微信:Coding0201
  • 邮箱:[email protected]
  • Telegram:@OAVOProxy
  • WhatsApp:+86 178 6396 8105

可提供 OA辅助、OA辅导、VO辅助与 VO辅导。文章用于训练参考,不代表相关公司的官方流程;实际安排请以候选人收到的通知为准。

每一步,都更接近准备充分的自己。

本文用于面试准备与训练复盘。公司名称仅用于标识题型素材主题,不代表官方合作或录用承诺。

预约一次训练复盘 ↗