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

hdfc logo
hdfc
· Golang Backend Engineer· 4y exp
July 31, 2026 · 0 reads

Summary

I interviewed for a Golang Backend Engineer position at HDFC, completing screening, technical, and final rounds that covered Go internals, system design, and several coding tasks.

Full Experience

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 Technical 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

Interview Questions (6)

1.

Unique Sums with Goroutines

Data Structures & Algorithms

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

Print Numbers 0-9 with Two Goroutines

Data Structures & Algorithms

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

Panic Recovery Block

Data Structures & Algorithms

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

4.

TTL Cache with HTTP Server

Data Structures & Algorithms

Design and implement a TTL (time‑to‑live) cache that is exposed via an HTTP server.

5.

Print Odd and Even Numbers Alternately with Goroutines

Data Structures & Algorithms

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

6.

Interface Polymorphism Example in Go

Data Structures & Algorithms

Explain interfaces in Go and write a program demonstrating polymorphism using interfaces.

📣 Found this helpful? Please share it with friends who are preparing for interviews!

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!