.NET

สถาปัตยกรรม Microservices

การแยกย่อยเซอร์วิส, API gateway, service discovery, ทรานแซกชันแบบกระจาย, รูปแบบความยืดหยุ่น, พื้นฐาน Kubernetes (deployments, services, config)

25 คำถามสัมภาษณ์·
Senior
1

Bounded Context pattern ใน Domain-Driven Design ที่นำมาใช้กับ microservices คืออะไร?

คำตอบ

Bounded Context กำหนดขอบเขตที่ชัดเจนรอบ ๆ domain model พร้อมด้วย ubiquitous language และฐานข้อมูลของตัวเอง ในสถาปัตยกรรม microservices แต่ละ Bounded Context มักจะกลายเป็น microservice แบบกระจายที่เป็นอิสระ สิ่งนี้รับประกันความเป็นอิสระของข้อมูลและป้องกันการแชร์ model ระหว่างเซอร์วิส ตัวอย่างเช่น เอนทิตี User ในคอนเท็กซ์ Profile สามารถแชร์ ID กับเอนทิตี Buyer ในคอนเท็กซ์ Ordering ได้ แต่ยังคงเป็น model ที่แยกจากกันโดยมีแอตทริบิวต์และตรรกะทางธุรกิจของตัวเอง

2

บทบาทหลักของ API Gateway ในสถาปัตยกรรม microservices คืออะไร?

คำตอบ

API Gateway ทำหน้าที่เป็นจุดเข้าเดียวสำหรับกลุ่มของ microservices โดยทำงานเป็น reverse proxy ที่กำหนดเส้นทางคำขอของไคลเอนต์ไปยังเซอร์วิสที่เหมาะสม มันใช้รูปแบบ Backend for Frontend (BFF) และจัดการ cross-cutting concerns เช่น การยืนยันตัวตน การสิ้นสุด SSL การ caching และการรวมการตอบกลับ สิ่งนี้ช่วยลดความซับซ้อนของการสื่อสาร client-to-microservice โดยหลีกเลี่ยงการเรียกโดยตรงหลายครั้งและรวมศูนย์ตรรกะการกำหนดเส้นทาง

3

service discovery ทำงานอย่างไรใน Docker Compose?

คำตอบ

Docker Compose ใช้ DNS ภายในสำหรับ service discovery แต่ละเซอร์วิสที่กำหนดไว้ใน docker-compose.yml สามารถเข้าถึงได้ด้วยชื่อเซอร์วิสในฐานะ hostname ตัวอย่างเช่น หากเซอร์วิส Redis ชื่อ 'basketdata' เซอร์วิสอื่นสามารถเชื่อมต่อได้ผ่าน ConnectionString=basketdata Docker จะแปลงชื่อนี้เป็นที่อยู่ IP ภายในของคอนเทนเนอร์บนเครือข่าย Docker ที่ใช้ร่วมกันโดยอัตโนมัติ ทำให้ไม่จำเป็นต้อง hardcode ที่อยู่ IP

4

หลักการของ Circuit Breaker pattern กับ Polly ใน .NET คืออะไร?

5

จะกำหนดค่า retry policy ด้วย Polly สำหรับ HttpClient ใน .NET ได้อย่างไร?

+22 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ .NET อื่นๆ

พื้นฐาน C#

Junior
25 คำถาม

LINQ & Delegates

Junior
20 คำถาม

พื้นฐานสำคัญของภาษา C#

Junior
15 คำถาม

พื้นฐาน ASP.NET Core

Junior
18 คำถาม

วงจรชีวิตของ request ใน ASP.NET Core

Junior
20 คำถาม

Configuration & Settings

Junior
20 คำถาม

วงจรชีวิตของแอปพลิเคชัน

Junior
20 คำถาม

Dependency Injection

Mid-Level
24 คำถาม

Entity Framework Core

Mid-Level
25 คำถาม

Minimal APIs

Mid-Level
18 คำถาม

การพัฒนา Web API

Mid-Level
22 คำถาม

Async ใน ASP.NET Core

Mid-Level
20 คำถาม

Authentication & Authorization

Mid-Level
18 คำถาม

HttpClient & Networking

Mid-Level
20 คำถาม

การซีเรียลไลซ์ JSON

Mid-Level
20 คำถาม

Entity Framework Core ขั้นสูง

Mid-Level
25 คำถาม

ฟีเจอร์ขั้นสูงของ C#

Mid-Level
20 คำถาม

Clean Architecture

Mid-Level
20 คำถาม

Logging, Monitoring & Observability

Mid-Level
22 คำถาม

Unit Testing และ xUnit

Mid-Level
20 คำถาม

การทดสอบแบบบูรณาการ

Mid-Level
18 คำถาม

Docker & Containerization

Mid-Level
16 คำถาม

การจัดการแพ็กเกจ NuGet

Mid-Level
16 คำถาม

Memory Management & GC

Senior
22 คำถาม

การเขียนโปรแกรมแบบรีแอกทีฟ

Senior
24 คำถาม

Async/await และรูปแบบ

Senior
26 คำถาม

.NET Design Patterns

Senior
24 คำถาม

การเพิ่มประสิทธิภาพการทำงาน

Senior
22 คำถาม

ความปลอดภัยและ Best Practices

Senior
24 คำถาม

SignalR และเรียลไทม์

Senior
22 คำถาม

เชี่ยวชาญ .NET สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี