[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en: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","en",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,"In Apache Flink 1.19's runtime architecture, which three components together make up a JobManager process?",[111,114,117,120],{"key":112,"text":113},"a","Dispatcher, TaskManager, and JobMaster",{"key":115,"text":116},"b","Dispatcher, ResourceManager, and JobMaster",{"key":118,"text":119},"c","ResourceManager, TaskManager, and a global Scheduler",{"key":121,"text":122},"d","JobMaster, TaskExecutor, and Dispatcher","A JobManager process hosts the Dispatcher (REST endpoint for job submission), the ResourceManager (slot allocation across the cluster), and one JobMaster per running job (execution graph scheduling and failure handling). TaskManager\u002FTaskExecutor is the worker process and is not part of the JobManager. The other options incorrectly place TaskManager\u002FTaskExecutor inside the JobManager or invent a separate 'global Scheduler' component that doesn't exist.",{"id":125,"topic":9,"difficulty":126,"body":127,"options":128,"correct_key":112,"explanation":137},"01a00b9b-8951-79ce-b865-561a5ce186bf",1,"What does a single task slot on a Flink TaskManager represent?",[129,131,133,135],{"key":112,"text":130},"A fixed share of the TaskManager's resources, mainly managed memory",{"key":115,"text":132},"A separate JVM process launched per operator",{"key":118,"text":134},"A logical grouping of jobs submitted to the same cluster",{"key":121,"text":136},"A checkpoint interval boundary defined for a single operator","A task slot is a subdivision of a TaskManager's resources — a TaskManager with 3 slots dedicates 1\u002F3 of its managed memory to each slot. It is not a separate JVM (all slots of a TaskManager run in the same JVM), not a job grouping, and unrelated to checkpoint intervals.",{"id":139,"topic":9,"difficulty":108,"body":140,"options":141,"correct_key":121,"explanation":150},"01a00b9b-8953-764b-ab03-d60e8040413d","By default in Flink, can subtasks belonging to different tasks of the same job share the same task slot?",[142,144,146,148],{"key":112,"text":143},"No — different tasks in a job are placed in separate slots",{"key":115,"text":145},"Only if the tasks explicitly call `disableChaining()`",{"key":118,"text":147},"It can in batch execution mode but not in streaming mode",{"key":121,"text":149},"Yes, via Flink's default slot sharing group for the same job","By default, all tasks of a job belong to the same slot sharing group, so subtasks from different tasks (e.g. source, map, sink) can occupy the same slot. This is independent of chaining (which fuses tasks into one thread) and applies to both streaming and batch execution.",{"id":152,"topic":9,"difficulty":153,"body":154,"options":155,"correct_key":118,"explanation":164},"01a00b9b-8956-753d-99af-b0c855227786",3,"A streaming job has a source (parallelism 4), a map (parallelism 4), and a sink (parallelism 2), all in the default slot sharing group. With slot sharing enabled, how many task slots does the job need at minimum to run?",[156,158,160,162],{"key":112,"text":157},"10 — the sum of all tasks' parallelism",{"key":115,"text":159},"2 — the minimum parallelism among the job's tasks",{"key":118,"text":161},"4 — the maximum parallelism among the job's tasks",{"key":121,"text":163},"3 — the number of distinct tasks in the pipeline","With slot sharing, each slot can hold one parallel pipeline slice covering every task in the sharing group. The number of slots needed therefore equals the job's maximum parallelism (4 here), not the sum of every task's parallelism. A total of 10 assumes a separate slot for every listed subtask and ignores sharing and chaining.",{"id":166,"topic":9,"difficulty":108,"body":167,"options":168,"correct_key":112,"explanation":177},"01a00b9b-8958-7040-8151-4a0a140fc16f","What does operator chaining do in Flink?",[169,171,173,175],{"key":112,"text":170},"Fuses compatible adjacent operator subtasks into a single task on one thread",{"key":115,"text":172},"Merges multiple parallel instances of the same operator into a single instance",{"key":118,"text":174},"Automatically increases the parallelism of chained operators to match the source",{"key":121,"text":176},"Makes chained operators share one keyed-state namespace","Operator chaining places adjacent operators that have the same parallelism and a forwarding (one-to-one) connection into one task, executed by a single thread — reducing thread hand-over and serialization\u002Fbuffering overhead. It doesn't merge parallel instances into one, doesn't change parallelism, and chained operators keep their own separate state.",{"id":179,"topic":9,"difficulty":153,"body":180,"options":181,"correct_key":115,"explanation":190},"01a00b9b-895c-7881-9d67-393b269e223a","A DataStream pipeline is `source -> map -> keyBy -> reduce -> sink`. At which point does operator chaining necessarily break?",[182,184,186,188],{"key":112,"text":183},"At the `map`, because map operators break chaining",{"key":115,"text":185},"At the `keyBy`, because it requires a network shuffle (repartitioning) between `map` and `reduce`",{"key":118,"text":187},"At the `sink`, because sinks execute in a separate task slot",{"key":121,"text":189},"Nowhere — the whole pipeline chains into a single task since all operators have the same parallelism","Chaining requires a forwarding (one-to-one, no repartitioning) connection between operators of equal parallelism. `keyBy` introduces a hash-partitioned shuffle across the network, which always breaks the chain at that point, regardless of parallelism settings.",{"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},[415,10],"tr",[417,418],"google","github",27600,true]