← Circle Interview Insights

Circle·Software Engineer·Online Assessment (OA)·Intermediate

Intermediate
Jun 2026

Summary

Did an online assessment for a Software Engineer role at Circle. The coding problem wasn't conceptually hard but required solid comfort with string manipulation and sorting, and it ate up more time than expected.

Questions Asked (1)

Q1

Given a list of tasks at a specific time point, filter the ones whose names contain a given substring, then sort and print the results.

Algorithms & Data Structures
Author's notes

Not a brain-buster algorithmically, but I underestimated how fiddly the string filtering plus sorting combo would be under time pressure.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Clarify the input format and constraints, then propose an efficient algorithm using filtering and sorting. Discuss time/space complexity and edge cases before coding.

Pro tip: Mention that you would use a stable sort if the original order matters for equal names, and discuss how to handle case sensitivity based on requirements.

1. Clarify Requirements

Ask about input format, data types, expected output order, and any constraints (e.g., case sensitivity, duplicate handling).

2. Design Algorithm

Outline steps: filter tasks by substring match, then sort the filtered list. Choose appropriate data structures and sorting method.

3. Analyze Complexity

State time and space complexity: O(n) for filtering, O(m log m) for sorting, where n is total tasks and m is filtered tasks.

4. Handle Edge Cases

Discuss empty list, no matches, substring at start/end, case sensitivity, and potential null values.

5. Implement and Test

Write clean code with meaningful variable names, then walk through a test case to verify correctness.

Key Points to Mention

  • Time and space complexity analysis
  • Choice of sorting algorithm and stability
  • Case sensitivity and substring matching options
  • Handling of duplicate task names
  • Edge cases like empty input or no matches
  • Use of built-in functions vs manual implementation

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.