[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr: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","Mobil","","ios-lifecycle-background-execution","Ios Lifecycle Background Execution","tr",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,"iOS uygulama delegate'inde `application(_:didFinishLaunchingWithOptions:)` metodunun temel amacı nedir?",[132,135,138,141],{"key":133,"text":134},"a","İlk ekranın layout constraint'lerini render eder.",{"key":136,"text":137},"b","Storyboard'u runtime'da derler.",{"key":139,"text":140},"c","Her ekran göründüğünde tekrar çalışır",{"key":142,"text":143},"d","Launch sonrası bir kerelik uygulama geneli kurulumu yapar","Bu app delegate metodu süreç başladıktan sonra bir kez çağrılır ve herhangi bir UI gösterilmeden önce uygulama geneli kurulum (servis yapılandırma, üçüncü parti SDK'lar) için standart yerdir.",{"id":146,"topic":9,"difficulty":129,"body":147,"options":148,"correct_key":139,"explanation":157},"019f956d-6ddf-7738-9a31-6791be572ec4","Scene tabanlı (UIKit çoklu pencere) bir uygulamada `scene(_:willConnectTo:options:)` neyden sorumludur?",[149,151,153,155],{"key":133,"text":150},"Tüm süreç için düşük bellek uyarılarını ele alır",{"key":136,"text":152},"Push bildirim kategorilerini global olarak kaydeder.",{"key":139,"text":154},"Bağlanan tek bir scene için UI\u002Fpencere kurulumunu yapar",{"key":142,"text":156},"Biri bağlandığında diğer scene'leri sonlandırır.","Her UIScene kendi bağlantı callback'ini alır; tek bir sürecin birden fazla bağımsız scene barındırabilmesi nedeniyle her scene burada kendi pencere ve root view controller'ını kurar.",{"id":159,"topic":9,"difficulty":160,"body":161,"options":162,"correct_key":139,"explanation":171},"019f956d-6ddf-7cd7-8f8d-eb5a29417f0e",2,"`applicationWillResignActive(_:)` ile `applicationDidEnterBackground(_:)` arasındaki pratik fark nedir?",[163,165,167,169],{"key":133,"text":164},"Her cihazda ters sırada tetiklenirler",{"key":136,"text":166},"resignActive yalnızca scene tabanlı uygulamalarda vardır",{"key":139,"text":168},"resignActive önce tetiklenir (ekranda kalıp odağı kaybeder).",{"key":142,"text":170},"enterBackground uygulama daha launch'ı bitirmeden tetiklenir.","`applicationWillResignActive`, uygulama odağını kaybetmek üzereyken ama hâlâ kısmen görünür olabilirken (ör. bir sistem uyarısı çıkarken) tetiklenir; `applicationDidEnterBackground` ise artık hiç görünmediğinde tetiklenir — aynı geçişin daha ileri, daha güçlü aşamasıdır.",{"id":173,"topic":9,"difficulty":160,"body":174,"options":175,"correct_key":136,"explanation":184},"019f956d-6de0-752e-b0d4-e65152bf74ee","`applicationWillEnterForeground(_:)` ile `applicationDidBecomeActive(_:)` arasındaki ilişki nedir?",[176,178,180,182],{"key":133,"text":177},"Aynı callback'in iki farklı ismidir",{"key":136,"text":179},"willEnterForeground önce tetiklenir (görünür olmak üzere).",{"key":139,"text":181},"didBecomeActive her zaman önce, sonra willEnterForeground tetiklenir.",{"key":142,"text":183},"willEnterForeground yalnızca soğuk başlangıçta tetiklenir","willEnterForeground, ön plana dönüşün başladığını (UI'ın tekrar görünür olmaya başladığını) bildirir; didBecomeActive ise biraz sonra, uygulama tamamen aktif olup olayları tekrar alınca tetiklenir.",{"id":186,"topic":9,"difficulty":160,"body":187,"options":188,"correct_key":142,"explanation":197},"019f956d-6de0-7b8c-a8f3-bebc7b99c5ce","UIScene'in `.background` aktivasyon durumu (`.foregroundActive`\u002F`.foregroundInactive`'ye karşı) en iyi neyi tarif eder?",[189,191,193,195],{"key":133,"text":190},"Scene hiç bağlanmamıştır",{"key":136,"text":192},"Scene görünür ama bir sistem dialog'u tarafından kısmen kapatılmıştır",{"key":139,"text":194},"Scene bir saniye içinde kesinlikle yok edilecektir",{"key":142,"text":196},"Scene ekranda hiç görünmemektedir","`.background`, scene'in içeriğinin o an ekranda olmadığı anlamına gelir; süreç (sistem sınırlarına tabi) çalışmaya devam edebilir — bu, en azından kısmen görünür olan `.foregroundActive`\u002F`.foregroundInactive`'den farklıdır.",{"id":199,"topic":9,"difficulty":129,"body":200,"options":201,"correct_key":133,"explanation":210},"019f956d-6de1-72e2-873c-d4bf6b5e9fda","`UNUserNotificationCenter.current().requestAuthorization(options:)` çağrısı ne yapar?",[202,204,206,208],{"key":133,"text":203},"Kullanıcıdan bildirim gösterme izni ister",{"key":136,"text":205},"Hemen bir arka plan görevi zamanlar",{"key":139,"text":207},"Cihaz token'ını push servisine kaydeder",{"key":142,"text":209},"Sunucudan bekleyen uzak bildirimleri indirir.","Bu çağrı, kullanıcıdan bildirimler için uyarı\u002Fses\u002Frozet izni isteyen sistem izin ekranını tetikler — device token kaydı veya arka plan görevleriyle ilgisi yoktur.",{"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":6,"name_en":332,"sort":333,"specializations":334},"Mobile",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},[10,395],"en",[397,398],"google","github",21750,true]