Confluent Software Engineer Interview: Tackling a Unique String Logger Challenge

confluent | Software Engineer | Interview Experience

Interview Date: Not specified
Result: Not specified
Difficulty: Medium

Interview Process

The interview consisted of two questions, conducted on HackerRank with a duration of 65 minutes. The candidate was required to turn on their camera for screen monitoring.

Technical Questions

  1. Binary String Generation

    • Given an array of integers, generate two binary strings:
      • string1: If num[i] has appeared before (in num[0..i-1]), then the position is ‘1’; otherwise, ‘0’.
      • string2: If num[i] occurs again after that (in num[i+1..n-1]), then the position is ‘1’; otherwise, ‘0’.
    • Returns an array of these two strings: [string1, string2].
  2. Duplicate Message Filter

    • A messaging system needs to prevent duplicate messages from being sent within a short period of time. If the same message has been “successfully delivered” in the last k seconds, the new message should be marked as a duplicate (return false). Otherwise, it should be marked as delivered (return true) and the latest delivery time of the message should be updated.
    • The input includes:
      • timestamps: the time of arrival of the message (either ascending or unordered).
      • messages: the text of the corresponding message.
      • k: the time window (in seconds).
    • Returns a boolean array indicating whether each message should be sent (true) or discarded (false).

Tips & Insights

Both questions had examples provided, which helped in understanding the requirements. The second question required careful attention to the k-second boundaries to ensure all test cases passed. The candidate noted that while the questions were medium difficulty, they were manageable within the time limit.