← Citi Interview Insights

Citi·Software Engineer·Technical Phone Screen·Junior

JuniorPending
Aug 2026Remote

Summary

Karat technical screen for a Python role at Citi. Two coding problems, and the second one did not go well at all.

Questions Asked (1)

Q1

Write a Python function that returns a specific data structure based on given inputs (second coding problem in the Karat screen).

Algorithms & Data Structures
Author's notes

Got the return type right but the actual values were wrong.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

First, clarify the problem by asking questions about the expected input types, output data structure, and edge cases. Then, outline a solution using appropriate data structures and algorithms, discussing time and space complexity. Finally, implement the code cleanly and test with examples.

Pro tip: Communicate your thought process continuously and write modular, readable code with meaningful variable names. This demonstrates strong engineering practices and makes it easier for the interviewer to follow your logic.

1. Understand the Problem

Ask clarifying questions to confirm the exact requirements, input constraints, and expected output format. Restate the problem in your own words to ensure alignment.

2. Plan the Approach

Discuss potential data structures and algorithms, weighing trade-offs. Choose the most efficient and straightforward solution, and explain your reasoning.

3. Implement the Solution

Write clean, well-structured code with comments. Use descriptive names and handle edge cases as you go.

4. Test and Validate

Walk through your code with sample inputs, including edge cases. Verify correctness and fix any issues.

5. Analyze Complexity

State the time and space complexity of your solution, and discuss potential optimizations if needed.

Key Points to Mention

  • Clarify input types, output format, and constraints before coding.
  • Choose appropriate data structures (e.g., lists, dictionaries, sets) based on operations needed.
  • Consider time and space complexity; aim for optimal solution.
  • Handle edge cases such as empty inputs, large inputs, and duplicates.
  • Write modular, readable code with meaningful variable names.
  • Test with examples and explain your reasoning throughout.

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