Cisco Online Assessment & Interview Questions

Cisco is a dream company for many engineers. From networking and cybersecurity to cloud and software, the kind of work they do is cutting-edge. If you’re aiming to join them, whether you’re just starting out or already have experience, the key is knowing how their hiring process works and preparing smartly for it.


About Cisco

Founded in 1984, Cisco Systems is a global leader in networking hardware, software, and telecommunications equipment. Over the years, it has also expanded into cybersecurity, IoT, and cloud solutions. With innovation at its core, Cisco is consistently ranked among the best places to work worldwide due to its culture, career opportunities, and impactful projects.


Cisco Hiring Process

The hiring process may vary slightly based on role (Software Engineer, Network Engineer, Cybersecurity Analyst, etc.), but typically includes:

1. Online Assessment (OA)

  • Aptitude + Technical MCQs: Topics include OS, DBMS, Networking, C/C++/Java basics, and logical reasoning.
  • Coding Round: 1–2 coding questions on platforms like Hackerrank.

    • Common problems: arrays, strings, linked lists, dynamic programming, greedy algorithms.

2. Technical Interviews (1–2 rounds)

  • Focus on Data Structures & Algorithms (DSA).
  • Hands‑on coding: Linked list operations, tree traversals, graph algorithms, string manipulations.
  • Role‑specific: Networking, OS, databases, and system design for experienced roles.

3. Managerial/Technical Round

  • Deeper role‑specific questions.
  • Scenario‑based problem solving.
  • May include discussions on projects, design decisions, and troubleshooting approaches.

4. HR/Behavioral Round

  • Cultural fit, communication skills, teamwork, and career goals.
  • Questions like: “Why Cisco?”, “Tell me about a time you solved a tough problem in a team.”

Cisco Preparation Resources

1. Coding Practice

  • LeetCode: Medium‑level problems (DP, greedy, backtracking).
  • GeeksforGeeks: Practice classics like linked list reversal, tree traversal, sorting algorithms.

2. Core CS Concepts

3. Aptitude

4. Behavioral Prep

STAR Method (Situation, Task, Action, Result)
Learn how to structure answers for HR and behavioral questions:

Cisco’s Core Values
Frame your answers around Cisco’s culture of innovation, inclusion, integrity, and teamwork:

5. Additional Resources


Pro Tips for Success

  • Balance Prep: Don’t ignore MCQs; Cisco often tests breadth as much as depth.
  • Time Management: In OA, coding + MCQs are time‑bound—practice mock tests.
  • Hands‑on Projects: Be ready to explain your projects in depth—impact, challenges, and technical decisions.
  • Network Smart: Connect with Cisco employees on LinkedIn for insights and referrals.


Cisco Previous Year Coding Questions

Below is a collection of coding questions commonly asked in Cisco's recruitment assessments, based on patterns from candidate experiences, PrepInsta, GeeksforGeeks, and LeetCode discussions. These questions focus on data structures, algorithms, and problem-solving, reflecting the types of challenges in Cisco's online tests and interviews. Solutions are not provided as per the request.


Array and String Problems

1. Maximum Drop Points in a Terrain

Description: A pilot must drop food packets over a terrain in a single horizontal or vertical path. Given n points with coordinates (xCoordinates, yCoordinates), find the maximum number of points that lie on a single horizontal or vertical line.

Input: Integer n, arrays xCoordinates and yCoordinates.

Output: Integer representing the maximum number of points.

Example:

Input: n = 4, xCoordinates = [1, 2, 1, 1], yCoordinates = [1, 1, 2, 3]
Output: 3

2. Lexicographical String at Index M

Description: Given integers M and N, return the Mth string (1-based index) in the lexicographically sorted set of all possible strings of length N made from lowercase letters. If M exceeds the number of possible strings, return "Not possible".

Input: Integers M (index), N (string length).

Output: String or "Not possible".

Example:

Input: M = 2, N = 1
Output: b

Input: M = 27, N = 1
Output: Not possible

3. Reverse Words in a String

Description: Given a string, reverse the order of words while keeping the words themselves intact. Words are separated by spaces, and multiple spaces should be handled.

Input: String s.

Output: String with reversed word order.

Example:

Input: s = "Cisco Systems is hiring"
Output: hiring is Systems Cisco

4. Find Missing Number in Array

Description: Given an array of n-1 integers in the range [1, n], find the missing number.

Input: Array of n-1 integers.

Output: The missing integer.

Example:

Input: arr = [1, 2, 4, 5]
Output: 3

5. Longest Palindromic Substring

Description: Given a string, find the longest substring that is a palindrome.

Input: String s.

Output: The longest palindromic substring.

Example:

Input: s = "babad"
Output: bab

Graph and Path Problems

6. Top 2 Cheapest Round Trips

Description: Given C cities, F flights, and an array A of [start_city, dest_city, price], return the prices of the two cheapest round trips as an array. If fewer than two round trips are possible, return appropriate values (e.g., [infinity]).

Input: C (cities), F (flights), A (array of [start, dest, price]).

Output: Array of two integers.

Example:

Input: C = 3, F = 3, A = [[1,2,100], [2,3,200], [3,1,300]]
Output: [infinity]

7. Snake and Ladder Problem

Description: Given an N x N board with snakes and ladders as source-destination pairs, find the minimum number of moves to reach cell N*N from cell 1 using a 6-sided die.

Input: N (board size), snakes_ladders (list of [source, dest] pairs).

Output: Minimum moves or -1 if impossible.

Example:

Input: N = 6, snakes_ladders = [[16,6], [13,24], [25,10]]
Output: 4

8. Shortest Path in a Grid

Description: Given an m x n grid where 0 represents an obstacle and 1 represents a valid cell, find the shortest path from (0,0) to (m-1,n-1) using only right and down moves.

Input: Grid as a 2D array.

Output: Length of the shortest path or -1 if impossible.

Example:

Input: grid = [[1,1,1], [1,0,1], [1,1,1]]
Output: 4

9. Minimum Cost Path

Description: Given a grid where each cell has a cost, find the minimum cost to reach the bottom-right cell from the top-left cell, moving only right, down, or diagonally.

Input: m x n grid of costs.

Output: Minimum cost.

Example:

Input: grid = [[1,3,1], [1,5,1], [4,2,1]]
Output: 7

10. Cycle Detection in Directed Graph

Description: Given a directed graph as an adjacency list, determine if it contains a cycle.

Input: Number of vertices V, edges as a list of [u, v] pairs.

Output: true if a cycle exists, false otherwise.

Example:

Input: V = 4, edges = [[1,2], [2,3], [3,1]]
Output: true

Tree Problems

11. Level Order Traversal of Binary Tree

Description: Given a binary tree, return its level order traversal as a list of lists, where each inner list contains the node values at that level.

Input: Root of a binary tree.

Output: List of lists of integers.

Example:

Input: root = [1,2,3,4,5]
Output: [[1], [2,3], [4,5]]

12. Path Sum in Binary Tree

Description: Given a binary tree and a target sum, determine if there exists a root-to-leaf path whose nodes sum to the target.

Input: Root of a binary tree, integer target.

Output: true if such a path exists, false otherwise.

Example:

Input: root = [5,4,8,11,null,13,4,7,2,null,null,null,1], target = 22
Output: true

13. Lowest Common Ancestor

Description: Given a binary tree and two nodes, find their lowest common ancestor.

Input: Root of a binary tree, nodes p and q.

Output: The LCA node value.

Example:

Input: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1
Output: 3

14. Maximum Depth of Binary Tree

Description: Given a binary tree, find its maximum depth (number of nodes along the longest path from root to leaf).

Input: Root of a binary tree.

Output: Integer representing the maximum depth.

Example:

Input: root = [1,2,3,4,5]
Output: 3

15. Check if Binary Tree is Balanced

Description: Determine if a binary tree is height-balanced (the height of left and right subtrees of every node differs by at most 1).

Input: Root of a binary tree.

Output: true if balanced, false otherwise.

Example:

Input: root = [1,2,3,4,5,null,6]
Output: false

Dynamic Programming

16. Longest Common Subsequence

Description: Given two strings, find the length of their longest common subsequence.

Input: Two strings text1 and text2.

Output: Integer length of the LCS.

Example:

Input: text1 = "ABCDGH", text2 = "AEDFHR"
Output: 3

17. Knapsack Problem

Description: Given n items with weights and values, and a knapsack capacity W, find the maximum value achievable without exceeding the capacity.

Input: n, arrays weights and values, integer W.

Output: Maximum value.

Example:

Input: n = 3, weights = [10,20,30], values = [60,100,120], W = 50
Output: 160

18. Minimum Path Sum in Triangle

Description: Given a triangle of numbers, find the minimum path sum from top to bottom, where each step can move to adjacent numbers in the next row.

Input: Triangle as a list of lists.

Output: Minimum path sum.

Example:

Input: triangle = [[2], [3,4], [6,5,7], [4,1,8,3]]
Output: 11

19. Edit Distance

Description: Given two strings, find the minimum number of operations (insert, delete, replace) to convert one string into another.

Input: Two strings word1 and word2.

Output: Minimum operations.

Example:

Input: word1 = "horse", word2 = "ros"
Output: 3

20. Maximum Subarray Sum

Description: Given an array of integers, find the contiguous subarray with the largest sum.

Input: Array of integers.

Output: Maximum sum.

Example:

Input: nums = [-2,1,-3,4,-1,2,1,-5,4]
Output: 6

Miscellaneous Problems

21. Rotate Matrix

Description: Given an n x n matrix, rotate it 90 degrees clockwise in-place.

Input: n x n matrix.

Output: Rotated matrix (modified in-place).

Example:

Input: matrix = [[1,2,3], [4,5,6], [7,8,9]]
Output: [[7,4,1], [8,5,2], [9,6,3]]

22. Spiral Matrix

Description: Given an m x n matrix, return all elements in spiral order (clockwise starting from top-left).

Input: m x n matrix.

Output: List of elements in spiral order.

Example:

Input: matrix = [[1,2,3], [4,5,6], [7,8,9]]
Output: [1,2,3,6,9,8,7,4,5]

23. N-Queens Problem

Description: Place n queens on an n x n chessboard such that no two queens threaten each other. Return the number of possible configurations.

Input: Integer n.

Output: Number of valid configurations.

Example:

Input: n = 4
Output: 2

24. Sudoku Solver

Description: Given a partially filled 9x9 Sudoku board, fill it such that it is valid (each row, column, and 3x3 sub-box contains digits 1-9 without repetition).

Input: 9x9 board with digits 1-9 and . for empty cells.

Output: Solved board (modified in-place).

Example:

Input: board = [["5","3","."],["6",".","."],[".","9","8"],...]
Output: Solved Sudoku board

25. Valid Parentheses

Description: Given a string containing parentheses (), {}, [], determine if it is valid (properly nested and closed).

Input: String s.

Output: true if valid, false otherwise.

Example:

Input: s = "{[]}"
Output: true

26. Merge Intervals

Description: Given a list of intervals [start, end], merge overlapping intervals and return the merged list.

Input: List of intervals.

Output: List of merged intervals.

Example:

Input: intervals = [[1,3], [2,6], [8,10], [15,18]]
Output: [[1,6], [8,10], [15,18]]

27. LRU Cache Implementation

Description: Implement an LRU (Least Recently Used) cache with get and put operations. The cache has a fixed capacity, and the least recently used item is evicted when full.

Input: Capacity, sequence of get and put operations.

Output: Results of get operations.

Example:

Input: capacity = 2, operations = [["put",1,1], ["put",2,2], ["get",1], ["put",3,3], ["get",2]]
Output: [1, -1]

28. Word Ladder

Description: Given two words and a dictionary, find the shortest transformation sequence from the start word to the end word, changing one letter at a time, with each intermediate word in the dictionary.

Input: beginWord, endWord, list of words.

Output: Length of the shortest transformation sequence.

Example:

Input: beginWord = "hit", endWord = "cog", wordList = ["hot","dot","dog","lot","log","cog"]
Output: 5

29. Next Permutation

Description: Given an array of integers representing a permutation, find the next lexicographically greater permutation. If none exists, return the lowest permutation.

Input: Array of integers.

Output: Next permutation (modified in-place).

Example:

Input: nums = [1,2,3]
Output: [1,3,2]

30. Trapping Rain Water

Description: Given an array representing elevation heights, compute how much water can be trapped after raining.

Input: Array of non-negative integers.

Output: Amount of water trapped.

Example:

Input: height = [0,1,0,2,1,0,1,3,2,1,2,1]
Output: 6

31. Cake Cutting Puzzle

Description: How can you cut a circular cake into exactly 8 equal pieces using only 3 straight cuts?

Output: Describe the method.

32. Transmission Latency

Description: Given a network with n nodes and transmission times between them, calculate the minimum time to send a message from a source node to all other nodes.

Input: n, edges with transmission times, source node.

Output: Total time.

Example:

Input: n = 3, edges = [[1,2,5], [2,3,10]], source = 1
Output: 15

33. IP Address Validation

Description: Given a string, determine if it is a valid IPv4 address (four numbers in range 0-255 separated by dots, no leading zeros).

Input: String s.

Output: true if valid, false otherwise.

Example:

Input: s = "192.168.1.1"
Output: true

Input: s = "256.1.2.3"
Output: false

34. Packet Routing

Description: Given a network of routers and their connections, find the shortest path for a packet from source to destination.

Input: Number of routers, connections with weights, source, destination.

Output: Shortest path length.

Example:

Input: n = 4, edges = [[1,2,1], [2,3,2], [3,4,1], [1,4,5]], source = 1, dest = 4
Output: 4

35. Number of Islands

Description: Given a 2D grid of 1s (land) and 0s (water), count the number of islands (connected land cells surrounded by water).

Input: 2D grid of 1s and 0s.

Output: Number of islands.

Example:

Input: grid = [["1","1","0","0"], ["1","1","0","0"], ["0","0","1","0"], ["0","0","0","1"]]
Output: 3

At Last

Getting into Cisco isn’t about being a genius, it’s about preparing the right way. If you keep your coding sharp, revise the basics, and practice interview problems regularly, you’ll slowly build the confidence you need. Stay consistent, don’t stress the process too much, and trust your effort. With the right prep, you can absolutely crack Cisco and start your journey with one of the coolest tech companies out there.

Join Telegram group for more resources & discussions!

🧰 Useful Resources for Your Placement Prep

Explore previous year questions from top companies to boost your placement prep: