Flutter

Platform Channels

MethodChannel, EventChannel, การผสานรวมโค้ด native, API native ของ Android/iOS, FFI

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

Platform Channel ใน Flutter คืออะไร?

คำตอบ

Platform Channel เป็นกลไกการสื่อสารแบบสองทิศทางระหว่างโค้ด Dart ของ Flutter กับโค้ด native ของแพลตฟอร์ม (Android/iOS) มันช่วยให้เรียกใช้ API native ที่ไม่มีใน Flutter ได้ เช่น การเข้าถึงเซ็นเซอร์ฮาร์ดแวร์ การใช้ SDK native หรือการผสานรวมโค้ด legacy การสื่อสารใช้การเข้ารหัสไบนารีแบบมาตรฐานเพื่อส่งข้อความแบบ asynchronous ระหว่างสองสภาพแวดล้อม

2

ความแตกต่างหลักระหว่าง MethodChannel กับ EventChannel คืออะไร?

คำตอบ

MethodChannel ใช้สำหรับการเรียกใช้ method แบบครั้งเดียวที่มีการตอบกลับเดียว (รูปแบบ request/response) เหมาะกับการทำงานอย่างการดึงระดับแบตเตอรี่หรือการเรียกฟังก์ชัน native ส่วน EventChannel ใช้รับสตรีมข้อมูลต่อเนื่องจากโค้ด native ในรูปแบบ Dart Stream เหมาะอย่างยิ่งสำหรับเหตุการณ์ที่เกิดซ้ำ เช่น การอัปเดต GPS การอ่านค่าเซ็นเซอร์ หรือการแจ้งเตือนของระบบ

3

codec ใดที่ใช้เป็นค่าเริ่มต้นในการ serialize ข้อมูลใน MethodChannel?

คำตอบ

StandardMethodCodec เป็น codec เริ่มต้นที่ MethodChannel ใช้ มันใช้ StandardMessageCodec ในการ encode และ decode ค่าที่แลกเปลี่ยนระหว่าง Dart กับโค้ด native codec นี้รองรับชนิดข้อมูลพื้นฐาน (null, bool, int, double, String), list และ map สำหรับความต้องการเฉพาะ สามารถสร้าง codec แบบกำหนดเองหรือใช้ JSONMethodCodec สำหรับการ serialize เป็น JSON ได้

4

จะกำหนดชื่อที่ไม่ซ้ำกันให้กับ Platform Channel ได้อย่างไร?

5

การเรียก MethodChannel ถูกรับบน thread ใดในฝั่ง native ของ Android?

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

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

พื้นฐาน Dart

Junior
25 คำถาม

พื้นฐานภาษา Dart

Junior
15 คำถาม

พื้นฐาน Flutter

Junior
18 คำถาม

วงจรชีวิตของ Widget

Junior
20 คำถาม

การจัดเก็บข้อมูลในเครื่อง

Junior
20 คำถาม

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

Junior
20 คำถาม

Layouts & Constraints

Mid-Level
24 คำถาม

ListView & GridView

Mid-Level
25 คำถาม

การนำทางและ Routing

Mid-Level
22 คำถาม

การจัดการ State พื้นฐาน

Mid-Level
22 คำถาม

Provider Pattern

Mid-Level
18 คำถาม

Networking & HTTP

Mid-Level
20 คำถาม

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

Mid-Level
20 คำถาม

ฐานข้อมูลในเครื่อง

Mid-Level
22 คำถาม

ฟอร์มและการตรวจสอบความถูกต้อง

Mid-Level
20 คำถาม

แอนิเมชัน

Mid-Level
20 คำถาม

การผสานรวม Firebase

Mid-Level
18 คำถาม

การทดสอบยูนิต

Mid-Level
20 คำถาม

การทดสอบ widget

Mid-Level
18 คำถาม

การ Build และ Deploy

Mid-Level
16 คำถาม

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

Mid-Level
16 คำถาม

หน่วยความจำและประสิทธิภาพ

Senior
22 คำถาม

Streams & RxDart

Senior
24 คำถาม

State Management ขั้นสูง

Senior
26 คำถาม

Flutter Design Patterns

Senior
24 คำถาม

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

Senior
26 คำถาม

Custom Painting

Senior
22 คำถาม

สถาปัตยกรรมแอปพลิเคชัน Flutter

Senior
22 คำถาม

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

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

เริ่มใช้ฟรี