Coding interview questionMedium
GoogleMeta

Track Connectivity Across a Growing Network

Given a number of servers and a sequence of direct connection events between pairs of servers, answer whether two given servers are connected after each event, handling many connections and queries efficiently.

1. Problem Statement

You are given a number of servers labeled 0 to n-1. Implement connect(a, b) to record a direct connection, and isConnected(a, b) to report whether two servers are in the same connected group. Both operations will be called many times, interleaved.

2. Live Coding Format

Work in the provided coding workspace while explaining your decisions to the live interviewer. Validation may use inline tests, examples, comments, or a verbal walkthrough.

3. Key Focus Areas

  • 1
    Problem clarification and contract
  • 2
    Approach exploration and optimality
  • 3
    Think-aloud communication and pacing
  • 4
    Implementation correctness
  • 5
    Code quality and language fluency
  • 6
    Tests and dry run
  • 7
    Debugging and self-correction
  • 8
    Complexity analysis
  • 9
    Follow-up performance

4. What Strong Candidates Should Demonstrate

  • Clarify indexing, self-connections, and repeated-connection behavior before coding.
  • Explain a search-per-query baseline and improve it so each connection and query takes nearly constant time.
  • Think aloud while implementing readable, correct code.
  • Validate with explicit expected outputs and a top-to-bottom dry run.
  • Analyze time and space complexity and handle a bounded follow-up modification.

Want interactive feedback?

Practice this problem in the live coding workspace while the interviewer probes your clarification, implementation, trade-offs, and validation.

Continue to Dashboard

Core Concepts

Hidden because they name the technique, which a real interviewer would not tell you.

Show core concepts
Union-FindDisjoint Set UnionGraphsComplexity Analysis

Continue preparing

Build a complete software engineer mock interview plan

Use this scenario in a focused preparation plan

Related Coding / DSA

Reverse a Segment of a Linked List

Given the head of a singly linked list and two positions m and n, reverse the nodes from position m to position n in place and return the new head.

Related Coding / DSA

Search in a Rotated Sorted Array

Given an array of distinct integers that was originally sorted ascending and then rotated at an unknown pivot, determine the index of a target value or report that it is absent.

Related Coding / DSA

Maximize Sum with No Adjacent Elements

Given a list of integers, find the maximum sum you can obtain by choosing elements such that no two chosen elements are adjacent in the list. You may choose no elements, so the answer is 0 for an empty list or when every choice would reduce the sum.