HackTheRounds Interview Experiences
Cisco OA Interview Experience (2026) - Kth Largest, Reverse List, Topological Sort, Offer
Cisco Online Assessment breakdown: five coding categories (heap kth largest, linked list reverse, tree invert, climbing stairs DP, Kahn's topological sort) with
By Anonymous · 2026-03-16
Background
Cisco was my "apply broadly and see what happens" application and it turned into a real offer. I am a senior CS student looking at network-heavy companies because I actually like networking at the protocol level and Cisco still does that work at scale. The early screening stage is an online assessment and that OA is what this post is about. I passed it, advanced to the onsite, and eventually took the offer.
Timeline
- Online application: late January
- OA invite: 2 weeks later
- OA completed: within the 7-day window
- Virtual onsite: 3 weeks after OA
- Offer: 6 weeks after OA
- Total: ~9 weeks
Online Assessment Overview
The Cisco OA has three sections and the coding section is where most people get cut. Logical reasoning and quantitative aptitude come first and act as a warmup, but they are not trivial. Budget your time so the coding section gets the largest chunk because that is what the engineering review actually weighs.
The coding portion mixes medium-difficulty problems from canonical data-structure and algorithm categories. Cisco is not trying to trick you with novel problem statements. They are checking whether you can recognize a classic pattern, implement it cleanly, and handle edge cases.
This question is coming soon to HackTheRounds.
Coding Section Question Breakdown
Below is the shape of what showed up in my OA window, grouped by category. The exact problems rotate, but the categories are stable across cycles.
Array and String Manipulation — Kth Largest Element
Problem: Given an unsorted integer array and an integer k, return the kth largest element in sorted order (not the kth distinct value). Array size can go up into the hundreds of thousands.
Two reasonable approaches. Sort the array and index from the end for O(n log n), which is fine for the input size Cisco gives you. For a cleaner interview-style answer, use a min-heap of size k: iterate the array, push each element, pop when the heap grows past k, and the heap root at the end is the answer. That is O(n log k) and it is the answer the grader seems to prefer for follow-up questions about streaming inputs. Quickselect is an option but the overhead of writing it correctly under time pressure is rarely worth it.
This question is coming soon to HackTheRounds.
Linked List — Reverse a Singly Linked List
Problem: Given the head of a singly linked list, reverse the list and return the new head.
This is the single most common warmup in any networking-company OA and Cisco is no exception. The iterative three-pointer approach (prev, curr, next) is the default. Time O(n), space O(1). The recursive version is elegant but the stack frame cost matters if the list is long, and it reads as "I copied this from a textbook" rather than "I thought about the constraints."
This question is coming soon to HackTheRounds.
Tree Traversal — Invert Binary Tree
Problem: Given the root of a binary tree, swap the left and right children of every node and return the root.
Recursive solution reads in three lines: invert left, invert right, swap. Time O(n), space O(h) for the recursion stack. If the tree is skewed, h equals n and you should mention that. A BFS iterative variant using a queue achieves the same result without stack risk, which is worth mentioning as the follow-up the grader wants to hear.
This question is coming soon to HackTheRounds.
Dynamic Programming — Climbing Stairs
Problem: You are climbing a staircase of n steps and each move covers 1 or 2 steps. Return the number of distinct ways to reach the top.
Fibonacci in disguise. The DP recurrence is f(n) = f(n-1) + f(n-2) with base cases f(1) = 1 and f(2) = 2. Implement with two rolling variables and you are O(n) time and O(1) space. The Cisco OA grader rejects the naive recursion with no memoization because it times out on the larger test cases, so this is a trap if you pattern-match on "tree recursion" without thinking about overlapping subproblems.
This question is coming soon to HackTheRounds.
Graph — Topological Sort of a DAG
Problem: Given a directed acyclic graph as an adjacency list, return any valid topological ordering of its nodes.
Two canonical algorithms. Kahn's algorithm is BFS-flavored: compute in-degrees, seed a queue with all zero-in-degree nodes, pop nodes, decrement neighbor in-degrees, enqueue any neighbor whose in-degree hits zero. DFS variant: recurse, and post-order push each node onto an output stack, reverse at the end.
I used Kahn's because the "detect a cycle" follow-up falls out naturally: if you finish and some nodes never entered the queue, you had a cycle. Cisco's OA specifically asked about cycle detection on one of my test cases, so pick the variant that has the cycle check built in.
This question is coming soon to HackTheRounds.
Result
I passed the OA comfortably with time to spare by doing the trivial ones fast and leaving the DP and graph problems for the back half. Cisco moved me to the onsite loop after about three weeks of radio silence and eventually extended an offer.
Tips
- Prioritize the coding section even if it comes last. Cisco's OA starts with logical reasoning and quant, and it is easy to over-invest there. The engineering team reviews only the coding section when they debrief, so treat that as your primary allocation.
- Recognize the category in the first 30 seconds. Every Cisco OA problem maps to a classic pattern (heap for kth, two pointers for string, topo for graph). If you cannot name the category in 30 seconds, re-read the problem, because you are missing a keyword.
- Min-heap of size k beats sort on paper. Use the heap approach for kth-largest even though sort would pass. It tells the grader you understand time-vs-space tradeoffs and the follow-up on streaming data is a layup.
- For the DP problem, memoize from the first line. Writing naive recursion and then "oh I will add a cache" wastes time. The Cisco OA has tight timeouts on the DP bucket and unmemoized recursion blows up on the larger test cases.
- Kahn's algorithm is the safer topological sort. DFS post-order works but the recursion limit can trip on huge graphs, and Kahn's gives you free cycle detection which Cisco asks about often.
- Write clean code, then run it. Cisco's grader shows you the visible test cases before submission. Use the run button. I caught an off-by-one in my heap eviction only because I ran on the sample before submitting.
Cisco's OA is entirely fair if you have done the canonical problems once. Do not over-prepare on esoteric topics. Go deep on the five categories above and you will pass.
This question is coming soon to HackTheRounds.