
context 패키지
context.Context, 취소, timeout, deadline, 값, WithCancel, WithTimeout
20 면접 질문·
Mid-Level
1Go에서 context 패키지의 주요 역할은 무엇입니까?
1
Go에서 context 패키지의 주요 역할은 무엇입니까?
답변
context 패키지는 전체 호출 체인에서 timeout, 취소, deadline을 일관되게 관리할 수 있게 합니다. 이는 결과가 더 이상 필요하지 않은데도 계속 실행되는 좀비 goroutine을 방지합니다. 항상 context를 첫 번째 매개변수로 전달하고, 긴 작업에서는 취소를 존중하기 위해 정기적으로 Done()을 확인하세요.
2deadline도 취소도 없는 빈 context를 생성하는 함수는 무엇입니까?
2
deadline도 취소도 없는 빈 context를 생성하는 함수는 무엇입니까?
답변
context.Background()는 취소할 수 없고 deadline이나 값이 없는 빈 context를 반환합니다. 파생 context를 생성하기 위한 시작점 역할을 하며 일반적으로 main, 초기화 또는 테스트에서 사용됩니다. 메서드에 접근할 때 panic이 발생하므로 절대 nil을 context로 사용하지 마세요.
3context.Background()와 context.TODO()의 차이는 무엇입니까?
3
context.Background()와 context.TODO()의 차이는 무엇입니까?
답변
context.TODO()는 개발 중에 적절한 context가 아직 명확하지 않거나 사용할 수 없을 때 플레이스홀더 역할을 합니다. context.Background()는 main이나 HTTP 핸들러 같은 실제 진입점에 사용됩니다. 둘은 기능적으로 동일하지만 TODO()는 나중에 교체해야 할 임시 의도를 문서화합니다.
4
수동으로 취소할 수 있는 context를 어떻게 생성합니까?
5
context의 취소를 감지할 수 있는 channel은 무엇입니까?
+17 면접 질문
기타 Go 면접 주제
Go 기초
Junior
25개 질문Go 데이터 구조
Junior
20개 질문Go 인터페이스
Junior
18개 질문에러 처리
Junior
20개 질문Goroutine 기초
Junior
20개 질문Channels
Junior
22개 질문Go Modules
Mid-Level
18개 질문HTTP 서버
Mid-Level
24개 질문HTTP 클라이언트
Mid-Level
18개 질문JSON 인코딩
Mid-Level
20개 질문Database/SQL
Mid-Level
22개 질문Testing
Mid-Level
22개 질문동시성 패턴
Mid-Level
24개 질문동기화 프리미티브
Mid-Level
22개 질문Go 웹 프레임워크
Mid-Level
20개 질문REST API 설계
Mid-Level
20개 질문gRPC
Mid-Level
22개 질문Reflection
Senior
20개 질문메모리 관리
Senior
24개 질문성능 최적화
Senior
22개 질문Generics
Senior
20개 질문Go Design Patterns
Senior
24개 질문Microservices
Senior
24개 질문보안 및 인증
Senior
24개 질문Docker & Containerization
Senior
20개 질문Kubernetes Basics
Senior
22개 질문고급 Go
Senior
20개 질문CLI 개발
Senior
20개 질문