LogIn
I don't have account.

ServiceNow Associate Systems Engineer Interview Experience | DSA, Computer Networks & Operating Systems

Raj Mehta
111 Views
Field Details
Company ServiceNow
Role Associate Systems Engineer
Experience Level Student / Fresher
Interview Mode Remote
Interview Rounds 3
Difficulty Level Medium
Result Selected
Interview Timeline 1 - 2 Weeks

Interview Process

The recruitment process consisted of three interview rounds that assessed core computer science fundamentals, data structures and algorithms, project experience and behavioral skills. Unlike interviews that focus exclusively on coding, ServiceNow also evaluated my understanding of networking, operating systems and problem-solving ability.

Overall, the interviewers were friendly and encouraged discussion throughout the process. They were interested in understanding my reasoning, approach to solving problems and how well I understood the concepts behind my projects.

Round 1 : Operating Systems, Computer Networks & DSA

  • Duration: 60 Minutes

The first round started with questions on core computer science subjects, particularly Operating Systems and Computer Networks.

The interviewer asked several questions about process scheduling, memory management, synchronization and basic networking concepts. We discussed TCP/IP fundamentals, IP addressing and commonly used networking protocols. Rather than expecting textbook definitions, the interviewer wanted me to explain the concepts in simple terms and provide practical examples.

After the theory discussion, I was given a problem involving a stream of arriving numbers where I had to determine the minimum element at any point in time.

Coding Question : Minimum Element in a Stream

Problem Statement

Design a data structure that supports the following operations efficiently:

  • Insert a number.
  • Retrieve the minimum element at any time.

Initially, I proposed using a Min Heap, since retrieving the minimum element would take constant time while insertion would require logarithmic time.

However, the interviewer encouraged me to think of an alternative solution that could answer the minimum query in constant time while supporting efficient insertions.

My Approach During the Interview

After discussing the heap-based approach, I realized that a Min Stack could solve the problem more efficiently for the required operations.

The idea is to maintain two stacks:

  • One stack stores all inserted elements.
  • The second stack keeps track of the minimum element seen so far.

Whenever a new element is inserted, it is also pushed onto the minimum stack if it is smaller than or equal to the current minimum. During deletion, both stacks are updated accordingly.

This approach allows retrieving the minimum element in O(1) time.

The interviewer was satisfied after I explained the stack-based solution and discussed its complexity.


import java.util.Stack;

class MinStack {

    private Stack<Integer> stack = new Stack<>();
    private Stack<Integer> minStack = new Stack<>();

    public void push(int value) {
        stack.push(value);
        if (minStack.isEmpty() || value <= minStack.peek())
            minStack.push(value);
    }

    public void pop() {
        if (stack.isEmpty())
            return;
        if (stack.peek().equals(minStack.peek()))
            minStack.pop();
        stack.pop();
    }
    public int getMin() {
        return minStack.peek();
    }

    public static void main(String[] args) {

        MinStack ms = new MinStack();
        ms.push(5);
        ms.push(2);
        ms.push(8);
        ms.push(1);
        System.out.println(ms.getMin());
        ms.pop();
        System.out.println(ms.getMin());
    }
}

Time Complexity

  • Push → O(1)
  • Pop → O(1)
  • Get Minimum → O(1)

Apart from coding, the interviewer asked a logical puzzle based on Binary Search. The discussion focused more on identifying the underlying pattern than implementing code.

The round concluded with an in-depth discussion of my projects, where I explained the architecture, technologies used, technical challenges and my individual contributions.

Round 2 : Computer Networks & DSA

  • Duration: 60 Minutes

The second round started with questions on Computer Networks.

The interviewer asked me to explain the different layers of the OSI model and the TCP/IP model. We discussed the responsibilities of each layer and commonly used protocols such as HTTP, HTTPS, TCP, UDP, FTP and DNS. Several follow-up questions focused on when particular protocols should be preferred and how data flows across different network layers.

After the networking discussion, we moved on to coding.

Coding Question 1 : Rotate a Matrix by 90 Degrees

Problem Statement

Given an N × N matrix, rotate it by 90 degrees clockwise without using extra space.

Example

Input


1 2 3
4 5 6
7 8 9

Output


7 4 1
8 5 2
9 6 3

My Approach During the Interview

I first discussed the brute-force solution of creating another matrix and copying elements into their rotated positions. Although this approach works, it requires O(n²) extra space.

The interviewer then asked if I could solve it in-place.

I explained the standard optimization:

  • Transpose the matrix.
  • Reverse every row.

This performs the rotation without using additional memory.

Java Solution

public class RotateMatrix {

    public static void rotate(int[][] matrix) {
        int n = matrix.length;
        for (int i = 0; i < n; i++) {
            for (int j = i + 1; j < n; j++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp;
            }
        }
        for (int i = 0; i < n; i++) {
            int left = 0;
            int right = n - 1;
            while (left < right) {
                int temp = matrix[i][left];
                matrix[i][left] = matrix[i][right];
                matrix[i][right] = temp;
                left++;
                right--;
            }
        }
    }

    public static void main(String[] args) {

        int[][] matrix = {
                {1,2,3},
                {4,5,6},
                {7,8,9}
        };
        rotate(matrix);
        for (int[] row : matrix) {
            for (int value : row)
                System.out.print(value + " ");
            System.out.println();
        }
    }
}

Time Complexity

  • Time Complexity: O(n²)
  • Space Complexity: O(1)

Coding Question 2 : Graph Traversal Using Words

Problem Statement

The second coding problem involved a graph represented by words. Each word could be connected to another word if they differed by exactly one character. The objective was to determine whether one word could be transformed into another by traversing valid intermediate words.

This problem is similar to the classic Word Ladder problem.

My Approach During the Interview

I explained that each word could be considered as a node in a graph, while edges exist between words differing by exactly one character.

To find the shortest transformation sequence, I proposed using Breadth-First Search (BFS).

The algorithm works by:

  • Starting from the source word.
  • Generating all valid neighboring words.
  • Visiting each word only once.
  • Continuing until the destination word is reached.

The interviewer mainly evaluated the graph modeling and traversal logic rather than expecting an optimized implementation.

Discussion on Projects

Apart from coding, the interviewer spent considerable time discussing my projects.

We talked about the problems I solved, the technologies I used, my open-source contributions, coding achievements and how I collaborated with others while working on technical projects.

Round 3 : Managerial & Behavioral Interview

  • Duration: 30 Minutes

The final round was relatively short and focused on behavioral and managerial questions.

The interviewer asked about my strengths, career goals, ability to work in teams and willingness to learn new technologies. We also discussed the responsibilities of the Associate Systems Engineer role and whether my interests aligned with the expectations of the position.

The conversation was relaxed and aimed at evaluating cultural fit rather than technical knowledge.

Interview Questions

Data Structures & Algorithms

  • Minimum element in a stream
  • Rotate Matrix by 90 Degrees
  • Graph traversal (Word Ladder style)

Computer Networks

  • OSI Layers
  • TCP/IP Model
  • HTTP
  • HTTPS
  • TCP vs UDP
  • DNS
  • Network protocols

Operating Systems

  • Process Scheduling
  • Memory Management
  • Synchronization

Behavioral

  • Resume discussion
  • Open-source contributions
  • Projects
  • Career goals
  • Team collaboration

Overall Experience

Overall, the interview process was balanced and covered multiple areas beyond coding. While data structures and algorithms were important, equal emphasis was placed on computer networks, operating systems and practical project experience.

The interviewers encouraged discussion throughout the process and appreciated candidates who explained their reasoning clearly before jumping into implementation. The coding questions were standard interview problems, but they expected optimized solutions along with a clear explanation of the trade-offs involved.

I found the experience to be positive and well organized and I was happy to receive the offer after successfully completing all three rounds.

Preparation Tips

Based on my experience, I recommend building a strong foundation in Data Structures and Algorithms while also revising core computer science subjects such as Operating Systems and Computer Networks. Practice common interview problems involving arrays, stacks, graphs and matrices and always be prepared to discuss both brute-force and optimized solutions.

If you have projects or open-source contributions, make sure you can explain your design decisions, technical challenges and personal contributions in detail, as interviewers often spend significant time discussing practical experience alongside coding problems.

Responses (0)

Write a response

CommentHide Comments

No Comments yet.