1. Logical Thinking
Expectation: Exceptional
Able to break down complex problems into simple, clear steps
Thinks in terms of scalability, failure scenarios, and trade-offs
Can reason about performance, concurrency, and data flow
Provides multiple solution approaches and explains why one is chosen
2. Golang Concepts
Expectation: Expert-Level
Candidate should demonstrate strong understanding of:
Goroutines, channels, select
Concurrency patterns (worker pools, fan-in/fan-out)
Interfaces and interface-driven design
Memory management and garbage collection
Error handling best practices
Context usage (context.Context)
Go scheduler and runtime basics
Escape analysis and performance implications
Package and module design
Expect depth + reasoning, not just definitions.
3. Golang Hands-on Coding
Expectation: Excellent (Production-Ready)
Writes clean, idiomatic Go code
Follows best practices and standard library usage
Handles errors properly
Designs code for readability and maintainability
Writes concurrent code safely
Can refactor poor code and explain improvements
Code should reflect lead-level maturity, not just correctness.
4. Database (MySQL / SQL Design)
Expectation: Strong to Expert
Strong SQL knowledge:
GROUP BY, HAVING, LIMIT, OFFSET
Joins, subqueries, indexes
Can design schemas based on access patterns
Understands:
Indexing strategies
Query optimization
Transactions and isolation levels
Experience with migrations and schema evolution
Aware of scaling strategies (read replicas, caching)