[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:mobile\u002Fmobile-performance-battery":4,"config":210},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-performance-battery","Mobile Performance Battery","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,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":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":8,"name":9,"count":11},{"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,171,184,197],{"id":128,"topic":9,"difficulty":129,"body":130,"options":131,"correct_key":133,"explanation":144},"019f677d-2bb4-70a0-bd98-baf48441e68b",1,"What is a \"cold start\" of a mobile app?",[132,135,138,141],{"key":133,"text":134},"a","The OS creates a brand-new process and initializes everything from scratch",{"key":136,"text":137},"b","The app resumes exactly where the user left off",{"key":139,"text":140},"c","The app receives a push notification while in the foreground",{"key":142,"text":143},"d","The app relaunches automatically from a cached UI snapshot after an earlier crash","Cold start happens when no process for the app exists in memory. The OS must create the process, start the runtime, build initial objects, and construct the first screen — the slowest launch path.",{"id":146,"topic":9,"difficulty":129,"body":147,"options":148,"correct_key":136,"explanation":157},"019f677d-2bb4-765a-8e27-a9db051974e3","What is a \"warm start\"?",[149,151,153,155],{"key":133,"text":150},"The very first launch that happens right after the user installs the app",{"key":136,"text":152},"The app process is still alive in memory, so relaunch skips full initialization",{"key":139,"text":154},"The launch that happens immediately after a device restart",{"key":142,"text":156},"A launch that occurs while the device has no network connection","In a warm start, the process wasn't killed — it was just backgrounded. The runtime and many objects already exist, so reaching the UI is faster than a cold start.",{"id":159,"topic":9,"difficulty":129,"body":160,"options":161,"correct_key":139,"explanation":170},"019f677d-2bb4-7dc2-881d-d585ece5c2b1","Why is a cold start generally slower than a warm start?",[162,164,166,168],{"key":133,"text":163},"Cold start always downloads new UI assets over the network before showing anything",{"key":136,"text":165},"Cold start requires the user to re-enter login credentials",{"key":139,"text":167},"Cold start rebuilds the process, runtime, and first screen from nothing",{"key":142,"text":169},"Cold start disables all animations for the session","Cold start pays the full cost of process creation, runtime setup, and constructing initial objects and the first screen. Warm start reuses an already-initialized process, so it's much cheaper.",{"id":172,"topic":9,"difficulty":129,"body":173,"options":174,"correct_key":142,"explanation":183},"019f677d-2bb5-741d-a4ba-30d4d623669f","A user reboots their phone, then hours later taps the app icon for the first time since the reboot. What kind of start does the app perform?",[175,177,179,181],{"key":133,"text":176},"Warm start, because the app was installed before the reboot",{"key":136,"text":178},"A special start type reserved for post-reboot launches only",{"key":139,"text":180},"Warm start, because the OS caches app state across reboots",{"key":142,"text":182},"Cold start, because rebooting clears all running processes","A reboot kills every running process, so there is nothing to resume. The very next launch must create a fresh process — a cold start — regardless of how much time passes afterward.",{"id":185,"topic":9,"difficulty":129,"body":186,"options":187,"correct_key":133,"explanation":196},"019f677d-2bb5-7ac0-a217-14e01f86a67b","Opening the app for the first time in a day feels slow, but switching back to it later without closing it feels instant. What does this pattern point to?",[188,190,192,194],{"key":133,"text":189},"The slow case is a cold start; the instant case is a warm start",{"key":136,"text":191},"The device's screen refresh rate is misconfigured for this particular app",{"key":139,"text":193},"The app's network requests are being cached incorrectly",{"key":142,"text":195},"The difference is caused entirely by battery saver mode","The slow first open is a cold start (process was killed after inactivity), while switching back without closing is a warm start (process still alive). Launch-time optimization should target the cold path.",{"id":198,"topic":9,"difficulty":129,"body":199,"options":200,"correct_key":136,"explanation":209},"019f677d-2bb6-7263-8512-3d51a04e063f","```\nonAppLaunch():\n    loadAllUserData()\n    loadAllImages()\n    initAnalytics()\n    initCrashReporting()\n    initAdSdk()\n    showFirstScreen()\n```\nEvery step above runs synchronously before the first screen appears. What's the main concern for cold-start time?",[201,203,205,207],{"key":133,"text":202},"initAnalytics() must never be called on app launch under any circumstances",{"key":136,"text":204},"Non-essential work delays the first screen and should run after it's shown",{"key":139,"text":206},"showFirstScreen() must be the very first line of the function",{"key":142,"text":208},"loadAllImages() is only valid when called from a background process","Everything here blocks the first screen from appearing. Work that isn't needed to render the first screen (ad SDK setup, deep analytics init) should be deferred until after the UI is visible.",{"fields":211,"seniorities":388,"interview_shapes":389,"locales":394,"oauth":396,"question_count":399,"coach_enabled":400,"jd_match_enabled":400},[212,237,258,275,299,312,331,340,362,369,375,382],{"key":213,"name_tr":214,"name_en":214,"sort":129,"specializations":215},"backend","Backend",[216,219,222,225,228,231,234],{"key":217,"name":218,"field":213},"general","Genel",{"key":220,"name":221,"field":213},"go","Go",{"key":223,"name":224,"field":213},"python","Python",{"key":226,"name":227,"field":213},"java","Java",{"key":229,"name":230,"field":213},"csharp","C#\u002F.NET",{"key":232,"name":233,"field":213},"nodejs","Node.js",{"key":235,"name":236,"field":213},"php","PHP",{"key":238,"name_tr":239,"name_en":239,"sort":240,"specializations":241},"frontend","Frontend",2,[242,243,246,249,252,255],{"key":217,"name":218,"field":238},{"key":244,"name":245,"field":238},"javascript","JavaScript",{"key":247,"name":248,"field":238},"typescript","TypeScript",{"key":250,"name":251,"field":238},"react","React",{"key":253,"name":254,"field":238},"vue","Vue",{"key":256,"name":257,"field":238},"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":217,"name":218,"field":259},{"key":220,"name":221,"field":213},{"key":223,"name":224,"field":213},{"key":226,"name":227,"field":213},{"key":229,"name":230,"field":213},{"key":232,"name":233,"field":213},{"key":235,"name":236,"field":213},{"key":244,"name":245,"field":238},{"key":247,"name":248,"field":238},{"key":250,"name":251,"field":238},{"key":253,"name":254,"field":238},{"key":256,"name":257,"field":238},{"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":217,"name":218,"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":217,"name":218,"field":300},{"key":223,"name":224,"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":217,"name":218,"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":217,"name":218,"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":217,"name":218,"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":217,"name":218,"field":363},{"key":370,"name_tr":371,"name_en":371,"sort":372,"specializations":373},"data-engineer","Data Engineer",10,[374],{"key":217,"name":218,"field":370},{"key":376,"name_tr":377,"name_en":378,"sort":379,"specializations":380},"game-dev","Oyun Geliştirme","Game Development",11,[381],{"key":217,"name":218,"field":376},{"key":383,"name_tr":384,"name_en":384,"sort":385,"specializations":386},"ml-engineer","ML Engineer",12,[387],{"key":217,"name":218,"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]