[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr: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","Mobil","","mobile-performance-battery","Mobile Performance Battery","tr",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,"Bir mobil uygulamada \"cold start\" (soğuk başlangıç) nedir?",[132,135,138,141],{"key":133,"text":134},"a","İşletim sisteminin sıfırdan yeni bir süreç oluşturup her şeyi baştan başlatması",{"key":136,"text":137},"b","Uygulamanın kaldığı yerden devam etmesi",{"key":139,"text":140},"c","Uygulamanın ön plandayken bir push bildirimi alması",{"key":142,"text":143},"d","Uygulamanın önceki bir çökme sonrası önbelleğe alınmış bir arayüz görüntüsünden otomatik olarak yeniden açılması","Cold start, uygulamanın belleğe alınmış bir süreci olmadığında yaşanır. İşletim sistemi süreci oluşturmalı, runtime'ı başlatmalı, ilk nesneleri kurmalı ve ilk ekranı inşa etmelidir — en yavaş başlangıç yoludur.",{"id":146,"topic":9,"difficulty":129,"body":147,"options":148,"correct_key":136,"explanation":157},"019f677d-2bb4-765a-8e27-a9db051974e3","\"Warm start\" (ılık başlangıç) nedir?",[149,151,153,155],{"key":133,"text":150},"Kullanıcının uygulamayı kurmasının hemen ardından gerçekleşen ilk açılış",{"key":136,"text":152},"Uygulama sürecinin bellekte hâlâ canlı olması, bu yüzden yeniden açılışın tam başlatmayı atlaması",{"key":139,"text":154},"Cihaz yeniden başlatıldıktan hemen sonraki açılış",{"key":142,"text":156},"Cihazın hiçbir ağ bağlantısı olmadan gerçekleşen açılış","Warm start'ta süreç sonlandırılmamış, sadece arka plana alınmıştır. Runtime ve birçok nesne zaten var olduğundan arayüze ulaşmak cold start'tan daha hızlıdır.",{"id":159,"topic":9,"difficulty":129,"body":160,"options":161,"correct_key":139,"explanation":170},"019f677d-2bb4-7dc2-881d-d585ece5c2b1","Cold start genellikle warm start'tan neden daha yavaştır?",[162,164,166,168],{"key":133,"text":163},"Cold start her zaman herhangi bir şey göstermeden önce ağ üzerinden yeni arayüz varlıkları indirir",{"key":136,"text":165},"Cold start kullanıcının giriş bilgilerini yeniden girmesini gerektirir",{"key":139,"text":167},"Cold start süreci, runtime'ı ve ilk ekranı sıfırdan yeniden kurar",{"key":142,"text":169},"Cold start oturum boyunca tüm animasyonları devre dışı bırakır","Cold start; süreç oluşturma, runtime kurulumu, ilk nesnelerin ve ilk ekranın inşası maliyetinin tamamını öder. Warm start zaten başlatılmış bir süreci yeniden kullandığından çok daha ucuzdur.",{"id":172,"topic":9,"difficulty":129,"body":173,"options":174,"correct_key":142,"explanation":183},"019f677d-2bb5-741d-a4ba-30d4d623669f","Kullanıcı telefonunu yeniden başlatıyor, saatler sonra yeniden başlatmadan bu yana ilk kez uygulama simgesine dokunuyor. Uygulama ne tür bir başlangıç yapar?",[175,177,179,181],{"key":133,"text":176},"Warm start, çünkü uygulama yeniden başlatmadan önce kuruluydu",{"key":136,"text":178},"Yalnızca yeniden başlatma sonrası açılışlara özel özel bir başlangıç türü",{"key":139,"text":180},"Warm start, çünkü işletim sistemi uygulama durumunu yeniden başlatmalar arasında önbelleğe alır",{"key":142,"text":182},"Cold start, çünkü yeniden başlatma tüm çalışan süreçleri temizler","Yeniden başlatma çalışan tüm süreçleri sonlandırır, dolayısıyla devam edilecek hiçbir şey yoktur. Sonraki ilk açılış, aradan ne kadar zaman geçerse geçsin, yeni bir süreç oluşturmak zorundadır — yani cold start.",{"id":185,"topic":9,"difficulty":129,"body":186,"options":187,"correct_key":133,"explanation":196},"019f677d-2bb5-7ac0-a217-14e01f86a67b","Uygulamayı gün içinde ilk açış yavaş hissettiriyor, ancak uygulamayı kapatmadan daha sonra tekrar açmak anlık hissettiriyor. Bu örüntü neyi işaret eder?",[188,190,192,194],{"key":133,"text":189},"Yavaş durum cold start'tır; anlık durum warm start'tır",{"key":136,"text":191},"Cihazın ekran yenileme hızı bu belirli uygulama için yanlış yapılandırılmıştır",{"key":139,"text":193},"Uygulamanın ağ istekleri yanlış önbelleğe alınıyordur",{"key":142,"text":195},"Fark tamamen pil tasarrufu modundan kaynaklanır","İlk açıştaki yavaşlık cold start'tır (etkin olmama sonrası süreç sonlandırılmıştır), kapatmadan geri dönüş ise warm start'tır (süreç hâlâ canlıdır). Başlangıç süresi optimizasyonu cold yola odaklanmalıdır.",{"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```\nYukarıdaki her adım ilk ekran görünmeden önce senkron çalışıyor. Cold-start süresi için ana kaygı nedir?",[201,203,205,207],{"key":133,"text":202},"initAnalytics() hiçbir koşulda uygulama açılışında çağrılmamalıdır",{"key":136,"text":204},"Gerekli olmayan işler ilk ekranı geciktirir, ekran gösterildikten sonra çalışmalıdır",{"key":139,"text":206},"showFirstScreen() fonksiyonun ilk satırı olmalıdır",{"key":142,"text":208},"loadAllImages() yalnızca bir arka plan sürecinden çağrıldığında geçerlidir","Buradaki her şey ilk ekranın görünmesini engelliyor. İlk ekranı çizmek için gerekli olmayan işler (reklam SDK kurulumu, derinlemesine analytics init) arayüz görünür olana kadar ertelenmelidir.",{"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":6,"name_en":332,"sort":333,"specializations":334},"Mobile",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},[10,395],"en",[397,398],"google","github",21750,true]