DataZip Interview Experience – SDE 2 (Golang)
📅 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

