[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:mobile\u002Fmid":4,"config":212},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":8,"spec_key":8,"spec_name":8,"locale":9,"cell_total":10,"field_total":11,"seniorities":12,"topics":15,"specs":113,"samples":127},"mobile","Mobile","mid","","en",1977,2400,[13,7,14],"junior","senior",[16,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98,101,104,107,110],{"key":17,"name":18,"count":19},"fl-dart-async-isolates","Fl Dart Async Isolates",75,{"key":21,"name":22,"count":19},"fl-dart-language-null-safety","Fl Dart Language Null Safety",{"key":24,"name":25,"count":19},"fl-flutter-persistence-storage","Fl Flutter Persistence Storage",{"key":27,"name":28,"count":19},"fl-flutter-platform-channels-lifecycle","Fl Flutter Platform Channels Lifecycle",{"key":30,"name":31,"count":19},"fl-flutter-rendering-widget-tree","Fl Flutter Rendering Widget Tree",{"key":33,"name":34,"count":19},"fl-flutter-state-management-widgets","Fl Flutter State Management Widgets",{"key":36,"name":37,"count":19},"ios-core-data-swiftdata-persistence","Ios Core Data Swiftdata Persistence",{"key":39,"name":40,"count":19},"ios-lifecycle-background-execution","Ios Lifecycle Background Execution",{"key":42,"name":43,"count":19},"ios-memory-management-arc","Ios Memory Management Arc",{"key":45,"name":46,"count":19},"ios-swift-concurrency-structured","Ios Swift Concurrency Structured",{"key":48,"name":49,"count":19},"ios-swift-type-system-optionals","Ios Swift Type System Optionals",{"key":51,"name":52,"count":19},"ios-swiftui-state-rendering","Ios Swiftui State Rendering",{"key":54,"name":55,"count":19},"kt-android-lifecycle-background-execution","Kt Android Lifecycle Background Execution",{"key":57,"name":58,"count":19},"kt-android-memory-context-leaks","Kt Android Memory Context Leaks",{"key":60,"name":61,"count":19},"kt-android-room-persistence","Kt Android Room Persistence",{"key":63,"name":64,"count":19},"kt-jetpack-compose-state-recomposition","Kt Jetpack Compose State Recomposition",{"key":66,"name":67,"count":19},"kt-kotlin-coroutines-flow","Kt Kotlin Coroutines Flow",{"key":69,"name":70,"count":19},"kt-kotlin-type-system-null-safety","Kt Kotlin Type System Null Safety",{"key":72,"name":73,"count":19},"mobile-distribution-ci","Mobile Distribution Ci",{"key":75,"name":76,"count":19},"mobile-navigation","Mobile Navigation",{"key":78,"name":79,"count":19},"mobile-networking-offline","Mobile Networking Offline",{"key":81,"name":82,"count":19},"mobile-performance-battery","Mobile Performance Battery",{"key":84,"name":85,"count":19},"mobile-security-storage","Mobile Security Storage",{"key":87,"name":88,"count":19},"mobile-state-data","Mobile State Data",{"key":90,"name":91,"count":19},"mobile-testing-automation","Mobile Testing Automation",{"key":93,"name":94,"count":19},"mobile-ui-lifecycle","Mobile Ui Lifecycle",{"key":96,"name":97,"count":19},"rn-javascript-typescript-fundamentals","Rn Javascript Typescript Fundamentals",{"key":99,"name":100,"count":19},"rn-native-bridge-modules","Rn Native Bridge Modules",{"key":102,"name":103,"count":19},"rn-navigation-lifecycle","Rn Navigation Lifecycle",{"key":105,"name":106,"count":19},"rn-networking-persistence-offline","Rn Networking Persistence Offline",{"key":108,"name":109,"count":19},"rn-performance-rendering","Rn Performance Rendering",{"key":111,"name":112,"count":19},"rn-react-hooks-state-management","Rn React Hooks State Management",[114,118,121,124],{"key":115,"name":116,"count":117},"android-kotlin","Android (Kotlin)",450,{"key":119,"name":120,"count":117},"flutter","Flutter",{"key":122,"name":123,"count":117},"ios-swift","iOS (Swift)",{"key":125,"name":126,"count":117},"react-native","React Native",[128,146,159,172,186,199],{"id":129,"topic":73,"difficulty":130,"body":131,"options":132,"correct_key":137,"explanation":145},"019f677d-2b6f-7b19-96fb-9a5281f10bc5",2,"A team wants to avoid review cycles that add days to their release timeline. Which pre-submission check would most likely catch a common rejection cause early?",[133,136,139,142],{"key":134,"text":135},"a","Confirming the build was compiled with the latest available compiler version.",{"key":137,"text":138},"b","Verifying that every requested permission has a working, reachable code path that uses it.",{"key":140,"text":141},"c","Making sure the app icon matches the exact pixel dimensions recommended.",{"key":143,"text":144},"d","Ensuring release notes are translated into as many languages as possible.","Reviewers commonly reject apps that request permissions without a functional, reachable use for them. Compiler version, icon sizing, and translation completeness are not typical rejection drivers.",{"id":147,"topic":73,"difficulty":130,"body":148,"options":149,"correct_key":140,"explanation":158},"019f677d-2b70-7931-869d-8d6b586903e0","A team submits a build and it's rejected because a login screen is unreachable without a test account, and the reviewer couldn't get past it. What should the team change to avoid this in future submissions?",[150,152,154,156],{"key":134,"text":151},"Remove the login screen entirely before every submission.",{"key":137,"text":153},"Reduce the number of screens beyond login.",{"key":140,"text":155},"Provide a demo account so reviewers can get past the gate.",{"key":143,"text":157},"Add a note in the app description explaining the login requirement.","Reviewers need an actual path into the app; a demo account or reviewer bypass solves the root cause. Removing the login screen or just adding a text note doesn't give the reviewer a working path.",{"id":160,"topic":73,"difficulty":130,"body":161,"options":162,"correct_key":134,"explanation":171},"019f677d-2b72-732f-8898-fddddd19cdef","A team rolls out a new version to 5% of users. Within hours, crash reports spike sharply compared to the previous version's baseline. What is the appropriate immediate action?",[163,165,167,169],{"key":134,"text":164},"Halt the rollout and roll back for the affected users.",{"key":137,"text":166},"Immediately expand the rollout to 100% to gather more crash data faster.",{"key":140,"text":168},"Wait for the review team to reject the affected build.",{"key":143,"text":170},"Ask users experiencing crashes to reinstall the app.","A sharp crash spike relative to baseline is exactly the signal a staged rollout is designed to catch early, before it reaches more users; halting\u002Frolling back limits blast radius. Expanding further increases harm, and review rejection or reinstall requests don't address the regression.",{"id":173,"topic":73,"difficulty":174,"body":175,"options":176,"correct_key":137,"explanation":185},"019f677d-2b73-71a2-9bce-dedde87a4bde",3,"A rollout configuration is set as follows:\n```\nrelease:\n  version: 4.2.0\n  rollout_percentage: 10\n  halt_on_crash_rate_increase: true\n```\nIf the app has 200,000 active users, approximately how many would be receiving version 4.2.0 while the rollout sits at this stage?",[177,179,181,183],{"key":134,"text":178},"About 2,000 users.",{"key":137,"text":180},"About 20,000 users.",{"key":140,"text":182},"About 180,000 users.",{"key":143,"text":184},"All 200,000 users, since rollout percentage only affects update visibility timing, not the total.","10% of 200,000 is 20,000. Rollout percentage directly controls what fraction of the population receives the new version at that stage, not just visibility timing.",{"id":187,"topic":73,"difficulty":130,"body":188,"options":189,"correct_key":143,"explanation":198},"019f677d-2b74-73e4-a623-dbba0c18c407","Shortly after release, a team discovers a bug in a newly launched feature that is causing user complaints. The feature was shipped behind a feature flag. What is the fastest safe way to mitigate the issue without submitting a new build?",[190,192,194,196],{"key":134,"text":191},"Submit an emergency new version to the store and wait for expedited review.",{"key":137,"text":193},"Ask users to update their OS to resolve the issue.",{"key":140,"text":195},"Remove the feature's code in the next scheduled release cycle.",{"key":143,"text":197},"Turn off the feature flag remotely to disable the feature for users.","Since the feature is gated by a flag already shipped in the current build, flipping the remote flag off is immediate and doesn't require any new submission. Submitting a new build still requires review time, and the other options don't address the bug quickly.",{"id":200,"topic":73,"difficulty":130,"body":201,"options":202,"correct_key":137,"explanation":211},"019f677d-2b75-723e-a4e9-fb76f1417e7e","A team's release pipeline fails at the signing step with an error about an expired signing certificate. What is the most direct consequence of this failure?",[203,205,207,209],{"key":134,"text":204},"The app will publish normally but show a warning banner to users.",{"key":137,"text":206},"It can't be published or trusted without a valid signing certificate.",{"key":140,"text":208},"The app will be published with reduced performance.",{"key":143,"text":210},"The store review process will be skipped automatically.","An expired signing certificate blocks publishing\u002Finstallation as a trusted build entirely — it's a hard gate, not a cosmetic warning, performance issue, or a way to skip review.",{"fields":213,"seniorities":389,"interview_shapes":390,"locales":395,"oauth":397,"question_count":400,"coach_enabled":401,"jd_match_enabled":401},[214,240,260,276,300,313,332,341,363,370,376,383],{"key":215,"name_tr":216,"name_en":216,"sort":217,"specializations":218},"backend","Backend",1,[219,222,225,228,231,234,237],{"key":220,"name":221,"field":215},"general","Genel",{"key":223,"name":224,"field":215},"go","Go",{"key":226,"name":227,"field":215},"python","Python",{"key":229,"name":230,"field":215},"java","Java",{"key":232,"name":233,"field":215},"csharp","C#\u002F.NET",{"key":235,"name":236,"field":215},"nodejs","Node.js",{"key":238,"name":239,"field":215},"php","PHP",{"key":241,"name_tr":242,"name_en":242,"sort":130,"specializations":243},"frontend","Frontend",[244,245,248,251,254,257],{"key":220,"name":221,"field":241},{"key":246,"name":247,"field":241},"javascript","JavaScript",{"key":249,"name":250,"field":241},"typescript","TypeScript",{"key":252,"name":253,"field":241},"react","React",{"key":255,"name":256,"field":241},"vue","Vue",{"key":258,"name":259,"field":241},"angular","Angular",{"key":261,"name_tr":262,"name_en":262,"sort":174,"specializations":263},"fullstack","Fullstack",[264,265,266,267,268,269,270,271,272,273,274,275],{"key":220,"name":221,"field":261},{"key":223,"name":224,"field":215},{"key":226,"name":227,"field":215},{"key":229,"name":230,"field":215},{"key":232,"name":233,"field":215},{"key":235,"name":236,"field":215},{"key":238,"name":239,"field":215},{"key":246,"name":247,"field":241},{"key":249,"name":250,"field":241},{"key":252,"name":253,"field":241},{"key":255,"name":256,"field":241},{"key":258,"name":259,"field":241},{"key":277,"name_tr":278,"name_en":278,"sort":279,"specializations":280},"devops-cloud","DevOps \u002F Cloud",4,[281,282,285,288,291,294,297],{"key":220,"name":221,"field":277},{"key":283,"name":284,"field":277},"aws","AWS",{"key":286,"name":287,"field":277},"gcp","GCP",{"key":289,"name":290,"field":277},"azure","Azure",{"key":292,"name":293,"field":277},"kubernetes","Kubernetes",{"key":295,"name":296,"field":277},"terraform","Terraform",{"key":298,"name":299,"field":277},"linux","Linux",{"key":301,"name_tr":302,"name_en":302,"sort":303,"specializations":304},"ai-engineer","AI Engineer",5,[305,306,307,310],{"key":220,"name":221,"field":301},{"key":226,"name":227,"field":301},{"key":308,"name":309,"field":301},"llm-rag","LLM\u002FRAG",{"key":311,"name":312,"field":301},"mlops","MLOps",{"key":314,"name_tr":315,"name_en":316,"sort":317,"specializations":318},"database","Veritabanı","Database",6,[319,320,323,326,329],{"key":220,"name":221,"field":314},{"key":321,"name":322,"field":314},"postgresql","PostgreSQL",{"key":324,"name":325,"field":314},"mysql","MySQL",{"key":327,"name":328,"field":314},"mongodb","MongoDB",{"key":330,"name":331,"field":314},"redis","Redis",{"key":5,"name_tr":333,"name_en":6,"sort":334,"specializations":335},"Mobil",7,[336,337,338,339,340],{"key":220,"name":221,"field":5},{"key":122,"name":123,"field":5},{"key":115,"name":116,"field":5},{"key":119,"name":120,"field":5},{"key":125,"name":126,"field":5},{"key":342,"name_tr":343,"name_en":344,"sort":345,"specializations":346},"security","Güvenlik","Security",8,[347,348,351,354,357,360],{"key":220,"name":221,"field":342},{"key":349,"name":350,"field":342},"appsec","AppSec",{"key":352,"name":353,"field":342},"offensive-pentest","Offensive \u002F Pentest",{"key":355,"name":356,"field":342},"cloud-security","Cloud Security",{"key":358,"name":359,"field":342},"devsecops","DevSecOps",{"key":361,"name":362,"field":342},"blue-team-incident","Blue Team \u002F Incident",{"key":364,"name_tr":365,"name_en":366,"sort":367,"specializations":368},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[369],{"key":220,"name":221,"field":364},{"key":371,"name_tr":372,"name_en":372,"sort":373,"specializations":374},"data-engineer","Data Engineer",10,[375],{"key":220,"name":221,"field":371},{"key":377,"name_tr":378,"name_en":379,"sort":380,"specializations":381},"game-dev","Oyun Geliştirme","Game Development",11,[382],{"key":220,"name":221,"field":377},{"key":384,"name_tr":385,"name_en":385,"sort":386,"specializations":387},"ml-engineer","ML Engineer",12,[388],{"key":220,"name":221,"field":384},[13,7,14],{"junior":391,"mid":393,"senior":394},{"questions":392,"median_sec":3},20,{"questions":392,"median_sec":3},{"questions":392,"median_sec":3},[396,9],"tr",[398,399],"google","github",21750,true]