[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:data-engineer\u002Fst-flink-runtime-checkpointing-state":4,"config":191},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":94,"samples":105},"data-engineer","Data Engineer","","st-flink-runtime-checkpointing-state","St Flink Runtime Checkpointing State","tr",75,1950,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,58,61,64,67,70,73,76,79,82,85,88,91],{"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":31,"name":32,"count":11},"data-pipeline-orchestration","Data Pipeline Orchestration",{"key":34,"name":35,"count":11},"data-pipeline-reliability","Data Pipeline Reliability",{"key":37,"name":38,"count":11},"data-quality-validation","Data Quality Validation",{"key":40,"name":41,"count":11},"pe-airflow-scheduling-dependencies","Pe Airflow Scheduling Dependencies",{"key":43,"name":44,"count":11},"pe-dbt-models-materializations-tests","Pe Dbt Models Materializations Tests",{"key":46,"name":47,"count":11},"pe-file-formats-table-formats","Pe File Formats Table Formats",{"key":49,"name":50,"count":11},"pe-incremental-cdc-merge-mechanics","Pe Incremental Cdc Merge Mechanics",{"key":52,"name":53,"count":11},"pe-spark-api-semantics-udfs","Pe Spark Api Semantics Udfs",{"key":55,"name":56,"count":11},"pe-spark-execution-shuffle-partitions","Pe Spark Execution Shuffle Partitions",{"key":8,"name":9,"count":11},{"key":59,"name":60,"count":11},"st-flink-time-watermarks-windows","St Flink Time Watermarks Windows",{"key":62,"name":63,"count":11},"st-kafka-broker-storage-replication","St Kafka Broker Storage Replication",{"key":65,"name":66,"count":11},"st-kafka-connect-schema-registry","St Kafka Connect Schema Registry",{"key":68,"name":69,"count":11},"st-kafka-producer-consumer-semantics","St Kafka Producer Consumer Semantics",{"key":71,"name":72,"count":11},"streaming-fundamentals","Streaming Fundamentals",{"key":74,"name":75,"count":11},"st-streaming-joins-tables","St Streaming Joins Tables",{"key":77,"name":78,"count":11},"wh-bigquery-execution-slots-cost","Wh Bigquery Execution Slots Cost",{"key":80,"name":81,"count":11},"wh-bigquery-storage-partitioning-clustering","Wh Bigquery Storage Partitioning Clustering",{"key":83,"name":84,"count":11},"wh-materialized-views-caching","Wh Materialized Views Caching",{"key":86,"name":87,"count":11},"wh-redshift-distribution-sort-vacuum","Wh Redshift Distribution Sort Vacuum",{"key":89,"name":90,"count":11},"wh-snowflake-compute-warehouses","Wh Snowflake Compute Warehouses",{"key":92,"name":93,"count":11},"wh-snowflake-storage-micropartitions","Wh Snowflake Storage Micropartitions",[95,99,102],{"key":96,"name":97,"count":98},"pipelines-etl","Pipelines \u002F ETL",450,{"key":100,"name":101,"count":98},"streaming","Streaming",{"key":103,"name":104,"count":98},"warehousing","Warehousing",[106,124,138,151,165,178],{"id":107,"topic":9,"difficulty":108,"body":109,"options":110,"correct_key":115,"explanation":123},"01a00b9b-8909-75e4-ae5e-4a94de0af5dc",2,"Apache Flink 1.19 çalışma zamanı mimarisinde, bir JobManager süreci hangi üç bileşenden oluşur?",[111,114,117,120],{"key":112,"text":113},"a","Dispatcher, TaskManager ve JobMaster",{"key":115,"text":116},"b","Dispatcher, ResourceManager ve JobMaster",{"key":118,"text":119},"c","ResourceManager, TaskManager ve global bir Scheduler",{"key":121,"text":122},"d","JobMaster, TaskExecutor ve Dispatcher","Bir JobManager süreci; Dispatcher'ı (iş gönderimi için REST uç noktası), ResourceManager'ı (küme genelinde slot tahsisi) ve çalışan her iş için bir JobMaster'ı (execution graph zamanlaması ve hata yönetimi) barındırır. TaskManager\u002FTaskExecutor işçi sürecidir ve JobManager'ın parçası değildir. Diğer şıklar TaskManager\u002FTaskExecutor'ı yanlışlıkla JobManager içine yerleştiriyor ya da var olmayan bir 'global Scheduler' bileşeni uyduruyor.",{"id":125,"topic":9,"difficulty":126,"body":127,"options":128,"correct_key":112,"explanation":137},"01a00b9b-8951-79ce-b865-561a5ce186bf",1,"Bir Flink TaskManager'ındaki tek bir task slot neyi temsil eder?",[129,131,133,135],{"key":112,"text":130},"TaskManager'ın kaynaklarının, özellikle managed memory'nin, sabit bir payı",{"key":115,"text":132},"Operator başına başlatılan ayrı bir JVM süreci",{"key":118,"text":134},"Aynı kümeye gönderilen işlerin mantıksal bir gruplaması",{"key":121,"text":136},"Tek bir operatör için tanımlanmış bir checkpoint aralığı sınırı","Task slot, bir TaskManager'ın kaynaklarının bir alt bölümüdür — 3 slotlu bir TaskManager, managed memory'sinin 1\u002F3'ünü her slota ayırır. Ayrı bir JVM değildir (bir TaskManager'ın tüm slotları aynı JVM içinde çalışır), bir iş gruplaması değildir ve checkpoint aralıklarıyla ilgisi yoktur.",{"id":139,"topic":9,"difficulty":108,"body":140,"options":141,"correct_key":121,"explanation":150},"01a00b9b-8953-764b-ab03-d60e8040413d","Flink'te varsayılan olarak, aynı işin farklı task'larına ait subtask'lar aynı task slot'unu paylaşabilir mi?",[142,144,146,148],{"key":112,"text":143},"Hayır — bir işteki farklı task'lar ayrı slotlara yerleştirilir",{"key":115,"text":145},"Yalnızca task'lar açıkça `disableChaining()` çağırırsa",{"key":118,"text":147},"Batch execution modunda paylaşabilir, streaming modunda paylaşamaz",{"key":121,"text":149},"Evet, Flink'in varsayılan slot sharing group'u sayesinde","Varsayılan olarak bir işin tüm task'ları aynı slot sharing group'una aittir, bu yüzden farklı task'ların (ör. source, map, sink) subtask'ları aynı slotu işgal edebilir. Bu, task'ları tek bir thread'de birleştiren chaining'den bağımsızdır ve hem streaming hem batch execution için geçerlidir.",{"id":152,"topic":9,"difficulty":153,"body":154,"options":155,"correct_key":118,"explanation":164},"01a00b9b-8956-753d-99af-b0c855227786",3,"Bir streaming işinde source (parallelism 4), map (parallelism 4) ve sink (parallelism 2) var, hepsi varsayılan slot sharing group'unda. Slot sharing açıkken, iş çalışmak için minimum kaç task slot'a ihtiyaç duyar?",[156,158,160,162],{"key":112,"text":157},"10 — tüm task'ların parallelism toplamı",{"key":115,"text":159},"2 — işin task'ları arasındaki en düşük parallelism",{"key":118,"text":161},"4 — işteki en yüksek task parallelism'i",{"key":121,"text":163},"3 — pipeline'daki farklı task sayısı","Slot sharing ile her slot, paylaşım grubundaki her task'ı kapsayan bir paralel pipeline dilimini barındırabilir. Bu yüzden gereken slot sayısı, işin maksimum parallelism'ine (burada 4) eşittir, tüm task'ların parallelism toplamına değil. 10 sayısı, listelenen her subtask için ayrı slot varsayar ve sharing ile chaining'i yok sayar.",{"id":166,"topic":9,"difficulty":108,"body":167,"options":168,"correct_key":112,"explanation":177},"01a00b9b-8958-7040-8151-4a0a140fc16f","Flink'te operator chaining ne yapar?",[169,171,173,175],{"key":112,"text":170},"Uyumlu bitişik operator subtask'larını tek bir thread'de çalışan tek bir task'ta birleştirir",{"key":115,"text":172},"Aynı operatörün birden çok paralel örneğini tek bir örnekte birleştirir",{"key":118,"text":174},"Chain'lenen operatörlerin parallelism'ini otomatik olarak source'a eşleyecek şekilde artırır",{"key":121,"text":176},"Chain'lenen operatörleri ortak bir keyed-state namespace'inde birleştirir","Operator chaining, aynı parallelism'e ve forwarding (bire-bir) bağlantıya sahip bitişik operatörleri tek bir thread tarafından çalıştırılan tek bir task'a yerleştirir — bu da thread devri ile serileştirme\u002Ftamponlama ek yükünü azaltır. Paralel örnekleri tek örnekte birleştirmez, parallelism'i değiştirmez ve chain'lenen operatörler kendi ayrı state'lerini korur.",{"id":179,"topic":9,"difficulty":153,"body":180,"options":181,"correct_key":115,"explanation":190},"01a00b9b-895c-7881-9d67-393b269e223a","Bir DataStream pipeline'ı `source -> map -> keyBy -> reduce -> sink` şeklinde. Operator chaining hangi noktada zorunlu olarak kırılır?",[182,184,186,188],{"key":112,"text":183},"`map`'te, çünkü map operatörleri chaining'i bozar",{"key":115,"text":185},"`keyBy`'da, çünkü `map` ile `reduce` arasında ağ üzerinden bir shuffle (yeniden bölümleme) gerektirir",{"key":118,"text":187},"`sink`'te, çünkü sink'ler ayrı bir task slot'ta çalıştırılır",{"key":121,"text":189},"Hiçbir yerde — tüm operatörler aynı parallelism'e sahip olduğundan pipeline'ın tamamı tek bir task'ta chain'lenir","Chaining, eşit parallelism'e sahip operatörler arasında forwarding (bire-bir, yeniden bölümleme olmayan) bir bağlantı gerektirir. `keyBy`, ağ üzerinden hash ile bölümlenen bir shuffle getirir ve parallelism ayarlarından bağımsız olarak chain'i her zaman o noktada kırar.",{"fields":192,"seniorities":408,"interview_shapes":409,"locales":414,"oauth":416,"question_count":419,"coach_enabled":420,"jd_match_enabled":420},[193,218,238,254,278,291,310,329,351,370,377,399],{"key":194,"name_tr":195,"name_en":195,"sort":126,"specializations":196},"backend","Backend",[197,200,203,206,209,212,215],{"key":198,"name":199,"field":194},"general","Genel",{"key":201,"name":202,"field":194},"go","Go",{"key":204,"name":205,"field":194},"python","Python",{"key":207,"name":208,"field":194},"java","Java",{"key":210,"name":211,"field":194},"csharp","C#\u002F.NET",{"key":213,"name":214,"field":194},"nodejs","Node.js",{"key":216,"name":217,"field":194},"php","PHP",{"key":219,"name_tr":220,"name_en":220,"sort":108,"specializations":221},"frontend","Frontend",[222,223,226,229,232,235],{"key":198,"name":199,"field":219},{"key":224,"name":225,"field":219},"javascript","JavaScript",{"key":227,"name":228,"field":219},"typescript","TypeScript",{"key":230,"name":231,"field":219},"react","React",{"key":233,"name":234,"field":219},"vue","Vue",{"key":236,"name":237,"field":219},"angular","Angular",{"key":239,"name_tr":240,"name_en":240,"sort":153,"specializations":241},"fullstack","Fullstack",[242,243,244,245,246,247,248,249,250,251,252,253],{"key":198,"name":199,"field":239},{"key":201,"name":202,"field":194},{"key":204,"name":205,"field":194},{"key":207,"name":208,"field":194},{"key":210,"name":211,"field":194},{"key":213,"name":214,"field":194},{"key":216,"name":217,"field":194},{"key":224,"name":225,"field":219},{"key":227,"name":228,"field":219},{"key":230,"name":231,"field":219},{"key":233,"name":234,"field":219},{"key":236,"name":237,"field":219},{"key":255,"name_tr":256,"name_en":256,"sort":257,"specializations":258},"devops-cloud","DevOps \u002F Cloud",4,[259,260,263,266,269,272,275],{"key":198,"name":199,"field":255},{"key":261,"name":262,"field":255},"aws","AWS",{"key":264,"name":265,"field":255},"gcp","GCP",{"key":267,"name":268,"field":255},"azure","Azure",{"key":270,"name":271,"field":255},"kubernetes","Kubernetes",{"key":273,"name":274,"field":255},"terraform","Terraform",{"key":276,"name":277,"field":255},"linux","Linux",{"key":279,"name_tr":280,"name_en":280,"sort":281,"specializations":282},"ai-engineer","AI Engineer",5,[283,284,285,288],{"key":198,"name":199,"field":279},{"key":204,"name":205,"field":279},{"key":286,"name":287,"field":279},"llm-rag","LLM\u002FRAG",{"key":289,"name":290,"field":279},"mlops","MLOps",{"key":292,"name_tr":293,"name_en":294,"sort":295,"specializations":296},"database","Veritabanı","Database",6,[297,298,301,304,307],{"key":198,"name":199,"field":292},{"key":299,"name":300,"field":292},"postgresql","PostgreSQL",{"key":302,"name":303,"field":292},"mysql","MySQL",{"key":305,"name":306,"field":292},"mongodb","MongoDB",{"key":308,"name":309,"field":292},"redis","Redis",{"key":311,"name_tr":312,"name_en":313,"sort":314,"specializations":315},"mobile","Mobil","Mobile",7,[316,317,320,323,326],{"key":198,"name":199,"field":311},{"key":318,"name":319,"field":311},"ios-swift","iOS (Swift)",{"key":321,"name":322,"field":311},"android-kotlin","Android (Kotlin)",{"key":324,"name":325,"field":311},"flutter","Flutter",{"key":327,"name":328,"field":311},"react-native","React Native",{"key":330,"name_tr":331,"name_en":332,"sort":333,"specializations":334},"security","Güvenlik","Security",8,[335,336,339,342,345,348],{"key":198,"name":199,"field":330},{"key":337,"name":338,"field":330},"appsec","AppSec",{"key":340,"name":341,"field":330},"offensive-pentest","Offensive \u002F Pentest",{"key":343,"name":344,"field":330},"cloud-security","Cloud Security",{"key":346,"name":347,"field":330},"devsecops","DevSecOps",{"key":349,"name":350,"field":330},"blue-team-incident","Blue Team \u002F Incident",{"key":352,"name_tr":353,"name_en":354,"sort":355,"specializations":356},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[357,358,361,364,367],{"key":198,"name":199,"field":352},{"key":359,"name":360,"field":352},"test-automation","Test Automation",{"key":362,"name":363,"field":352},"sdet","SDET",{"key":365,"name":366,"field":352},"performance-testing","Performance Testing",{"key":368,"name":369,"field":352},"mobile-qa","Mobile QA",{"key":5,"name_tr":6,"name_en":6,"sort":371,"specializations":372},10,[373,374,375,376],{"key":198,"name":199,"field":5},{"key":96,"name":97,"field":5},{"key":100,"name":101,"field":5},{"key":103,"name":104,"field":5},{"key":378,"name_tr":379,"name_en":380,"sort":381,"specializations":382},"game-dev","Oyun Geliştirme","Game Development",11,[383,384,387,390,393,396],{"key":198,"name":199,"field":378},{"key":385,"name":386,"field":378},"unity-csharp","Unity (C#)",{"key":388,"name":389,"field":378},"unreal-cpp","Unreal (C++)",{"key":391,"name":392,"field":378},"gameplay","Gameplay",{"key":394,"name":395,"field":378},"graphics-rendering","Graphics \u002F Rendering",{"key":397,"name":398,"field":378},"multiplayer-netcode","Multiplayer \u002F Netcode",{"key":400,"name_tr":401,"name_en":401,"sort":402,"specializations":403},"ml-engineer","ML Engineer",12,[404,405],{"key":198,"name":199,"field":400},{"key":406,"name":407,"field":400},"classical-ml","Classical ML",[14,15,16],{"junior":410,"mid":412,"senior":413},{"questions":411,"median_sec":3},20,{"questions":411,"median_sec":3},{"questions":411,"median_sec":3},[10,415],"en",[417,418],"google","github",27600,true]