
Go Design Patterns
Singleton, Factory, Builder, Strategy, Decorator, Adapter, functional options, SOLID
24 면접 질문·
Senior
1Go에서 Functional Options pattern의 주요 장점은 무엇입니까?
1
Go에서 Functional Options pattern의 주요 장점은 무엇입니까?
답변
Functional Options pattern을 사용하면 생성자를 오버로딩하지 않고도 선택적 파라미터를 가진 구성 가능한 API를 만들 수 있습니다. 서로 다른 시그니처를 가진 여러 생성자를 피하고 확장 가능하며 읽기 쉬운 API를 제공합니다. 이 pattern은 first-class function을 활용하고 모호한 기본값을 피하기 때문에 Go에서 관용적입니다.
2Go에서 Singleton pattern을 구현할 때 권장되는 접근 방식은 무엇입니까?
2
Go에서 Singleton pattern을 구현할 때 권장되는 접근 방식은 무엇입니까?
답변
Go에서 Singleton pattern은 thread-safe하고 lazy initialization을 보장하는 sync.Once를 사용하여 구현하는 것이 이상적입니다. 이 접근 방식은 오류가 발생하기 쉬운 수동 mutex와 double-checked locking을 피합니다. sync.Once는 여러 goroutine이 동시에 실행되더라도 함수가 단 한 번만 실행되도록 보장합니다.
3Go에서 interface 사용을 장려하는 SOLID 원칙은 무엇입니까?
3
Go에서 interface 사용을 장려하는 SOLID 원칙은 무엇입니까?
답변
Dependency Inversion 원칙은 상위 수준 모듈이 하위 수준 모듈이 아니라 추상화(interface)에 의존해야 한다고 명시합니다. Go에서는 이것이 interface를 받아들이고 구체 타입을 반환하는 것으로 나타납니다. 이 원칙은 테스트(mocking), 결합도 완화, 코드 유지보수성을 용이하게 합니다.
4
Go에서 Factory pattern을 관용적으로 구현하려면 어떻게 해야 합니까?
5
Adapter pattern의 주요 역할은 무엇입니까?
+21 면접 질문
기타 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개 질문context 패키지
Mid-Level
20개 질문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개 질문Microservices
Senior
24개 질문보안 및 인증
Senior
24개 질문Docker & Containerization
Senior
20개 질문Kubernetes Basics
Senior
22개 질문고급 Go
Senior
20개 질문CLI 개발
Senior
20개 질문