[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:mobile\u002Fios-lifecycle-background-execution":4,"config":211},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":112,"samples":126},"mobile","Mobile","","ios-lifecycle-background-execution","Ios Lifecycle Background Execution","en",75,2400,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109],{"key":19,"name":20,"count":11},"fl-dart-async-isolates","Fl Dart Async Isolates",{"key":22,"name":23,"count":11},"fl-dart-language-null-safety","Fl Dart Language Null Safety",{"key":25,"name":26,"count":11},"fl-flutter-persistence-storage","Fl Flutter Persistence Storage",{"key":28,"name":29,"count":11},"fl-flutter-platform-channels-lifecycle","Fl Flutter Platform Channels Lifecycle",{"key":31,"name":32,"count":11},"fl-flutter-rendering-widget-tree","Fl Flutter Rendering Widget Tree",{"key":34,"name":35,"count":11},"fl-flutter-state-management-widgets","Fl Flutter State Management Widgets",{"key":37,"name":38,"count":11},"ios-core-data-swiftdata-persistence","Ios Core Data Swiftdata Persistence",{"key":8,"name":9,"count":11},{"key":41,"name":42,"count":11},"ios-memory-management-arc","Ios Memory Management Arc",{"key":44,"name":45,"count":11},"ios-swift-concurrency-structured","Ios Swift Concurrency Structured",{"key":47,"name":48,"count":11},"ios-swift-type-system-optionals","Ios Swift Type System Optionals",{"key":50,"name":51,"count":11},"ios-swiftui-state-rendering","Ios Swiftui State Rendering",{"key":53,"name":54,"count":11},"kt-android-lifecycle-background-execution","Kt Android Lifecycle Background Execution",{"key":56,"name":57,"count":11},"kt-android-memory-context-leaks","Kt Android Memory Context Leaks",{"key":59,"name":60,"count":11},"kt-android-room-persistence","Kt Android Room Persistence",{"key":62,"name":63,"count":11},"kt-jetpack-compose-state-recomposition","Kt Jetpack Compose State Recomposition",{"key":65,"name":66,"count":11},"kt-kotlin-coroutines-flow","Kt Kotlin Coroutines Flow",{"key":68,"name":69,"count":11},"kt-kotlin-type-system-null-safety","Kt Kotlin Type System Null Safety",{"key":71,"name":72,"count":11},"mobile-distribution-ci","Mobile Distribution Ci",{"key":74,"name":75,"count":11},"mobile-navigation","Mobile Navigation",{"key":77,"name":78,"count":11},"mobile-networking-offline","Mobile Networking Offline",{"key":80,"name":81,"count":11},"mobile-performance-battery","Mobile Performance Battery",{"key":83,"name":84,"count":11},"mobile-security-storage","Mobile Security Storage",{"key":86,"name":87,"count":11},"mobile-state-data","Mobile State Data",{"key":89,"name":90,"count":11},"mobile-testing-automation","Mobile Testing Automation",{"key":92,"name":93,"count":11},"mobile-ui-lifecycle","Mobile Ui Lifecycle",{"key":95,"name":96,"count":11},"rn-javascript-typescript-fundamentals","Rn Javascript Typescript Fundamentals",{"key":98,"name":99,"count":11},"rn-native-bridge-modules","Rn Native Bridge Modules",{"key":101,"name":102,"count":11},"rn-navigation-lifecycle","Rn Navigation Lifecycle",{"key":104,"name":105,"count":11},"rn-networking-persistence-offline","Rn Networking Persistence Offline",{"key":107,"name":108,"count":11},"rn-performance-rendering","Rn Performance Rendering",{"key":110,"name":111,"count":11},"rn-react-hooks-state-management","Rn React Hooks State Management",[113,117,120,123],{"key":114,"name":115,"count":116},"android-kotlin","Android (Kotlin)",450,{"key":118,"name":119,"count":116},"flutter","Flutter",{"key":121,"name":122,"count":116},"ios-swift","iOS (Swift)",{"key":124,"name":125,"count":116},"react-native","React Native",[127,145,158,172,185,198],{"id":128,"topic":9,"difficulty":129,"body":130,"options":131,"correct_key":142,"explanation":144},"019f956d-6ddf-708c-9f18-5cced65359d1",1,"What is the primary purpose of `application(_:didFinishLaunchingWithOptions:)` in an iOS app delegate?",[132,135,138,141],{"key":133,"text":134},"a","It renders the first screen's layout constraints",{"key":136,"text":137},"b","It compiles the app's storyboard at runtime.",{"key":139,"text":140},"c","It runs once per screen every time a view appears.",{"key":142,"text":143},"d","It performs one-time app-wide setup right after launch","This app delegate method is called once after the process launches, and is the standard place for app-wide setup (e.g. configuring services, third-party SDKs) before any UI is shown.",{"id":146,"topic":9,"difficulty":129,"body":147,"options":148,"correct_key":139,"explanation":157},"019f956d-6ddf-7738-9a31-6791be572ec4","In a scene-based (UIKit multi-window) app, what is `scene(_:willConnectTo:options:)` responsible for?",[149,151,153,155],{"key":133,"text":150},"Handling low-memory warnings for the whole process.",{"key":136,"text":152},"Registering push notification categories globally",{"key":139,"text":154},"Setting up the UI\u002Fwindow for one specific scene as it connects",{"key":142,"text":156},"Terminating other scenes when one connects.","Each UIScene gets its own connection callback; this is where a scene sets up its own window and root view controller, since a single process can host multiple independent scenes.",{"id":159,"topic":9,"difficulty":160,"body":161,"options":162,"correct_key":139,"explanation":171},"019f956d-6ddf-7cd7-8f8d-eb5a29417f0e",2,"What is the practical difference between `applicationWillResignActive(_:)` and `applicationDidEnterBackground(_:)`?",[163,165,167,169],{"key":133,"text":164},"They fire in the reverse order on every device",{"key":136,"text":166},"resignActive only exists for scene-based apps",{"key":139,"text":168},"resignActive fires first (still on screen, losing focus).",{"key":142,"text":170},"enterBackground fires before the app has even finished launching.","`applicationWillResignActive` fires when the app is about to lose focus but may still be partially visible (e.g. a system alert appearing); `applicationDidEnterBackground` fires once it is no longer visible at all — a later, stronger stage of the same transition.",{"id":173,"topic":9,"difficulty":160,"body":174,"options":175,"correct_key":136,"explanation":184},"019f956d-6de0-752e-b0d4-e65152bf74ee","What's the relationship between `applicationWillEnterForeground(_:)` and `applicationDidBecomeActive(_:)`?",[176,178,180,182],{"key":133,"text":177},"They are two names for the exact same callback",{"key":136,"text":179},"willEnterForeground fires first (about to be visible).",{"key":139,"text":181},"didBecomeActive always fires first, then willEnterForeground.",{"key":142,"text":183},"willEnterForeground only fires on cold launch","willEnterForeground signals the transition back to the foreground is starting (UI becoming visible again), while didBecomeActive fires slightly after, once the app is fully active and receiving events again.",{"id":186,"topic":9,"difficulty":160,"body":187,"options":188,"correct_key":142,"explanation":197},"019f956d-6de0-7b8c-a8f3-bebc7b99c5ce","Which best describes UIScene's `.background` activation state (as opposed to `.foregroundActive`\u002F`.foregroundInactive`)?",[189,191,193,195],{"key":133,"text":190},"The scene has never been connected at all",{"key":136,"text":192},"The scene is visible but partially obscured by a system dialog",{"key":139,"text":194},"The scene is guaranteed to be destroyed within one second",{"key":142,"text":196},"The scene is not visible on screen at all","`.background` means the scene's content is not currently on screen; the process may still be running (subject to system limits), unlike `.foregroundActive`\u002F`.foregroundInactive` which both mean the scene is at least partly visible.",{"id":199,"topic":9,"difficulty":129,"body":200,"options":201,"correct_key":133,"explanation":210},"019f956d-6de1-72e2-873c-d4bf6b5e9fda","What does calling `UNUserNotificationCenter.current().requestAuthorization(options:)` do?",[202,204,206,208],{"key":133,"text":203},"Prompts the user for permission to display notifications",{"key":136,"text":205},"Immediately schedules a background task",{"key":139,"text":207},"Registers the device token with the push service",{"key":142,"text":209},"Downloads pending remote notifications from the server.","This call triggers the system permission prompt asking the user to allow (or deny) alerts, sounds, and\u002For badges for notifications — it is unrelated to device token registration or background tasks.",{"fields":212,"seniorities":388,"interview_shapes":389,"locales":394,"oauth":396,"question_count":399,"coach_enabled":400,"jd_match_enabled":400},[213,238,258,275,299,312,331,340,362,369,375,382],{"key":214,"name_tr":215,"name_en":215,"sort":129,"specializations":216},"backend","Backend",[217,220,223,226,229,232,235],{"key":218,"name":219,"field":214},"general","Genel",{"key":221,"name":222,"field":214},"go","Go",{"key":224,"name":225,"field":214},"python","Python",{"key":227,"name":228,"field":214},"java","Java",{"key":230,"name":231,"field":214},"csharp","C#\u002F.NET",{"key":233,"name":234,"field":214},"nodejs","Node.js",{"key":236,"name":237,"field":214},"php","PHP",{"key":239,"name_tr":240,"name_en":240,"sort":160,"specializations":241},"frontend","Frontend",[242,243,246,249,252,255],{"key":218,"name":219,"field":239},{"key":244,"name":245,"field":239},"javascript","JavaScript",{"key":247,"name":248,"field":239},"typescript","TypeScript",{"key":250,"name":251,"field":239},"react","React",{"key":253,"name":254,"field":239},"vue","Vue",{"key":256,"name":257,"field":239},"angular","Angular",{"key":259,"name_tr":260,"name_en":260,"sort":261,"specializations":262},"fullstack","Fullstack",3,[263,264,265,266,267,268,269,270,271,272,273,274],{"key":218,"name":219,"field":259},{"key":221,"name":222,"field":214},{"key":224,"name":225,"field":214},{"key":227,"name":228,"field":214},{"key":230,"name":231,"field":214},{"key":233,"name":234,"field":214},{"key":236,"name":237,"field":214},{"key":244,"name":245,"field":239},{"key":247,"name":248,"field":239},{"key":250,"name":251,"field":239},{"key":253,"name":254,"field":239},{"key":256,"name":257,"field":239},{"key":276,"name_tr":277,"name_en":277,"sort":278,"specializations":279},"devops-cloud","DevOps \u002F Cloud",4,[280,281,284,287,290,293,296],{"key":218,"name":219,"field":276},{"key":282,"name":283,"field":276},"aws","AWS",{"key":285,"name":286,"field":276},"gcp","GCP",{"key":288,"name":289,"field":276},"azure","Azure",{"key":291,"name":292,"field":276},"kubernetes","Kubernetes",{"key":294,"name":295,"field":276},"terraform","Terraform",{"key":297,"name":298,"field":276},"linux","Linux",{"key":300,"name_tr":301,"name_en":301,"sort":302,"specializations":303},"ai-engineer","AI Engineer",5,[304,305,306,309],{"key":218,"name":219,"field":300},{"key":224,"name":225,"field":300},{"key":307,"name":308,"field":300},"llm-rag","LLM\u002FRAG",{"key":310,"name":311,"field":300},"mlops","MLOps",{"key":313,"name_tr":314,"name_en":315,"sort":316,"specializations":317},"database","Veritabanı","Database",6,[318,319,322,325,328],{"key":218,"name":219,"field":313},{"key":320,"name":321,"field":313},"postgresql","PostgreSQL",{"key":323,"name":324,"field":313},"mysql","MySQL",{"key":326,"name":327,"field":313},"mongodb","MongoDB",{"key":329,"name":330,"field":313},"redis","Redis",{"key":5,"name_tr":332,"name_en":6,"sort":333,"specializations":334},"Mobil",7,[335,336,337,338,339],{"key":218,"name":219,"field":5},{"key":121,"name":122,"field":5},{"key":114,"name":115,"field":5},{"key":118,"name":119,"field":5},{"key":124,"name":125,"field":5},{"key":341,"name_tr":342,"name_en":343,"sort":344,"specializations":345},"security","Güvenlik","Security",8,[346,347,350,353,356,359],{"key":218,"name":219,"field":341},{"key":348,"name":349,"field":341},"appsec","AppSec",{"key":351,"name":352,"field":341},"offensive-pentest","Offensive \u002F Pentest",{"key":354,"name":355,"field":341},"cloud-security","Cloud Security",{"key":357,"name":358,"field":341},"devsecops","DevSecOps",{"key":360,"name":361,"field":341},"blue-team-incident","Blue Team \u002F Incident",{"key":363,"name_tr":364,"name_en":365,"sort":366,"specializations":367},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[368],{"key":218,"name":219,"field":363},{"key":370,"name_tr":371,"name_en":371,"sort":372,"specializations":373},"data-engineer","Data Engineer",10,[374],{"key":218,"name":219,"field":370},{"key":376,"name_tr":377,"name_en":378,"sort":379,"specializations":380},"game-dev","Oyun Geliştirme","Game Development",11,[381],{"key":218,"name":219,"field":376},{"key":383,"name_tr":384,"name_en":384,"sort":385,"specializations":386},"ml-engineer","ML Engineer",12,[387],{"key":218,"name":219,"field":383},[14,15,16],{"junior":390,"mid":392,"senior":393},{"questions":391,"median_sec":3},20,{"questions":391,"median_sec":3},{"questions":391,"median_sec":3},[395,10],"tr",[397,398],"google","github",21750,true]