HDFC Golang Backend Engineer Interview Experience | 4 YOE | Screening + Technical + Final
Anonymous User
414

HDFC - Golang Backend Engineer Interview Experience

Recently attended the interview process for HDFC - Golang Backend Engineer. Below are the questions asked across all the rounds.

Experience: ~4 Years (Golang Backend)


Screening Round

Golang

  • What are goroutines?
  • How are goroutines different from OS threads?
  • What are channels?
  • How do channels work internally?
  • How does Go manage memory?
  • What happens when a buffered channel becomes full?
  • Advantages of Go over Java or Node.js for backend systems.

APIs

  • Difference between REST and gRPC APIs.
  • Are REST APIs stateful or stateless?
  • Difference between GraphQL and REST APIs.
  • Difference between JWT and session-based authentication.

System Design & Backend

  • What is Docker?
  • What is Kubernetes?
  • What are message queues, and when are they used?
  • Difference between SQL and NoSQL databases.
  • In which scenarios would you use an SQL database?
  • In which scenarios would you use a NoSQL database?
  • Difference between Monolith and Microservices.
  • When would you choose a Monolith over Microservices?
  • When would you choose Microservices architecture?
  • What is backpressure?
  • What are the different cache write strategies?
  • What are the different cache eviction policies?
  • How would you prevent cache stampede?

AI

  • As a senior engineer, if you are asked to work with a new framework or unfamiliar technology, how would you leverage AI to learn and deliver efficiently?

Coding Question 1

Given an array of integers, implement a solution using multiple goroutines to find all unique sums generated by adding every pair of numbers.

Example

Input:
[1, 3, 6, 8]

Possible sums:
1+3=4
1+6=7
1+8=9
3+6=9
3+8=11
6+8=14

Output:
4 7 9 11 14

Constraints

  • Use multiple goroutines.
  • The implementation should be synchronous.
  • Duplicate sums should appear only once.

Coding Question 2

Write a program to print numbers from 0 to 9 using two separate goroutines.

Requirements:

  • One goroutine should print even numbers.
  • One goroutine should print odd numbers.
  • The output should be synchronized so that the numbers are printed in order.

Expected Output

0 1 2 3 4 5 6 7 8 9

Technical Round

Golang

  • What is bounded concurrency? How is it implemented using worker pools?
  • How would you allocate the number of CPU cores to a Go program (GOMAXPROCS)?
  • What is the order of execution when multiple defer statements are used?
  • Explain Go's garbage collector.
  • Which algorithm does Go's garbage collector use?
  • What are the latest improvements in Go 1.26 (e.g., Green Tea GC, SwissMap, encoding/json/v2)?
  • Difference between:
    • Single quotes (' ')
    • Double quotes (" ")
    • Backticks (` `)

Maps

  • Declare a global map.
  • Why do we use make()?
  • How do you check whether a key exists in a map?
  • What hashing algorithm is used internally by Go maps?

Environment

  • How do you get all environment variables in Go?
  • Difference between GOROOT and GOPATH.

OOP & Design Principles

  • Explain Object-Oriented Programming concepts with Go implementations.
  • Why do we use pointer receivers instead of value receivers?
  • Explain interfaces in Go.
  • What benefits do interfaces provide?
  • Write an example demonstrating polymorphism using interfaces.
  • Explain the SOLID principles.

Microservices

  • What is the SAGA pattern?
  • What is the Strangler Fig pattern?
  • Difference between Orchestration and Choreography.
  • What is a Circuit Breaker?
  • Implement a Circuit Breaker in Go.

AI

  • What exposure do you have to AI?
  • How are voice agents implemented? (STT → VAD → LLM → TTS)
  • Where is the data stored? (PostgreSQL + pgvector)
  • What latency requirements do you target?
  • How do you manage concurrency and scaling?
  • Are you using RAG? Explain how it works.

Coding Questions

1. Panic Recovery

  • Write a panic recovery block.
  • Explain the lifecycle of panic, defer, and recover.

2. TTL Cache

  • Design and implement a TTL Cache with an HTTP server.

3. Concurrency

  • Write a program to print odd and even numbers alternately using two goroutines.

4. Interfaces

  • Explain interfaces in Go.
  • Write a program demonstrating polymorphism using interfaces.

Final Round

Mostly discussion-based.

Topics covered:

  • Previous company experience
  • Projects
  • Golang expertise
  • Previously faced Techincal problems
  • Backend architecture
  • Skills and future goals
  • Concurrency Patterns

Overall Focus Areas

If you're preparing for the HDFC Golang Backend Engineer role, make sure you're comfortable with:

  • Go internals (goroutines, scheduler, channels, memory management, GC, maps)
  • Concurrency patterns (worker pools, bounded concurrency, synchronization)
  • REST, gRPC, GraphQL
  • Authentication & Authorization (JWT, OAuth, Sessions)
  • SQL vs NoSQL and database optimization
  • Docker & Kubernetes
  • Caching strategies, eviction policies, and cache stampede prevention
  • Message queues and backpressure
  • Microservices patterns (SAGA, Strangler Fig, Orchestration vs Choreography)
  • Circuit Breaker pattern
  • Go interfaces, OOP concepts, and SOLID principles
  • AI fundamentals (LLMs, RAG, voice agents, vector databases)
  • Coding using goroutines, channels, panic recovery, and cache design
  • Behavioral and project-based discussions

Overall, the interview was heavily focused on Go internals, concurrency, backend architecture, microservices, AI fundamentals, and practical problem-solving.

Good luck to everyone preparing! 🚀

Comments (3)