[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:mobile\u002Fmobile-navigation":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-navigation","Mobile Navigation","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,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":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":8,"name":9,"count":11},{"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":136,"explanation":144},"019f677d-2b8a-7604-9135-c3df670016ea",1,"In stack-based navigation, what is a navigation stack?",[132,135,138,141],{"key":133,"text":134},"a","A list of every screen ever loaded into memory, whether or not the user actually visited it",{"key":136,"text":137},"b","An ordered collection of screens where entering a new one pushes it on top and going back pops it off",{"key":139,"text":140},"c","A fixed set of top-level destinations the user switches between with a single tap, none stacked on another",{"key":142,"text":143},"d","A single screen that redraws its own content depending on which button the user last pressed","A navigation stack models screens as a last-in, first-out sequence: opening a new screen pushes it on top, and back navigation pops the top screen to reveal the one beneath. (a) describes something closer to a cache; (c) describes tab navigation, not a stack; (d) describes a single mutable view, not a stack of destinations.",{"id":146,"topic":9,"difficulty":129,"body":147,"options":148,"correct_key":139,"explanation":157},"019f677d-2b8b-71b7-b00d-446be05def5b","What distinguishes tab-based navigation from stack-based push navigation?",[149,151,153,155],{"key":133,"text":150},"Only one destination can ever exist, so opening a tab replaces the previous one permanently",{"key":136,"text":152},"Every destination is reached by first popping the current screen off a shared stack",{"key":139,"text":154},"Several top-level destinations sit side by side, reached directly, each keeping state",{"key":142,"text":156},"There is no concept of going back, only moving forward to the next tab in a fixed order","Tabs represent parallel top-level sections of an app; switching tabs jumps directly to another section rather than popping through history, and each tab typically preserves its own state while inactive. (a) and (d) misdescribe tabs as a single destination or a strict forward sequence; (b) describes stack navigation, not tabs.",{"id":159,"topic":9,"difficulty":160,"body":161,"options":162,"correct_key":133,"explanation":171},"019f677d-2b8b-7823-b59d-146d71d24ccf",2,"In nested navigation where a tab hosts its own internal stack, what typically happens when the user pushes a screen inside one tab?",[163,165,167,169],{"key":133,"text":164},"That tab's own stack grows; the stacks belonging to the other tabs are unaffected",{"key":136,"text":166},"All tabs share a single stack, so the screen is pushed visibly onto every tab at once",{"key":139,"text":168},"Nesting means a stack can only ever contain other stacks, never an individual screen",{"key":142,"text":170},"Nesting is purely a visual style choice with no effect on what is remembered when switching tabs","Each tab commonly owns an independent navigation stack nested inside the top-level tab container, so pushing inside one tab only changes that tab's own history. (b) describes a shared-stack design, which is a different architecture; (c) and (d) misstate what nesting means structurally.",{"id":173,"topic":9,"difficulty":160,"body":174,"options":175,"correct_key":136,"explanation":184},"019f677d-2b8b-7f2e-b2a0-e86cd33fd61f","A user is three screens deep on a stack and presses the back button\u002Fgesture. What is the expected default behavior?",[176,178,180,182],{"key":133,"text":177},"It always returns the user to the app's home tab, skipping the intermediate screens",{"key":136,"text":179},"It pops the current screen and reveals whatever screen was directly beneath it",{"key":139,"text":181},"It closes the app immediately, regardless of how many screens are currently open",{"key":142,"text":183},"It reloads the current screen with fresh data instead of navigating anywhere","The standard contract for back is a single pop: remove the top of the stack and show what's now on top, one step at a time. (a) and (c) both skip or ignore the actual stack depth; (d) confuses a refresh action with a navigation action.",{"id":186,"topic":9,"difficulty":160,"body":187,"options":188,"correct_key":142,"explanation":197},"019f677d-2b8c-752d-8cb9-2b7ccef74953","How does a swipe-back gesture relate to the back control's pop behavior?",[189,191,193,195],{"key":133,"text":190},"It permanently deletes the screen being left so it cannot be revisited later in the session",{"key":136,"text":192},"It behaves like opening a brand-new destination rather than reversing the last navigation step",{"key":139,"text":194},"It is only available on the very first screen of the stack and nowhere else",{"key":142,"text":196},"It performs the same pop operation as the back control, typically with a partial, cancellable transition","A swipe-back gesture is an alternate input for the same pop operation the back control triggers, usually rendered as a draggable transition the user can release partway to cancel and stay on the current screen. (a), (b), and (c) all describe behavior unrelated to how the gesture actually maps to navigation.",{"id":199,"topic":9,"difficulty":129,"body":200,"options":201,"correct_key":139,"explanation":210},"019f677d-2b8c-7a61-a98a-107375b043e0","What is a deep link, at a conceptual level?",[202,204,206,208],{"key":133,"text":203},"A link that always opens the app's home screen no matter what URL was tapped",{"key":136,"text":205},"A shortcut icon placed on the device's home screen that launches the app",{"key":139,"text":207},"A URL or identifier meant to take the user to a specific screen inside the app",{"key":142,"text":209},"A background network request the app makes periodically to refresh its data","A deep link's purpose is to encode a target destination inside the app so opening it lands the user on that specific screen rather than a generic entry point. (a) contradicts the whole point of a deep link; (b) and (d) describe unrelated concepts (a launcher shortcut, a background sync call).",{"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":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]