DataZip Interview Experience – SDE 2 (Golang)

datazip logo
datazip
· SDE 2 (Golang)
May 21, 2025 · 34 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)

1.

WaitGroup Management in Goroutines

Other

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

2.

Concurrency vs Parallelism

Other

Difference between Concurrency vs Parallelism

3.

Worker Pool Pattern in Go

Other

What is the Worker Pool Pattern in Go?

4.

Purpose of Done Channel in Go

Other

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

5.

Word Transformation (Edit Distance)

Data Structures & Algorithms·Hard

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

  • Add a character
  • Replace a character
  • Delete a character
6.

Flatten Nested JSON

Data Structures & Algorithms·Medium

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

7.

Concurrent SQL Query Scheduler

System Design·Medium

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
8.

Document Service (Low-Level Design)

System Design·Medium

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!