Go

Go

BACKEND

Google이 개발한 단순성, 성능, 네이티브 동시성을 제공하는 프로그래밍 언어입니다. 빠른 컴파일, 동시성을 위한 goroutines, REST API, 마이크로서비스, 고성능 백엔드 애플리케이션 구축을 위한 완전한 표준 라이브러리를 갖춘 미니멀 아키텍처입니다.

배울 내용

초고속 컴파일을 갖춘 간결하고 명확한 구문

네이티브이고 경량인 동시성을 위한 goroutines와 channels

풍부한 표준 라이브러리 (net/http, encoding/json, testing)

최적화된 가비지 컬렉터와 낮은 메모리 사용량

자체 포함 바이너리를 생성하는 정적 컴파일

상속 없는 유연성을 위한 인터페이스와 duck typing

go test, 벤치마크, race detector를 활용한 네이티브 테스트

웹 프레임워크 (Gin, Echo, Fiber)와 ORM (GORM, sqlx)

에러 체크 패턴을 활용한 명시적 에러 처리

정적 바이너리를 활용한 간소화된 배포 (Docker, Kubernetes)

마스터해야 할 핵심 주제

이 기술을 이해하고 면접에서 성공하기 위한 가장 중요한 개념

1

Go 기초: 타입, 변수, 함수, 패키지, imports

2

Structs, 메서드, 인터페이스, 컴포지션 (embedding)

3

Goroutines: go 키워드, 동시성 vs 병렬성, 스케줄러

4

Channels: buffered/unbuffered, select, range, close, 패턴

5

에러 처리: error 타입, wrapping errors, panic/recover

6

포인터: &, *, 값 전달 vs 참조 전달, nil pointers

7

슬라이스와 배열: make, append, capacity, 서브 슬라이스

8

Maps: 생성, 접근, 삭제, 반복, 제로 값

9

인터페이스: empty interface, type assertions, type switches

10

표준 라이브러리: net/http, encoding/json, io, context

11

HTTP 서버: http.Handler, http.HandlerFunc, multiplexers

12

Context: 취소, 타임아웃, 값, 전파

13

테스트: 단위 테스트, table-driven tests, mocking, coverage

14

GORM: models, 마이그레이션, associations, preloading, hooks

15

프레임워크: Gin (routing, middleware), Echo, Fiber

16

동시성 패턴: worker pools, pipelines, fan-out/fan-in

17

Middleware: chaining, 인증, 로깅, recovery

18

성능: profiling (pprof), 벤치마크, 최적화

19

Modules: go.mod, 버전 관리, 의존성, vendoring

20

배포: Docker multi-stage builds, Kubernetes, 정적 바이너리