[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:data-engineer\u002Fst-kafka-connect-schema-registry":4,"config":190},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-kafka-connect-schema-registry","St Kafka Connect Schema Registry","tr",75,1950,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,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":58,"name":59,"count":11},"st-flink-runtime-checkpointing-state","St Flink Runtime Checkpointing State",{"key":61,"name":62,"count":11},"st-flink-time-watermarks-windows","St Flink Time Watermarks Windows",{"key":64,"name":65,"count":11},"st-kafka-broker-storage-replication","St Kafka Broker Storage Replication",{"key":8,"name":9,"count":11},{"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,137,150,164,177],{"id":107,"topic":9,"difficulty":108,"body":109,"options":110,"correct_key":112,"explanation":123},"01a00b9b-8a4b-7131-a9b0-2eededdb2ef2",2,"Apache Kafka Connect'te standalone mod ile distributed mod arasındaki temel mimari fark nedir?",[111,114,117,120],{"key":112,"text":113},"a","Distributed mod konfigürasyon, offset ve durumu Kafka'da paylaşır; standalone tek süreç ve yerel source-offset dosyası kullanır.",{"key":115,"text":116},"b","Standalone mod yalnızca sink connector çalıştırabilir, distributed mod ise yalnızca source connector çalıştırabilir.",{"key":118,"text":119},"c","Standalone mod başlamak için bir Schema Registry gerektirir, distributed mod ise yalnızca şemasız converter'larla çalışır.",{"key":121,"text":122},"d","Standalone mod topic partition sayısı kadar task atar, distributed mod ise tam olarak bir task atar.","Standalone mod, offset'lerini yerel bir dosyaya yazan, yerleşik hata toleransı ya da ölçekleme olmayan tek-süreçli bir dağıtımdır. Distributed mod ise birden fazla worker sürecinin Kafka topic'leri üzerinden koordine olmasını sağlar; bu da hata toleransı ve yatay ölçekleme kazandırır. b, c ve d şıkları her iki modda da var olmayan kısıtlar uyduruyor.",{"id":125,"topic":9,"difficulty":108,"body":126,"options":127,"correct_key":118,"explanation":136},"01a00b9b-8a50-7cfe-8e89-2ad8b828ca4c","Kafka Connect terminolojisinde connector ile task'ları arasındaki ilişki nedir?",[128,130,132,134],{"key":112,"text":129},"Connector ve task aynı çalışma zamanı nesnesinin iki farklı adıdır; terimler birbirinin yerine kullanılır.",{"key":115,"text":131},"Connector, Connect REST API'sini barındıran bir JVM sürecidir, task ise her source veya sink için ayrı bir JVM sürecidir.",{"key":118,"text":133},"Connector işin bölünmesini belirleyip task konfigürasyonları üretir; veriyi task'lar taşır.",{"key":121,"text":135},"Connector yalnızca standalone modda çalışır, task'lar ise yalnızca distributed modda var olur.","Connector örneği, dış sistemi izlemekten ve bir dizi task konfigürasyonu üretmekten sorumludur; kaydı kendisi tüketmez ya da üretmez. Task'lar ise worker'lara zamanlanan, veriyi fiilen taşıyan birimlerdir. b şıkkı task'ı bir worker süreciyle karıştırıyor, d şıkkı ise var olmayan bir mod kısıtı uyduruyor.",{"id":138,"topic":9,"difficulty":108,"body":139,"options":140,"correct_key":115,"explanation":149},"01a00b9b-8a51-76f3-a886-6efe59b21172","`tasks.max` connector ayarı gerçekte neyi kontrol eder?",[141,143,145,147],{"key":112,"text":142},"Dış kaynak veya hedef nasıl bölünebilirse bölünsün, connector'ın oluşturacağı task sayısını kesin olarak belirler.",{"key":115,"text":144},"Bir üst sınırdır; kaynak o kadar ince bölünemiyorsa connector daha az task oluşturabilir.",{"key":118,"text":146},"Connector çalışmadan önce başlatılması gereken Connect worker süreci sayısını belirler.",{"key":121,"text":148},"Dahili offset saklama topic'inin kaç partition'a sahip olacağını kontrol eder.","`tasks.max` bir garanti değil, bir tavan değeridir. Connector'ın `Connector.taskConfigs(int maxTasks)` metodu, kaç task konfigürasyonu üretileceğine karar verir; bu değer `tasks.max` ile sınırlıdır ama kaynağın veya hedefin doğal olarak ne kadar ince bölünebildiğiyle de (örneğin mevcut tablo veya dosya sayısı) sınırlıdır. a şıkkı bunu sabit bir sayı gibi abartıyor, c ve d ise worker sayısı veya dahili topic partition'lamasıyla karıştırıyor.",{"id":151,"topic":9,"difficulty":152,"body":153,"options":154,"correct_key":121,"explanation":163},"01a00b9b-8a52-739e-bfa0-7f3d04ff994a",1,"Distributed modda, dahili `config.storage.topic`'inde ne saklanır?",[155,157,159,161],{"key":112,"text":156},"Cluster'da çalışan her source connector'ın ürettiği ham kayıtlar.",{"key":115,"text":158},"Her connector ve task'ın o anki çalışıyor\u002Fduraklatıldı\u002Fbaşarısız durumu.",{"key":118,"text":160},"Her source connector için son commit edilmiş offset'ler.",{"key":121,"text":162},"REST API üzerinden gönderilen connector ve task konfigürasyonları; böylece herhangi bir worker bunları alabilir.","`config.storage.topic`, REST API üzerinden gönderilen konfigürasyonların kalıcı tutulduğu yerdir; bu sayede cluster'daki herhangi bir worker bir connector'ın konfigürasyonunu yükleyip task'larını devralabilir. Connector ve task durumu `status.storage.topic`'te, source offset'leri ise `offset.storage.topic`'te tutulur — b ve c şıkları aslında bu diğer iki topic'i tarif ediyor.",{"id":165,"topic":9,"difficulty":152,"body":166,"options":167,"correct_key":115,"explanation":176},"01a00b9b-8a56-721b-9584-f70d884521f0","Distributed bir Kafka Connect cluster'ında dahili `offset.storage.topic`'in amacı nedir?",[168,170,172,174],{"key":112,"text":169},"Sink connector'ların Kafka'ya geri commit ettiği consumer group offset'lerini saklar.",{"key":115,"text":171},"Her source connector'ın okuduğu sistemde ulaştığı konum; böylece Connect yeniden başladığında kaldığı yerden devam edebilir.",{"key":118,"text":173},"Bir sink connector'ın dış sistemine yazdığı her mesajın bir kopyasını saklar.",{"key":121,"text":175},"Yeni connector konfigürasyonu göndermek için kullanılan REST API kimlik bilgilerini saklar.","Source connector'lar Kafka'nın kendisi olmayan sistemlerden (bir veritabanı, dosya, API) okur, bu yüzden Connect'in her birinin ne kadar ilerlediğini bir yerde hatırlaması gerekir. `offset.storage.topic` tam olarak bu ilerleme işaretini her source partition için tutar. Sink connector'lar kendi ilerlemeleri için bu topic'i kullanmaz — bunun yerine sıradan Kafka consumer group mekanizmasına dayanırlar; a şıkkı bunu karıştırıyor.",{"id":178,"topic":9,"difficulty":152,"body":179,"options":180,"correct_key":112,"explanation":189},"01a00b9b-8a5a-7564-8aad-e3603c4078d5","Distributed bir Connect cluster'ındaki dahili `status.storage.topic` neyi tutar?",[181,183,185,187],{"key":112,"text":182},"Her connector ve task'ın o anki çalışıyor\u002Fduraklatıldı\u002Fbaşarısız durumu; REST API durum sorguları için kullanılır.",{"key":115,"text":184},"REST API üzerinden gönderilen connector konfigürasyonlarını tutar.",{"key":118,"text":186},"Source connector'ların okudukları sistemlerde ulaştıkları offset'leri tutar.",{"key":121,"text":188},"Single message transform'ların uyguladığı her dönüşümün kaydını tutar.","`status.storage.topic`, Connect REST API'sinin `\u002Fconnectors\u002F{name}\u002Fstatus` endpoint'inin okuduğu yerdir — her connector ve task'ın hangi worker'da çalıştığını, duraklatıldığını ya da başarısız olduğunu izler. Konfigürasyon `config.storage.topic`'te, source ilerlemesi ise `offset.storage.topic`'te tutulur; bu yüzden b ve c yanlış topic'i tarif ediyor.",{"fields":191,"seniorities":408,"interview_shapes":409,"locales":414,"oauth":416,"question_count":419,"coach_enabled":420,"jd_match_enabled":420},[192,217,237,254,278,291,310,329,351,370,377,399],{"key":193,"name_tr":194,"name_en":194,"sort":152,"specializations":195},"backend","Backend",[196,199,202,205,208,211,214],{"key":197,"name":198,"field":193},"general","Genel",{"key":200,"name":201,"field":193},"go","Go",{"key":203,"name":204,"field":193},"python","Python",{"key":206,"name":207,"field":193},"java","Java",{"key":209,"name":210,"field":193},"csharp","C#\u002F.NET",{"key":212,"name":213,"field":193},"nodejs","Node.js",{"key":215,"name":216,"field":193},"php","PHP",{"key":218,"name_tr":219,"name_en":219,"sort":108,"specializations":220},"frontend","Frontend",[221,222,225,228,231,234],{"key":197,"name":198,"field":218},{"key":223,"name":224,"field":218},"javascript","JavaScript",{"key":226,"name":227,"field":218},"typescript","TypeScript",{"key":229,"name":230,"field":218},"react","React",{"key":232,"name":233,"field":218},"vue","Vue",{"key":235,"name":236,"field":218},"angular","Angular",{"key":238,"name_tr":239,"name_en":239,"sort":240,"specializations":241},"fullstack","Fullstack",3,[242,243,244,245,246,247,248,249,250,251,252,253],{"key":197,"name":198,"field":238},{"key":200,"name":201,"field":193},{"key":203,"name":204,"field":193},{"key":206,"name":207,"field":193},{"key":209,"name":210,"field":193},{"key":212,"name":213,"field":193},{"key":215,"name":216,"field":193},{"key":223,"name":224,"field":218},{"key":226,"name":227,"field":218},{"key":229,"name":230,"field":218},{"key":232,"name":233,"field":218},{"key":235,"name":236,"field":218},{"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":197,"name":198,"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":197,"name":198,"field":279},{"key":203,"name":204,"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":197,"name":198,"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":197,"name":198,"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":197,"name":198,"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":197,"name":198,"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":197,"name":198,"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":197,"name":198,"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":197,"name":198,"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]