Flutter

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

Clean Architecture, สถาปัตยกรรมแบบเลเยอร์, การแบ่งโมดูล, โครงสร้างแบบ feature-based, ความสามารถในการขยายระบบ

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

สามเลเยอร์หลักของ Clean Architecture ในแอปพลิเคชัน Flutter คืออะไร?

คำตอบ

Clean Architecture แบ่งแอปพลิเคชันออกเป็นสามเลเยอร์ที่ชัดเจน: Domain (entity และ use case), Data (repository และ data source) และ Presentation (UI และ state management) การแยกนี้ทำให้มั่นใจว่าตรรกะทางธุรกิจยังคงเป็นอิสระจากรายละเอียดการนำไปใช้ เช่น framework UI หรือฐานข้อมูล เลเยอร์ Domain ไม่พึ่งพาเลเยอร์อื่น ซึ่งช่วยให้การทดสอบและการบำรุงรักษาทำได้ง่ายขึ้น

2

บทบาทหลักของเลเยอร์ Domain ใน Clean Architecture คืออะไร?

คำตอบ

เลเยอร์ Domain มีตรรกะทางธุรกิจที่บริสุทธิ์ของแอปพลิเคชัน รวมถึง entity (อ็อบเจกต์ทางธุรกิจ) และ use case เลเยอร์นี้เป็นอิสระอย่างสมบูรณ์จาก framework ฐานข้อมูล และ UI โดยกำหนดกฎทางธุรกิจและสัญญา (interface) ที่เลเยอร์อื่นต้องนำไปใช้ จึงทำให้แกนหลักของแอปพลิเคชันมีความเสถียรแม้จะมีการเปลี่ยนแปลงทางเทคนิค

3

เหตุใด Repository pattern จึงจำเป็นในสถาปัตยกรรม Flutter ที่มีโครงสร้างที่ดี?

คำตอบ

Repository pattern ทำหน้าที่เป็นชั้นนามธรรมระหว่างตรรกะทางธุรกิจกับแหล่งข้อมูล ช่วยให้เลเยอร์ Domain เข้าถึงข้อมูลได้โดยไม่ต้องรู้แหล่งที่มา (API, แคชภายในเครื่อง, ฐานข้อมูล) ความเป็นนามธรรมนี้ช่วยให้เปลี่ยนแหล่งข้อมูลได้ง่าย ทดสอบหน่วยด้วย mock และจัดการกลยุทธ์การแคชที่ซับซ้อนได้ ในขณะที่ยังคงรักษาโค้ดทางธุรกิจให้สะอาด

4

ความแตกต่างระหว่าง Entity และ Model ใน Flutter Clean Architecture คืออะไร?

5

Use Case (หรือ Interactor) ใน Clean Architecture คืออะไร?

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

หัวข้อสัมภาษณ์ 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 คำถาม

Platform Channels

Senior
20 คำถาม

Custom Painting

Senior
22 คำถาม

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

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

เริ่มใช้ฟรี