# วงจรชีวิตของแอปพลิเคชัน (iOS) > สถานะแอป, AppDelegate, SceneDelegate, background modes, การยุติแอป - 20 คำถามสัมภาษณ์ - Junior - [คำถามสัมภาษณ์: iOS](https://sharpskill.dev/th/technologies/ios/interview-questions.md) ## 1. UIApplicationDelegate คืออะไร? **คำตอบ** UIApplicationDelegate เป็นโปรโตคอลที่กำหนดเมธอด callback สำหรับวงจรชีวิตของแอปพลิเคชัน ช่วยให้ตอบสนองต่อเหตุการณ์สำคัญ เช่น การเปิดแอป การเข้าสู่เบื้องหลัง หรือการกลับมาที่เบื้องหน้า ทุกแอปพลิเคชัน iOS ต้องนำโปรโตคอลนี้ไปใช้ในคลาส AppDelegate เพื่อจัดการวงจรชีวิตอย่างถูกต้อง เป็นจุดศูนย์กลางในการเริ่มต้นบริการของบุคคลที่สาม ตั้งค่าการแจ้งเตือน และจัดการการเปลี่ยนสถานะระดับโลก ตั้งแต่ iOS 13 โปรโตคอลนี้แบ่งความรับผิดชอบกับ SceneDelegate เพื่อจัดการหลายหน้าต่าง ## 2. เมธอด application(_:didFinishLaunchingWithOptions:) ถูกเรียกเมื่อใด? **คำตอบ** เมธอดนี้ถูกเรียกเมื่อแอปพลิเคชันเปิดตัว หลังจากการเริ่มต้น UIApplication และก่อนที่ส่วนติดต่อผู้ใช้จะแสดงขึ้น เป็นช่วงเวลาที่เหมาะสำหรับการเริ่มต้นบริการของบุคคลที่สาม กำหนดค่าฐานข้อมูล ลงทะเบียนการแจ้งเตือน และตั้งค่าพารามิเตอร์ระดับโลก ควรหลีกเลี่ยงการดำเนินการที่ใช้เวลานานเพราะจะทำให้การแสดงผลครั้งแรกล่าช้า ## 3. สถานะหลักในวงจรชีวิตของแอปพลิเคชัน iOS มีอะไรบ้าง? **คำตอบ** วงจรชีวิตมีห้าสถานะหลัก: Not Running (แอปยังไม่เปิดหรือถูกยุติ), Inactive (แอปอยู่เบื้องหน้าแต่ไม่รับเหตุการณ์ การขัดจังหวะชั่วคราว), Active (แอปทำงานปกติและรับเหตุการณ์), Background (แอปทำงานในเบื้องหลังโดยมีเวลาประมาณ 30 วินาทีก่อนถูกระงับ) และ Suspended (แอปถูกแช่แข็งในหน่วยความจำ ไม่มีการทำงาน) การเข้าใจสถานะเหล่านี้ช่วยให้จัดการทรัพยากร สิทธิ์ได้อย่างถูกต้องและเพิ่มประสิทธิภาพแบตเตอรี่ การเปลี่ยนระหว่างสถานะเหล่านี้จะเรียกใช้เมธอด AppDelegate หรือ SceneDelegate ## มีอีก 17 คำถาม - ความแตกต่างระหว่าง applicationWillResignActive และ applicationDidEnterBackground คืออะไร? - บทบาทของ applicationDidBecomeActive คืออะไร? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ iOS อื่นๆ - [พื้นฐาน Swift](https://sharpskill.dev/th/technologies/ios/interview-questions/swift-basics.md): 25 คำถาม, Junior - [พื้นฐานภาษา Swift](https://sharpskill.dev/th/technologies/ios/interview-questions/swift-language-essentials.md): 15 คำถาม, Junior - [พื้นฐาน UIKit](https://sharpskill.dev/th/technologies/ios/interview-questions/uikit-fundamentals.md): 18 คำถาม, Junior - [วงจรชีวิตของ UIViewController](https://sharpskill.dev/th/technologies/ios/interview-questions/uiviewcontroller-lifecycle.md): 20 คำถาม, Junior - [UserDefaults & Keychain](https://sharpskill.dev/th/technologies/ios/interview-questions/userdefaults-keychain.md): 20 คำถาม, Junior - [Auto Layout & Constraints](https://sharpskill.dev/th/technologies/ios/interview-questions/auto-layout-constraints.md): 24 คำถาม, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/th/technologies/ios/interview-questions/uitableview-uicollectionview.md): 25 คำถาม, Mid-Level - [พื้นฐาน SwiftUI](https://sharpskill.dev/th/technologies/ios/interview-questions/swiftui-basics.md): 18 คำถาม, Mid-Level - [การจัดการ State ใน SwiftUI](https://sharpskill.dev/th/technologies/ios/interview-questions/swiftui-state-management.md): 22 คำถาม, Mid-Level - [การนำทาง SwiftUI](https://sharpskill.dev/th/technologies/ios/interview-questions/swiftui-navigation.md): 18 คำถาม, Mid-Level - [Networking & URLSession](https://sharpskill.dev/th/technologies/ios/interview-questions/networking-urlsession.md): 20 คำถาม, Mid-Level - [Codable และการแยกวิเคราะห์ JSON](https://sharpskill.dev/th/technologies/ios/interview-questions/codable-json-parsing.md): 20 คำถาม, Mid-Level - [Core Data](https://sharpskill.dev/th/technologies/ios/interview-questions/core-data.md): 22 คำถาม, Mid-Level - [การเขียนโปรแกรมเชิงโปรโตคอล](https://sharpskill.dev/th/technologies/ios/interview-questions/protocol-oriented-programming.md): 20 คำถาม, Mid-Level - [สถาปัตยกรรม MVVM](https://sharpskill.dev/th/technologies/ios/interview-questions/mvvm-architecture.md): 20 คำถาม, Mid-Level - [การแจ้งเตือนแบบ Push](https://sharpskill.dev/th/technologies/ios/interview-questions/push-notifications.md): 18 คำถาม, Mid-Level - [Unit Testing และ XCTest](https://sharpskill.dev/th/technologies/ios/interview-questions/unit-testing-xctest.md): 20 คำถาม, Mid-Level - [การทดสอบ UI](https://sharpskill.dev/th/technologies/ios/interview-questions/ui-testing.md): 18 คำถาม, Mid-Level - [Xcode และระบบ Build](https://sharpskill.dev/th/technologies/ios/interview-questions/xcode-build-system.md): 16 คำถาม, Mid-Level - [Swift Package Manager](https://sharpskill.dev/th/technologies/ios/interview-questions/swift-package-manager.md): 16 คำถาม, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/th/technologies/ios/interview-questions/memory-management-arc.md): 22 คำถาม, Senior - [Combine Framework](https://sharpskill.dev/th/technologies/ios/interview-questions/combine-framework.md): 24 คำถาม, Senior - [Concurrency & async/await](https://sharpskill.dev/th/technologies/ios/interview-questions/concurrency-async-await.md): 26 คำถาม, Senior - [iOS Design Patterns](https://sharpskill.dev/th/technologies/ios/interview-questions/ios-design-patterns.md): 24 คำถาม, Senior - [การเพิ่มประสิทธิภาพ](https://sharpskill.dev/th/technologies/ios/interview-questions/performance-optimization.md): 22 คำถาม, Senior - [ความปลอดภัยและการเข้ารหัส](https://sharpskill.dev/th/technologies/ios/interview-questions/security-encryption.md): 20 คำถาม, Senior - [SwiftUI Advanced](https://sharpskill.dev/th/technologies/ios/interview-questions/swiftui-advanced.md): 22 คำถาม, Senior - [สถาปัตยกรรมแอปพลิเคชัน iOS](https://sharpskill.dev/th/technologies/ios/interview-questions/ios-app-architecture.md): 22 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/ios/interview-questions/app-lifecycle