[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:mobile\u002Fmobile-ui-lifecycle":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","","mobile-ui-lifecycle","Mobile Ui Lifecycle","en",75,2400,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,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":40,"name":41,"count":11},"ios-lifecycle-background-execution","Ios Lifecycle Background Execution",{"key":43,"name":44,"count":11},"ios-memory-management-arc","Ios Memory Management Arc",{"key":46,"name":47,"count":11},"ios-swift-concurrency-structured","Ios Swift Concurrency Structured",{"key":49,"name":50,"count":11},"ios-swift-type-system-optionals","Ios Swift Type System Optionals",{"key":52,"name":53,"count":11},"ios-swiftui-state-rendering","Ios Swiftui State Rendering",{"key":55,"name":56,"count":11},"kt-android-lifecycle-background-execution","Kt Android Lifecycle Background Execution",{"key":58,"name":59,"count":11},"kt-android-memory-context-leaks","Kt Android Memory Context Leaks",{"key":61,"name":62,"count":11},"kt-android-room-persistence","Kt Android Room Persistence",{"key":64,"name":65,"count":11},"kt-jetpack-compose-state-recomposition","Kt Jetpack Compose State Recomposition",{"key":67,"name":68,"count":11},"kt-kotlin-coroutines-flow","Kt Kotlin Coroutines Flow",{"key":70,"name":71,"count":11},"kt-kotlin-type-system-null-safety","Kt Kotlin Type System Null Safety",{"key":73,"name":74,"count":11},"mobile-distribution-ci","Mobile Distribution Ci",{"key":76,"name":77,"count":11},"mobile-navigation","Mobile Navigation",{"key":79,"name":80,"count":11},"mobile-networking-offline","Mobile Networking Offline",{"key":82,"name":83,"count":11},"mobile-performance-battery","Mobile Performance Battery",{"key":85,"name":86,"count":11},"mobile-security-storage","Mobile Security Storage",{"key":88,"name":89,"count":11},"mobile-state-data","Mobile State Data",{"key":91,"name":92,"count":11},"mobile-testing-automation","Mobile Testing Automation",{"key":8,"name":9,"count":11},{"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,159,172,185,198],{"id":128,"topic":9,"difficulty":129,"body":130,"options":131,"correct_key":136,"explanation":144},"019f677d-2c12-7e62-a45d-49306011eb91",1,"In mobile app lifecycle terms, what does \"foreground\" state mean?",[132,135,138,141],{"key":133,"text":134},"a","The process exists but has no window at all",{"key":136,"text":137},"b","Visible and actively receiving user input",{"key":139,"text":140},"c","The process has been fully removed from memory",{"key":142,"text":143},"d","The app is still compiling before first launch","Foreground means the app's UI is on screen and receiving user input, as opposed to background (not visible but process alive) or terminated (process gone).",{"id":146,"topic":9,"difficulty":147,"body":148,"options":149,"correct_key":142,"explanation":158},"019f677d-2c13-77af-9100-813ffc807f79",2,"A user presses the home button while a screen is open. What generally happens to the app's process right after?",[150,152,154,156],{"key":133,"text":151},"It is guaranteed to terminate within a second",{"key":136,"text":153},"It restarts from scratch on the next home tap",{"key":139,"text":155},"It is forced to crash to free memory",{"key":142,"text":157},"It backgrounds and stays alive until the OS reclaims it","Pressing home typically backgrounds the app; the process keeps running (possibly with restrictions) until the operating system needs the memory and decides to terminate it.",{"id":160,"topic":9,"difficulty":147,"body":161,"options":162,"correct_key":133,"explanation":171},"019f677d-2c13-7f40-84e7-ebd7bab785bb","An app holds an open camera while the user is on that screen. Why release the camera when going to background?",[163,165,167,169],{"key":133,"text":164},"Background apps usually can't use it; holding it wastes battery",{"key":136,"text":166},"Cameras shut off at hardware level automatically",{"key":139,"text":168},"Releasing it is purely cosmetic, no real effect",{"key":142,"text":170},"Camera access is unrelated to lifecycle at all","Sensitive hardware resources (camera, sensors) should be released on backgrounding because a backgrounded app usually cannot use them anyway, and holding them wastes battery and can block other apps.",{"id":173,"topic":9,"difficulty":129,"body":174,"options":175,"correct_key":139,"explanation":184},"019f677d-2c14-772d-8e9e-e3b2cc5ee054","What is \"state restoration\" in the context of app lifecycle?",[176,178,180,182],{"key":133,"text":177},"Recompiling the source code after an update",{"key":136,"text":179},"Resetting all preferences to factory defaults",{"key":139,"text":181},"Restoring screen\u002Fdata after relaunch",{"key":142,"text":183},"Automatically logging the user out","State restoration means bringing the UI back to where the user left off (same screen, scroll position, entered data) after the app process was relaunched, typically after being killed by the system.",{"id":186,"topic":9,"difficulty":147,"body":187,"options":188,"correct_key":136,"explanation":197},"019f677d-2c15-70f6-ba15-3a0fea2facb9","From the user's view, what is the key practical difference between a backgrounded app and a terminated one?",[189,191,193,195],{"key":133,"text":190},"No observable difference in any situation",{"key":136,"text":192},"Backgrounded resumes instantly, terminated must rebuild state",{"key":139,"text":194},"Terminated keeps network requests running, backgrounded does not",{"key":142,"text":196},"Backgrounded always loses form input, terminated never does","A backgrounded process still has its memory (variables, view state) intact, so returning to it is instant. A terminated app has no process left, so relaunching means rebuilding everything from scratch (plus any restored state).",{"id":199,"topic":9,"difficulty":147,"body":200,"options":201,"correct_key":133,"explanation":210},"019f677d-2c15-7724-81f6-e57734fda584","Screen lifecycle events fire in a guaranteed order (e.g. \"about to lose focus\" before \"entered background\"). Why does this matter?",[202,204,206,208],{"key":133,"text":203},"Cleanup fits reliably at the right stage",{"key":136,"text":205},"It only matters for automated UI testing tools",{"key":139,"text":207},"It guarantees the app is never terminated",{"key":142,"text":209},"It removes any need to release resources","Because the framework guarantees a fixed event order, developers can put specific cleanup or save logic in the right callback and trust it always runs before the next stage, instead of guessing or racing.",{"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":147,"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]