[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en: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","en",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,"In Apache Kafka Connect, what is the main architectural difference between standalone mode and distributed mode?",[111,114,117,120],{"key":112,"text":113},"a","Distributed mode shares config, offsets, and status in Kafka; standalone uses one process and a local source-offset file.",{"key":115,"text":116},"b","Standalone mode can only run sink connectors, while distributed mode can only run source connectors.",{"key":118,"text":119},"c","Standalone mode requires a Schema Registry to start, while distributed mode only works with schemaless converters.",{"key":121,"text":122},"d","Standalone mode assigns one task per topic partition, while distributed mode assigns exactly one task total.","Standalone mode is a single-process deployment that persists its offsets to a local file, with no built-in fault tolerance or scaling. Distributed mode runs multiple worker processes that coordinate through Kafka topics, giving it fault tolerance and horizontal scaling. Option b, c, and d all invent restrictions that do not exist in either mode.",{"id":125,"topic":9,"difficulty":108,"body":126,"options":127,"correct_key":118,"explanation":136},"01a00b9b-8a50-7cfe-8e89-2ad8b828ca4c","In Kafka Connect terminology, what is the relationship between a connector and its tasks?",[128,130,132,134],{"key":112,"text":129},"A connector and a task are two names for the same runtime object; the terms are used interchangeably.",{"key":115,"text":131},"A connector is a JVM process that hosts the Connect REST API, while a task is a separate JVM process for each source or sink.",{"key":118,"text":133},"A connector decides how to split work and produces task configs; the tasks are the units that actually move data.",{"key":121,"text":135},"A connector only runs in standalone mode, while tasks only exist in distributed mode.","The connector instance is responsible for monitoring the external system and generating a set of task configurations; it does not consume or produce records itself. Tasks are the actual data-moving units that get scheduled onto workers. Option b confuses a task with a worker process, and option d invents a mode restriction that does not exist.",{"id":138,"topic":9,"difficulty":108,"body":139,"options":140,"correct_key":115,"explanation":149},"01a00b9b-8a51-76f3-a886-6efe59b21172","What does the `tasks.max` connector configuration actually control?",[141,143,145,147],{"key":112,"text":142},"It fixes the exact number of tasks the connector creates, regardless of how the external source or sink can be divided.",{"key":115,"text":144},"It is an upper bound; the connector may create fewer tasks if the source cannot be split that finely.",{"key":118,"text":146},"It sets the number of Connect worker processes that must be started before the connector can run.",{"key":121,"text":148},"It controls how many Kafka partitions the internal offset storage topic will have.","`tasks.max` is a ceiling, not a guarantee. A connector's `Connector.taskConfigs(int maxTasks)` method decides how many task configs to actually generate, bounded by `tasks.max` but also by how finely the source or sink naturally splits (for example, the number of tables or files available). Option a overstates it as a fixed count, and c and d confuse it with worker count or internal topic partitioning.",{"id":151,"topic":9,"difficulty":152,"body":153,"options":154,"correct_key":121,"explanation":163},"01a00b9b-8a52-739e-bfa0-7f3d04ff994a",1,"In distributed mode, what is stored in the internal `config.storage.topic`?",[155,157,159,161],{"key":112,"text":156},"The raw records produced by every source connector running on the cluster.",{"key":115,"text":158},"The current running\u002Fpaused\u002Ffailed state of each connector and task.",{"key":118,"text":160},"The last committed offsets for every source connector.",{"key":121,"text":162},"The connector and task configurations submitted through the REST API, so any worker can pick them up.","`config.storage.topic` is where Connect persists the configurations that were submitted via the REST API, which is what lets any worker in the cluster load a connector's configuration and take over its tasks. The status of connectors and tasks lives in `status.storage.topic`, and source offsets live in `offset.storage.topic` — options b and c describe those other two topics instead.",{"id":165,"topic":9,"difficulty":152,"body":166,"options":167,"correct_key":115,"explanation":176},"01a00b9b-8a56-721b-9584-f70d884521f0","What is the purpose of the internal `offset.storage.topic` in a distributed Kafka Connect cluster?",[168,170,172,174],{"key":112,"text":169},"It stores the consumer group offsets that sink connectors commit back to Kafka.",{"key":115,"text":171},"The position each source connector has reached in the system it reads from, so Connect can resume after a restart.",{"key":118,"text":173},"It stores a copy of every message a sink connector has written to its external system.",{"key":121,"text":175},"It stores the REST API credentials used to submit new connector configurations.","Source connectors read from systems that are not Kafka itself (a database, a file, an API), so Connect needs somewhere to remember how far each one has progressed. `offset.storage.topic` holds exactly that progress marker per source partition. Sink connectors do not use this topic for their own progress — they rely on the ordinary Kafka consumer group mechanism instead, which option a mixes up.",{"id":178,"topic":9,"difficulty":152,"body":179,"options":180,"correct_key":112,"explanation":189},"01a00b9b-8a5a-7564-8aad-e3603c4078d5","What does the internal `status.storage.topic` in a distributed Connect cluster hold?",[181,183,185,187],{"key":112,"text":182},"The current running\u002Fpaused\u002Ffailed state of each connector and task, used for REST API status queries.",{"key":115,"text":184},"The connector configurations that were submitted through the REST API.",{"key":118,"text":186},"The offsets that source connectors have reached in the systems they read from.",{"key":121,"text":188},"A log of every record transformation applied by single message transforms.","`status.storage.topic` is what the Connect REST API's `\u002Fconnectors\u002F{name}\u002Fstatus` endpoint reads from — it tracks whether each connector and task is running, paused, or failed, and on which worker. Configuration lives in `config.storage.topic` and source progress lives in `offset.storage.topic`, so b and c describe the wrong topics.",{"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},[415,10],"tr",[417,418],"google","github",27600,true]