Go2X

On This Page

Cisco
Cisco

Cisco Interview Experience

Rejection

Interview Experience for Fresher Software Engineer, Feb 2026

Role

Software Engineer

Experience

Fresher

Platform

Other

Prep Duration

15 Months

Eligibility / Offer Details

7+ Cpi (Salary Package: 46 LPA)

Branch

Electrical Engineering

Total Rounds

2 Rounds

Application Experience

I applied for the opportunity at Cisco through an off-campus hiring drive by submitting my application online via their careers portal. After applying, I received communication regarding the initial screening and assessment process. Candidates who cleared the assessment were shortlisted for the interview rounds. The entire process was conducted online, and updates regarding each stage were shared via email. The process was smooth and well-organized throughout.

Preparation

Topics Prepared: Data Structures, Algorithms, Computer Networks, Operating Systems, Object-Oriented Programming (OOP), Database Management Systems (DBMS)

Preparation Tips

Tip 1: Practice DSA problems consistently and focus on understanding the logic behind each solution rather than memorizing patterns. Tip 2: Strengthen core subjects like Computer Networks, Operating Systems, and DBMS, as many interviews focus on fundamentals. Tip 3: Work on a few strong projects and be prepared to explain the design, technologies used, and challenges faced.

Resume Tips

Tip 1: Highlight strong projects and internships that clearly demonstrate your technical skills and problem-solving ability. Tip 2: Keep the resume concise and only include technologies or concepts that you can confidently explain during the interview.

Interview Rounds (2)

Detailed breakdown of each evaluation round, questions asked, and candidate approaches.

Round 1

Round 1 — Online Coding Interview

90 minutesHardClearedHackerrank

Problems & Questions Asked (3)

1
Detect Cycle In A Directed Graph
Problem Statement

You are given a directed graph having ‘N’ nodes. A matrix ‘EDGES’ of size M x 2 is given which represents the ‘M’ edges such that there is an edge directed from node EDGES[i][0] to node EDGES[i][1]. Find whether the graph contains a cycle or not, return true if a cycle is present in the given directed graph else return false. For Example : In the following directed graph has a cycle i.e. B->C->E->D->B. Note : 1. The cycle must contain at least two nodes. 2. It is guaranteed that the given graph has no self-loops in the graph. 3. The graph may or may not be connected. 4. Nodes are numbered from 1 to N. 5. Your solution will run on multiple test cases. If you are using global variables make sure to clear them. Input Format : The first line of input contains an integer 'T' representing the number of the test case. Then the test cases are as follows. The first line of each test case argument given is an integer ‘N’ representing the number of nodes in the graph. The second line of each test case contains a given integer ‘M’ representing the number of edges. The next ‘M’ lines in each test case contain a matrix ‘EDGES’ of size M x 2 which represents the ‘M’ edges such that there is an edge directed from node EDGES[i][0] to node EDGES[i][1]. Output Format : For each test case, print true if a cycle is present in the given directed graph else print false. Note : You do not need to print anything; It has already been taken care of. Constraints : 1 ≤ T ≤ 5 2 <= N <= 100 1 <= M <= min(100,N(N-1)/2) 1 <= EDGES[i][0], EDGES[i][1] <= N Where ‘T’ is the number of test cases. Time Limit: 1 sec

Candidate Approach

Step 1: I first clarified the problem and understood that detecting cycles in a directed graph requires tracking the traversal path. Step 2: Initially, I considered using a simple DFS traversal to visit all nodes in the graph. Step 3: I maintained two arrays: one visited array to track visited nodes and another recursion stack array to track nodes currently in the DFS path. Step 4: During the DFS traversal, if I encountered a node that was already present in the recursion stack, it indicated the presence of a cycle in the graph. Step 5: If a neighboring node was not visited, I recursively performed DFS on that node. Step 6: After exploring all neighbors of a node, I removed it from the recursion stack before returning. Step 7: If any DFS call detected a cycle, I returned true; otherwise, after checking all nodes, the graph was considered acyclic.

2
Dijkstra's shortest path
Problem Statement

You have been given an undirected graph of ‘V’ vertices (labeled 0,1,..., V-1) and ‘E’ edges. Each edge connecting two nodes (‘X’,’Y’) will have a weight denoting the distance between node ‘X’ and node ‘Y’. Your task is to find the shortest path distance from the source node, which is the node labeled as 0, to all vertices given in the graph. Example: Input: 4 5 0 1 5 0 2 8 1 2 9 1 3 2 2 3 6 In the given input, the number of vertices is 4, and the number of edges is 5. In the input, following the number of vertices and edges, three numbers are given. The first number denotes node ‘X’, the second number denotes node ‘Y’ and the third number denotes the distance between node ‘X’ and ‘Y’. As per the input, there is an edge between node 0 and node 1 and the distance between them is 5. The vertices 0 and 2 have an edge between them and the distance between them is 8. The vertices 1 and 2 have an edge between them and the distance between them is 9. The vertices 1 and 3 have an edge between them and the distance between them is 2. The vertices 2 and 3 have an edge between them and the distance between them is 6. Note: 1. There are no self-loops(an edge connecting the vertex to itself) in the given graph. 2. There can be parallel edges i.e. two vertices can be directly connected by more than 1 edge. Input format: The first line contains an Integer 'T' which denotes the number of test cases or queries to be run. Then the test cases follow. The first line of each test case contains two integers ‘V’ and ‘E', denoting the number of vertices in the undirected graph and the number of edges in the undirected graph respectively. The next ‘E’ lines contain three space-separated integers ‘X’, ‘Y’, and ‘DISTANCE’, denoting a node ‘X’, a node ‘Y’, and the distance between nodes ‘X’ and ‘Y’ respectively. Output format: For each test case, print a single line containing ‘V’ space-separated integers that denote the shortest distance for each node from 0 to ‘V’-1, considering that we need the shortest distance from source node 0. Print the maximum positive integer value, i.e 2147483647, for the disconnected graph. Output for each test case will be printed in a separate line. Note You are not required to print the output, it has already been taken care of. Just implement the function. Constraints: 1 <= T <= 50 1 <= V <= 1000 1 <= E <= 3000 0 <= X, Y < V 1 <= DISTANCE[X][Y] <= 10^5 Time limit: 1 sec

Candidate Approach

Step 1: I first clarified the requirements and understood that we need to find not just the shortest path but the K shortest distinct paths, which cannot be solved using a simple shortest path algorithm alone. Step 2: Initially, I considered using Dijkstra’s algorithm to find the shortest path from the source to the destination. Step 3: After finding the first shortest path, I used the idea of modifying the path by deviating at different nodes to generate alternative candidate paths. Step 4: I maintained a priority queue (min-heap) to store candidate paths based on their total cost. Step 5: Each time the minimum-cost path was extracted from the heap, it was added to the final answer list. Step 6: From that path, I generated new candidate paths by changing segments of the route and pushed them back into the priority queue. Step 7: I repeated the process until K paths were found or no more candidate paths were available. Step 8: Finally, the algorithm returned the K shortest paths in increasing order of cost.

3
Making The Largest Island
Problem Statement

You are given an 'n' x 'n' binary matrix 'grid' . You are allowed to change at most one '0' to be '1'. Your task is to find the size of the largest island in the grid after applying this operation. Note: An island is a 4-directionally (North, South, East, West) connected group of 1s. Example: Input: 'grid' = [[1,0], [0,1]] Output: 3 Explanation: We can change the 0 at (0,1) to 1 and get an island of size 3. Input format: The first line of each test case contains an integer 'n', representing the number of rows and columns in 'grid'. Each of the next 'n' lines contain 'n' elements each denoting the values of the grid. Output format: Return the largest size of the island in the grid after applying the given operation at most once. Note: You do not need to print anything, it has already been taken care of. Just implement the given function.

Candidate Approach

Step 1: I first clarified the problem and understood that islands are groups of connected 1s, and we are allowed to convert one 0 to 1 to maximize the island size. Step 2: I started by traversing the grid and labeling each existing island using DFS while calculating its size. Step 3: I stored the size of each island with a unique island ID in a hash map. Step 4: After identifying all islands, I iterated over every cell containing 0 to check the potential island size if that cell was converted to 1. Step 5: For each 0 cell, I looked at its four neighboring cells and collected the unique island IDs connected to it. Step 6: I summed the sizes of those unique islands and added 1 for the flipped cell to calculate the new island size. Step 7: I kept track of the maximum possible island size obtained from all such conversions. Step 8: Finally, I returned the maximum island size after considering all possible flips.

Round 2

Round 2 — Video Call

60 minutesMediumCleared

Problems & Questions Asked (4)

1
Minimum Path Sum
Problem Statement

Ninjaland is a country in the shape of a 2-Dimensional grid 'GRID', with 'N' rows and 'M' columns. Each point in the grid has some cost associated with it. Find a path from top left i.e. (0, 0) to the bottom right i.e. ('N' - 1, 'M' - 1) which minimizes the sum of the cost of all the numbers along the path. You need to tell the minimum sum of that path. Note: You can only move down or right at any point in time. Input format : The first line contains an integer 'T' denoting the number of test cases. The first line of each test case contains two space-separated integers 'N' and ‘M’ representing the number of rows and number of columns in the grid, respectively. Next 'N' lines will have 'M' space-separated integers, each line denotes cost values of that row. Output format: For each test case, print the minimum sum of the path from top left to bottom right. Note: You don't need to print anything, it has already been taken care of. Just implement the given function. Follow Up: Can you solve this in O(1) space complexity? Constraints: 1 <= T <= 100 1 <= N, M <= 10^2 1 <= GRID[i][j] <= 10^5 Where 'GRID[i][j]' denotes the value of the cell in the matrix. Time limit: 1 sec

Candidate Approach

Step 1: I first clarified the problem constraints and realized that we need to find the shortest path in a grid while also keeping track of the number of obstacles we can eliminate. Step 2: Since we need the shortest path, I decided to use Breadth-First Search (BFS) because it guarantees the shortest path in an unweighted grid. Step 3: I created a queue to store the current position along with the number of obstacles eliminated so far. Step 4: I maintained a visited structure that tracked cells along with the remaining number of obstacle eliminations to avoid revisiting inefficient states. Step 5: During traversal, for each cell, I explored its four neighboring cells and checked whether they were inside the grid. Step 6: If the next cell contained an obstacle, I checked whether I still had remaining eliminations available before moving into that cell. Step 7: I pushed valid states into the queue and continued the BFS traversal level by level.

2
Operating System
Problem Statement

What is a deadlock ? What is demand paging, and how does page replacement work? Explain the Producer–Consumer problem and how semaphores solve it. (Learn)

Candidate Approach

Tip 1 : Focus on understanding process synchronization, deadlocks, and memory management concepts thoroughly. Tip 2 : Practice explaining concepts with diagrams and real-life examples for better clarity in interviews. Tip 3 : Revise important topics like paging, segmentation, scheduling algorithms, and concurrency problems regularly.

3
Network Monitoring
Problem Statement

Design a distributed system that can monitor thousands of network devices such as routers, switches, and servers in real time. The system should collect metrics like CPU usage, packet loss, latency, bandwidth utilization, and device status, and generate alerts when abnormal behavior is detected.

Candidate Approach

Tip 1: Start by defining functional and non-functional requirements like scalability, latency, and reliability. Tip 2: Design a high-level architecture including collectors, load balancers, message queues (like Kafka), processing services, and time-series databases. Tip 3: Discuss optimizations such as data aggregation, caching, distributed storage, and fault-tolerant services to handle large-scale network monitoring.

4
Selection Perspective
Problem Statement

I was able to clear the initial stages of the process at Cisco, but I was not selected in the later round. The discussion involved deeper questions on computer networking and system-level concepts, and I realized that my preparation in some advanced networking topics needed improvement. The experience helped me understand the depth of knowledge expected and motivated me to further strengthen my fundamentals.

Key Preparation Tips

Prepare DSA thoroughly.

Practice aptitude and puzzle-based questions.

Have at least two good projects on your resume.

Be prepared to explain your projects clearly.

Practice coding problems involving Arrays, Binary Search, DP and Recursion.

Prepare common HR questions such as Tell me about yourself and Who is your role model?

Candidate Approach

More Interview Experiences

Mphasis India software pvt ltd

Mphasis India software pvt ltd

Software Engineer

Selection

Mphasis India software pvt ltd Interview Experience for Fresher Software Engineer, Jan 2026

3 RoundsFresherCampus+2
Read Interview Experience
Forsys

Forsys

Software Engineer

Rejection

Forsys Interview Experience for Software Engineer

3 RoundsFresherCampus+2
Read Interview Experience
Unthinkable

Unthinkable

Software Engineer

Rejection

Unthinkable Interview Experience for Software Engineer

1 RoundExperiencedWebsite+2
Read Interview Experience
Go2X

India's leading training and placement platform offering hands-on learning, powered by 200+ IITian and industry experts, connecting students to 1,000+ hiring and referral partners.

Let's Go2X

Stay updated with Go2X

Get course updates, interview tips, and career insights delivered to your inbox.

Contact Us

Address

1st Floor, Plot No 332, Phase IV, Udyog Vihar,
Sector 19, Gurugram, Haryana 122015

Email

support@go2x.live

Phone

+91 94107 10085

© 2025 Go2X Private Limited. All rights reserved.

Made with 🧡 and a lot of late nights.

Interview ExperiencesBlogsAbout UsPrivacy PolicyTerms of ServiceRefund Policy