
การเขียนโปรแกรมแบบรีแอกทีฟ
Reactive Extensions (Rx), IObservable, operators, schedulers, backpressure (ทางเลือก พบได้น้อยกว่าใน web API สมัยใหม่)
1อินเทอร์เฟซ IObservable<T> ใน Reactive Extensions (Rx.NET) คืออะไร?
อินเทอร์เฟซ IObservable<T> ใน Reactive Extensions (Rx.NET) คืออะไร?
คำตอบ
IObservable<T> เป็นอินเทอร์เฟซพื้นฐานใน Rx.NET ที่แทนแหล่งข้อมูลแบบ push มันเปิดเผยเมธอด Subscribe ที่ทำให้ observer สามารถสมัครรับการแจ้งเตือนแบบอะซิงโครนัสได้ มันเป็นคู่ขนานแบบรีแอกทีฟของ IEnumerable<T>: ในขณะที่ IEnumerable ดึง (pull) ข้อมูลแบบซิงโครนัส IObservable จะผลัก (push) ข้อมูลแบบอะซิงโครนัสไปยัง subscriber
2เมธอดสามเมธอดของอินเทอร์เฟซ IObserver<T> ใน Rx.NET คืออะไร?
เมธอดสามเมธอดของอินเทอร์เฟซ IObserver<T> ใน Rx.NET คืออะไร?
คำตอบ
IObserver<T> กำหนดสามเมธอด: OnNext(T value) เพื่อรับแต่ละองค์ประกอบของซีเควนซ์, OnError(Exception error) เพื่อจัดการข้อผิดพลาดและส่งสัญญาณการสิ้นสุดของซีเควนซ์เมื่อเกิดความล้มเหลว และ OnCompleted() เพื่อระบุว่าซีเควนซ์เสร็จสมบูรณ์แล้ว เมธอดทั้งสามนี้ประกอบเป็นสัญญา observer ซึ่งรับประกันว่าหลังจาก OnError หรือ OnCompleted จะไม่มีการเรียก OnNext อีก
3ความแตกต่างหลักระหว่าง IEnumerable<T> กับ IObservable<T> คืออะไร?
ความแตกต่างหลักระหว่าง IEnumerable<T> กับ IObservable<T> คืออะไร?
คำตอบ
IEnumerable<T> เป็นโมเดล pull ที่ผู้บริโภคร้องขอข้อมูลแบบซิงโครนัสด้วย GetEnumerator() และ MoveNext() ส่วน IObservable<T> เป็นโมเดล push ที่แหล่งข้อมูลผลักข้อมูลแบบอะซิงโครนัสไปยัง subscriber ผ่าน Subscribe() IEnumerable จะบล็อกเธรดที่เรียกในระหว่างการวนซ้ำ ในขณะที่ IObservable ช่วยให้สามารถทำงานแบบไม่บล็อกและประกอบอีเวนต์แบบอะซิงโครนัสด้วย operators LINQ ได้
บทบาทของ operator Select ใน Rx.NET คืออะไร?
operator Where ทำงานอย่างไรใน Rx.NET?
+21 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ .NET อื่นๆ
พื้นฐาน C#
LINQ & Delegates
พื้นฐานสำคัญของภาษา C#
พื้นฐาน ASP.NET Core
วงจรชีวิตของ request ใน ASP.NET Core
Configuration & Settings
วงจรชีวิตของแอปพลิเคชัน
Dependency Injection
Entity Framework Core
Minimal APIs
การพัฒนา Web API
Async ใน ASP.NET Core
Authentication & Authorization
HttpClient & Networking
การซีเรียลไลซ์ JSON
Entity Framework Core ขั้นสูง
ฟีเจอร์ขั้นสูงของ C#
Clean Architecture
Logging, Monitoring & Observability
Unit Testing และ xUnit
การทดสอบแบบบูรณาการ
Docker & Containerization
การจัดการแพ็กเกจ NuGet
Memory Management & GC
Async/await และรูปแบบ
.NET Design Patterns
การเพิ่มประสิทธิภาพการทำงาน
ความปลอดภัยและ Best Practices
SignalR และเรียลไทม์
สถาปัตยกรรม Microservices
เชี่ยวชาญ .NET สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี