[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:data-engineer\u002Fdata-pipeline-orchestration":4,"config":126},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":40,"samples":41},"data-engineer","Data Engineer","","data-pipeline-orchestration","Data Pipeline Orchestration","en",75,600,[14,15,16],"junior","mid","senior",[18,21,24,27,30,31,34,37],{"key":19,"name":20,"count":11},"data-governance-lineage","Data Governance Lineage",{"key":22,"name":23,"count":11},"data-modeling-warehousing","Data Modeling Warehousing",{"key":25,"name":26,"count":11},"data-partitioning-scaling","Data Partitioning Scaling",{"key":28,"name":29,"count":11},"data-pipeline-design","Data Pipeline Design",{"key":8,"name":9,"count":11},{"key":32,"name":33,"count":11},"data-pipeline-reliability","Data Pipeline Reliability",{"key":35,"name":36,"count":11},"data-quality-validation","Data Quality Validation",{"key":38,"name":39,"count":11},"streaming-fundamentals","Streaming Fundamentals",[],[42,60,73,87,100,113],{"id":43,"topic":9,"difficulty":44,"body":45,"options":46,"correct_key":51,"explanation":59},"019f6a40-d70f-7197-8fcd-20b89cb793a9",1,"In pipeline orchestration, what does a DAG (directed acyclic graph) primarily represent?",[47,50,53,56],{"key":48,"text":49},"a","A task's retry loop",{"key":51,"text":52},"b","Dependency order, no cycles",{"key":54,"text":55},"c","The servers a pipeline runs on",{"key":57,"text":58},"d","The output data's storage format","A DAG models tasks as nodes and dependencies as directed edges. 'Acyclic' means no task can depend on itself through a chain, which guarantees a valid execution order can always be computed.",{"id":61,"topic":9,"difficulty":44,"body":62,"options":63,"correct_key":54,"explanation":72},"019f6a40-d70f-7aa0-8bb7-c8d52b2d0b7d","Why must a pipeline dependency graph be acyclic?",[64,66,68,70],{"key":48,"text":65},"Acyclic graphs use less disk space",{"key":51,"text":67},"Cyclic graphs cannot store two tasks",{"key":54,"text":69},"A cycle blocks any valid run order",{"key":57,"text":71},"Schedulers need alphabetical task names","If task A depends on B and B depends on A, neither can ever run first — there is no starting point. Acyclicity guarantees at least one valid topological ordering exists.",{"id":74,"topic":9,"difficulty":75,"body":76,"options":77,"correct_key":48,"explanation":86},"019f6a40-d710-7437-afc7-71dd015b0945",2,"What is the main difference between cron-style scheduling and event-based triggering for a pipeline?",[78,80,82,84],{"key":48,"text":79},"Cron is time-driven; events react",{"key":51,"text":81},"Cron runs yearly, event-based every second",{"key":54,"text":83},"Event-based needs no monitoring",{"key":57,"text":85},"Cron cannot combine with retries","Cron-style scheduling is time-driven (e.g. every day at 02:00). Event-based triggering is driven by an occurrence, like a file landing or an upstream pipeline finishing, so the run time varies with when the event happens.",{"id":88,"topic":9,"difficulty":75,"body":89,"options":90,"correct_key":57,"explanation":99},"019f6a40-d710-7b4c-95b2-aae3f083deaa","A daily report pipeline must run only after a specific upstream file arrives in storage, and the arrival time varies by a few hours each day. Which scheduling approach fits best?",[91,93,95,97],{"key":48,"text":92},"Cron set to the earliest possible arrival",{"key":51,"text":94},"Cron set to the latest possible arrival",{"key":54,"text":96},"No scheduling, run it manually",{"key":57,"text":98},"An event-based trigger on file arrival","Since arrival time is variable, a fixed cron schedule either risks running too early (file missing) or wastes time waiting until the latest possible slot. An event-based trigger reacts exactly when the dependency is satisfied.",{"id":101,"topic":9,"difficulty":75,"body":102,"options":103,"correct_key":51,"explanation":112},"019f6a40-d711-7591-9d8d-45c0f4d5e70e","What does 'backfill' mean in the context of pipeline orchestration?",[104,106,108,110],{"key":48,"text":105},"Deleting old pipeline runs",{"key":51,"text":107},"Re-running the pipeline for past dates",{"key":54,"text":109},"Adding a new column to a table",{"key":57,"text":111},"Increasing parallel workers for future runs","Backfill means executing the pipeline logic against historical time windows — for example running the last 30 days again after a bug fix — so that historical output matches what the corrected logic would have produced.",{"id":114,"topic":9,"difficulty":75,"body":115,"options":116,"correct_key":54,"explanation":125},"019f6a40-d711-7c15-845f-e5a1129fef30","A pipeline that computes daily active user counts had a bug for the last 10 days that undercounted users. The bug is now fixed. What should typically happen next?",[117,119,121,123],{"key":48,"text":118},"Nothing, only future runs matter",{"key":51,"text":120},"Delete the last 10 days permanently",{"key":54,"text":122},"Backfill the affected 10 days",{"key":57,"text":124},"Change the schedule to run twice daily","Since historical output is now known to be wrong, a backfill re-runs the corrected logic over the affected date range so historical data becomes consistent with the fix, rather than leaving stale or missing data.",{"fields":127,"seniorities":311,"interview_shapes":312,"locales":317,"oauth":319,"question_count":322,"coach_enabled":323,"jd_match_enabled":323},[128,153,173,190,214,227,246,265,287,294,298,305],{"key":129,"name_tr":130,"name_en":130,"sort":44,"specializations":131},"backend","Backend",[132,135,138,141,144,147,150],{"key":133,"name":134,"field":129},"general","Genel",{"key":136,"name":137,"field":129},"go","Go",{"key":139,"name":140,"field":129},"python","Python",{"key":142,"name":143,"field":129},"java","Java",{"key":145,"name":146,"field":129},"csharp","C#\u002F.NET",{"key":148,"name":149,"field":129},"nodejs","Node.js",{"key":151,"name":152,"field":129},"php","PHP",{"key":154,"name_tr":155,"name_en":155,"sort":75,"specializations":156},"frontend","Frontend",[157,158,161,164,167,170],{"key":133,"name":134,"field":154},{"key":159,"name":160,"field":154},"javascript","JavaScript",{"key":162,"name":163,"field":154},"typescript","TypeScript",{"key":165,"name":166,"field":154},"react","React",{"key":168,"name":169,"field":154},"vue","Vue",{"key":171,"name":172,"field":154},"angular","Angular",{"key":174,"name_tr":175,"name_en":175,"sort":176,"specializations":177},"fullstack","Fullstack",3,[178,179,180,181,182,183,184,185,186,187,188,189],{"key":133,"name":134,"field":174},{"key":136,"name":137,"field":129},{"key":139,"name":140,"field":129},{"key":142,"name":143,"field":129},{"key":145,"name":146,"field":129},{"key":148,"name":149,"field":129},{"key":151,"name":152,"field":129},{"key":159,"name":160,"field":154},{"key":162,"name":163,"field":154},{"key":165,"name":166,"field":154},{"key":168,"name":169,"field":154},{"key":171,"name":172,"field":154},{"key":191,"name_tr":192,"name_en":192,"sort":193,"specializations":194},"devops-cloud","DevOps \u002F Cloud",4,[195,196,199,202,205,208,211],{"key":133,"name":134,"field":191},{"key":197,"name":198,"field":191},"aws","AWS",{"key":200,"name":201,"field":191},"gcp","GCP",{"key":203,"name":204,"field":191},"azure","Azure",{"key":206,"name":207,"field":191},"kubernetes","Kubernetes",{"key":209,"name":210,"field":191},"terraform","Terraform",{"key":212,"name":213,"field":191},"linux","Linux",{"key":215,"name_tr":216,"name_en":216,"sort":217,"specializations":218},"ai-engineer","AI Engineer",5,[219,220,221,224],{"key":133,"name":134,"field":215},{"key":139,"name":140,"field":215},{"key":222,"name":223,"field":215},"llm-rag","LLM\u002FRAG",{"key":225,"name":226,"field":215},"mlops","MLOps",{"key":228,"name_tr":229,"name_en":230,"sort":231,"specializations":232},"database","Veritabanı","Database",6,[233,234,237,240,243],{"key":133,"name":134,"field":228},{"key":235,"name":236,"field":228},"postgresql","PostgreSQL",{"key":238,"name":239,"field":228},"mysql","MySQL",{"key":241,"name":242,"field":228},"mongodb","MongoDB",{"key":244,"name":245,"field":228},"redis","Redis",{"key":247,"name_tr":248,"name_en":249,"sort":250,"specializations":251},"mobile","Mobil","Mobile",7,[252,253,256,259,262],{"key":133,"name":134,"field":247},{"key":254,"name":255,"field":247},"ios-swift","iOS (Swift)",{"key":257,"name":258,"field":247},"android-kotlin","Android (Kotlin)",{"key":260,"name":261,"field":247},"flutter","Flutter",{"key":263,"name":264,"field":247},"react-native","React Native",{"key":266,"name_tr":267,"name_en":268,"sort":269,"specializations":270},"security","Güvenlik","Security",8,[271,272,275,278,281,284],{"key":133,"name":134,"field":266},{"key":273,"name":274,"field":266},"appsec","AppSec",{"key":276,"name":277,"field":266},"offensive-pentest","Offensive \u002F Pentest",{"key":279,"name":280,"field":266},"cloud-security","Cloud Security",{"key":282,"name":283,"field":266},"devsecops","DevSecOps",{"key":285,"name":286,"field":266},"blue-team-incident","Blue Team \u002F Incident",{"key":288,"name_tr":289,"name_en":290,"sort":291,"specializations":292},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[293],{"key":133,"name":134,"field":288},{"key":5,"name_tr":6,"name_en":6,"sort":295,"specializations":296},10,[297],{"key":133,"name":134,"field":5},{"key":299,"name_tr":300,"name_en":301,"sort":302,"specializations":303},"game-dev","Oyun Geliştirme","Game Development",11,[304],{"key":133,"name":134,"field":299},{"key":306,"name_tr":307,"name_en":307,"sort":308,"specializations":309},"ml-engineer","ML Engineer",12,[310],{"key":133,"name":134,"field":306},[14,15,16],{"junior":313,"mid":315,"senior":316},{"questions":314,"median_sec":3},20,{"questions":314,"median_sec":3},{"questions":314,"median_sec":3},[318,10],"tr",[320,321],"google","github",21750,true]