📅 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:
⏱ 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:
✅ Expected:
Execute(query) → prints result🧩 Question 2: Document Service (Low-Level Design)
Requirements:
Users can create documents (default: private)
Owner can:
A document can also be marked as public
Implement logic for:
❌ Result: Rejected in Round 2