Cisco Online Assessment 真实题目分享 & 备战心得(2026 最新)

42Times read
No Comments

Cisco Online Assessment 整体来说确实不算特别难,我也是刚刚做完,趁着记忆还很新鲜,想把整个过程和自己的真实体验记录下来。这篇主要会分享我从拿到 OA 到完成测试的整个经历,包括遇到的题型、时间分配,以及我当时的一些应对策略,给后面准备的同学一个参考。

Cisco Online Assessment 真实题目分享 & 备战心得(2026 最新)

题目 1:FizzBuzz

题目描述

当给定一个数字 N 时,对于从 1 到 N(包含 1 和 N)的每个整数 i,每行打印一个值,规则如下:

  • 如果 i 是 3 和 5 的倍数,打印 FizzBuzz
  • 如果 i 是 3 的倍数但不是 5 的倍数,打印 Fizz
  • 如果 i 是 5 的倍数但不是 3 的倍数,打印 Buzz
  • 如果 i 既不是 3 的倍数也不是 5 的倍数,打印 i 的值。

编写一个算法,按照上述指令打印所需的输出。

解题思路

拿到这道题时,我的第一反应就是:这是一道非常基础的编程题,主要考察循环和条件判断的运用。

我用 Java 来实现:先读取输入的整数 N,然后从 1 循环到 N。对于每一个数字 i,我按以下顺序判断:

  • 如果 i 同时能被 3 和 5 整除,就打印 “FizzBuzz”;
  • 如果只能被 3 整除,就打印 “Fizz”;
  • 如果只能被 5 整除,就打印 “Buzz”;
  • 否则直接打印数字 i 本身。

整个代码结构很简单,主要就是 for 循环加 if-else 判断。时间复杂度是 O(N),空间复杂度是 O(1)。

我特意用输入 5 测试了一下,输出结果完全符合预期。

题目 2:外观数列

题目描述

编写一个算法,以如下方式找出给定数字的下一个序列: 将给定数字视为一个字符串(由数字组成)。对于每组连续相同的数字 D(出现 N 次),在输出字符串中追加 N 后面跟着数字 D

例如: 数字 1211 由一个 1、一个 2 和两个 1 组成,因此序列中的下一个数字是 111221

输入 输入由一个整数 inputNum 组成,表示给定的数字 N

输出 打印一个字符串,该字符串是将给定数字作为数字字符串读取后形成的下一个序列。

示例 输入: 225

输出: 2215

解释: 给定的数字由两个 2 和一个 5 组成,因此我们得到 ’22’ 和 ’15’,输出为 “2215”。

解题思路

我采用的是双指针的方法来解决:

  • 先把输入数字转成字符串;
  • 用两个指针 i 和 j 从左到右遍历,i 固定在当前数字的起始位置,j 一直往后移动,直到遇到不同的数字为止;
  • 这样就能统计出当前连续相同数字的个数,然后把「个数 + 数字」拼接到结果中;
  • 重复这个过程直到遍历完整个字符串。

题目 3:二叉搜索树中两个节点的距离

题目描述

编写一个算法,求二叉搜索树(BST)中两个键之间的距离。

输入

  • 第一行输入是一个整数 tree_size,表示二叉搜索树中元素的数量(N)。
  • 下一行是 N 个空格分隔的整数,表示二叉搜索树中每个节点的值。
  • 第三行是一个整数 key_size,表示键值的数量(K)。
  • 最后一行是 K 个空格分隔的整数,表示需要求距离的键值。

输出 打印一个整数,表示给定两个键值之间的距离。

注意

  • K 的值始终为 2,即始终有两个键值。
  • 二叉搜索树中的节点数量不超过 100。
  • 每个节点的值是非零正整数。
  • BST 中没有环。
  • BST 中的键是唯一的,即没有两个节点具有相同的值。
  • 两个键值都存在于 BST 中。

示例 输入: 8 30 20 15 25 24 40 37 45 2 20 40

输出: 2

解释

text

30
     /  \
   20    40
  /  \   /
15   25 37
     /    \
    24     45

给定两个键值 20 和 40,从 20 → 30 → 40 的路径长度为 2,因此输出 2。

解题思路

先找到两个节点的最近公共祖先(LCA),然后分别计算每个节点到 LCA 的距离,再把两个距离相加。

利用 BST 的有序特性,寻找 LCA 的过程非常高效:

  • 从根节点开始遍历,
  • 如果两个节点的值都小于当前节点,就往左子树走;
  • 如果两个节点的值都大于当前节点,就往右子树走;
  • 否则,当前节点就是它们的最近公共祖先。

找到 LCA 之后,再写一个递归函数,分别从两个节点向上(或向下)走到 LCA,统计经过的边数。最后把两段距离加起来就是答案。

Cisco Online Assessment 心得总结

以上就是我这次 Cisco Online Assessment 的完整经历和题目分享。总的来说,Cisco OA 难度相对适中,但 Networking MCQ 占比很高,Coding 部分也越来越注重树和图的应用。提前刷好高频题型 + 合理分配时间,是通过的关键。

特别感谢 Programhelp的 OA无痕助攻 ,实时思路和提示让我少走了很多弯路,最终顺利通过。如果你也正在准备 Cisco OA,希望这篇面经能帮到你,早日拿到心仪的 Offer!

author avatar
Jory Wang Amazon资深软件开发工程师
Amazon 资深工程师,专注 基础设施核心系统研发,在系统可扩展性、可靠性及成本优化方面具备丰富实战经验。 目前聚焦 FAANG SDE 面试辅导,一年内助力 30+ 位候选人成功斩获 L5 / L6 Offer。
End of text
 0