DataZip Interview Experience – SDE 2 (Golang)

datazip logo
datazip
SDE 2 (Golang)
May 21, 20253 reads

Summary

The candidate interviewed for an SDE 2 (Golang) role at DataZip, undergoing two technical rounds covering DSA, Golang concurrency, and Low-Level Design, ultimately receiving a rejection.

Full Experience

📅 Round 1: DSA + Golang Fundamentals Topics Discussed: 🔹 Questions based on past projects 🔹 Golang-specific concurrency concepts:

What is a WaitGroup and how does it manage goroutine lifecycle?

Difference between Concurrency vs Parallelism

What is the Worker Pool Pattern in Go? → Common concurrency pattern where multiple goroutines (workers) pull tasks from a shared job queue for efficient task distribution

What is the purpose of a done channel and how it signals goroutines to stop?

🧠 Coding Questions: Q1: Word Transformation Convert one word into another using minimum operations. Operations allowed:

  • Add a character
  • Replace a character
  • Delete a character

⏱ Time: 20 minutes

Q2: Flatten Nested JSON Given a deeply nested JSON payload, return a flattened version without any nesting. ⏱ Time: 15 minutes


📅 Round 2: Internal Team (Goroutines + Go LLD) 🧩 Question 1: Concurrent Scheduler Problem Context:

  • A scheduler needs to execute N SQL queries concurrently
  • System constraint: Warehouse crashes if more than 5 queries are run at once
  • Max memory usage: 16 GB

✅ Expected:

  • Run at most 5 queries in parallel
  • Ensure efficient and safe execution using goroutines
  • Each query should be executed via a function like: Execute(query) → prints result

🧩 Question 2: Document Service (Low-Level Design) Requirements:

  • Users can create documents (default: private)

  • Owner can:

    • Edit the document
    • Grant access to specific users
  • A document can also be marked as public

  • Implement logic for:

    • Read
    • Write
    • Access control

❌ Result: Rejected in Round 2

Interview Questions (8)

Q1
WaitGroup Management in Goroutines
Other

What is a WaitGroup and how does it manage goroutine lifecycle?

Q2
Concurrency vs Parallelism
Other

Difference between Concurrency vs Parallelism

Q3
Worker Pool Pattern in Go
Other

What is the Worker Pool Pattern in Go?

Q4
Purpose of Done Channel in Go
Other

What is the purpose of a done channel and how it signals goroutines to stop?

Q5
Word Transformation (Edit Distance)
Data Structures & AlgorithmsHard

Convert one word into another using minimum operations. Operations allowed:

  • Add a character
  • Replace a character
  • Delete a character
Q6
Flatten Nested JSON
Data Structures & AlgorithmsMedium

Given a deeply nested JSON payload, return a flattened version without any nesting.

Q7
Concurrent SQL Query Scheduler
System DesignMedium

Problem Context:

  • A scheduler needs to execute N SQL queries concurrently
  • System constraint: Warehouse crashes if more than 5 queries are run at once
  • Max memory usage: 16 GB

✅ Expected:

  • Run at most 5 queries in parallel
  • Ensure efficient and safe execution using goroutines
  • Each query should be executed via a function like: Execute(query) → prints result
Q8
Document Service (Low-Level Design)
System DesignMedium

Requirements:

  • Users can create documents (default: private)

  • Owner can:

    • Edit the document
    • Grant access to specific users
  • A document can also be marked as public

  • Implement logic for:

    • Read
    • Write
    • Access control
Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!