Easy · spoken drill

How to Explain Detecting Duplicates in English

This is the course prompt: detect duplicate customer records. Pick a key (email), name a hash set or a GROUP BY, walk one example, then say what you would do when names almost match.

The problem

How would you detect duplicate records in a customer database? Talk through your thought process. Write from your own role — software engineer, data scientist, or analyst. There is no single correct answer.

Pick one key first (email). Then mention a second approach and a trade-off. Do not list five tools.

seen = set()
for email in emails:
    if email in seen:
        return True
    seen.add(email)
return False

How to explain it

  1. 1. Restate

    Say the problem in your own words.

    One or two sentences. Show you understood the input, the output, and the goal — not that you memorised the prompt.

  2. 2. Approach

    Name the method before you code.

    Brute force first if you need it, then the structure you will use: hash map, two pointers, stack, binary search.

  3. 3. Example

    Walk one concrete input.

    Pick small numbers. Say what you store, what you compare, and what you return. Interviewers follow an example more easily than abstract talk.

  4. 4. Time and space

    One sentence each.

    After the example, before you claim you are done. “Time is O(n) because we scan once. Space is O(n) for the map.”

  5. 5. Edge cases

    Name at least one unusual input.

    Empty input, duplicates, already sorted, overflow. Invite a follow-up: “I would also check …”

  • “I will start with a high-level approach, then we can go deeper.”
  • “My first idea is to treat email as the identity.”
  • “I would group by email and keep counts greater than one.”
  • “The trade-off is exact match versus fuzzy matching.”

Practise out loud

Record 60–90 seconds. Play it back, then get a scorecard. Audio is scored and discarded.

This browser cannot record audio. Type your explanation below.

0:00 / 1:30

Model spoken script

I will start with a high-level approach, then we can go deeper. My first idea is to treat email as the identity. I would group by email and keep rows where the count is greater than one. In code I could also scan once and store emails in a hash set; if I see an email that is already in the set, it is a duplicate. For example, two rows with ana@shop.com and different IDs — that is a duplicate on email. Time is O(n). Space is O(n) for the set. The trade-off is that people reuse emails, and some duplicates are the same person with a typo in the name. I would flag exact email matches first, then a second pass for fuzzy name plus phone if the interviewer wants that.

Other problems

FAQ

Questions

Pick one identity key, name a set or a GROUP BY, walk one example, state O(n), then mention the fuzzy-match trade-off. Do not dump a tool list.

More questions? Email us at contact@mocklyenglish.com.

Course: How to explain a LeetCode solution · Think out loud · Explain code out loud

Quick answer

Explain a LeetCode solution in English with a fixed order: restate, name the approach, walk an example, state time and space, then name an edge case. Record 60–90 seconds and get a scorecard on that structure — not on your accent.

Free 30-minute trial

Take a mock interview

Get feedback on your answers and your English from certified coaches.

Sophie

5.0 · 159 reviews

Tom

5.0 · 156 reviews

No credit card needed