Go

Go Design Patterns

Singleton, Factory, Builder, Strategy, Decorator, Adapter, functional options, SOLID

24 câu hỏi phỏng vấn·
Senior
1

Lợi ích chính của pattern Functional Options trong Go là gì?

Câu trả lời

Pattern Functional Options cho phép tạo các API có thể cấu hình với các tham số tùy chọn mà không cần overload constructor. Nó tránh việc có nhiều constructor với các signature khác nhau và cung cấp một API dễ mở rộng và dễ đọc. Pattern này mang tính idiomatic trong Go vì nó tận dụng first-class function và tránh các giá trị mặc định mơ hồ.

2

Cách tiếp cận nào được khuyến nghị để triển khai pattern Singleton trong Go?

Câu trả lời

Trong Go, pattern Singleton lý tưởng được triển khai bằng sync.Once, đảm bảo khởi tạo thread-safe và lazy initialization. Cách tiếp cận này tránh các mutex thủ công và double-checked locking vốn dễ gây lỗi. sync.Once đảm bảo một hàm chỉ được thực thi một lần ngay cả khi có nhiều goroutine chạy đồng thời.

3

Nguyên tắc SOLID nào khuyến khích việc sử dụng interface trong Go?

Câu trả lời

Nguyên tắc Dependency Inversion phát biểu rằng các module cấp cao không nên phụ thuộc vào các module cấp thấp, mà phụ thuộc vào các trừu tượng (interface). Trong Go, điều này thể hiện qua việc nhận interface và trả về các kiểu cụ thể. Nguyên tắc này tạo điều kiện thuận lợi cho việc kiểm thử (mocking), giảm sự phụ thuộc và khả năng bảo trì mã.

4

Làm thế nào để triển khai pattern Factory trong Go một cách idiomatic?

5

Vai trò chính của Adapter pattern là gì?

+21 câu hỏi phỏng vấn

Nắm vững Go cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí