[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:database\u002Fredis-replication-sentinel":4,"config":213},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":115,"samples":129},"database","Database","","redis-replication-sentinel","Redis Replication Sentinel","en",75,2475,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,103,106,109,112],{"key":19,"name":20,"count":11},"backup-recovery","Backup Recovery",{"key":22,"name":23,"count":11},"data-modeling","Data Modeling",{"key":25,"name":26,"count":11},"indexing","Indexing",{"key":28,"name":29,"count":11},"mongodb-aggregation","Mongodb Aggregation",{"key":31,"name":32,"count":11},"mongodb-indexes-queries","Mongodb Indexes Queries",{"key":34,"name":35,"count":11},"mongodb-operations","Mongodb Operations",{"key":37,"name":38,"count":11},"mongodb-replication-sharding","Mongodb Replication Sharding",{"key":40,"name":41,"count":11},"mongodb-schema-modeling","Mongodb Schema Modeling",{"key":43,"name":44,"count":11},"mongodb-transactions-consistency","Mongodb Transactions Consistency",{"key":46,"name":47,"count":11},"mysql-indexes","Mysql Indexes",{"key":49,"name":50,"count":11},"mysql-innodb-transactions","Mysql Innodb Transactions",{"key":52,"name":53,"count":11},"mysql-operations","Mysql Operations",{"key":55,"name":56,"count":11},"mysql-query-optimization","Mysql Query Optimization",{"key":58,"name":59,"count":11},"mysql-replication-scaling","Mysql Replication Scaling",{"key":61,"name":62,"count":11},"mysql-types-constraints","Mysql Types Constraints",{"key":64,"name":65,"count":11},"nosql-models","Nosql Models",{"key":67,"name":68,"count":11},"performance-tuning","Performance Tuning",{"key":70,"name":71,"count":11},"pg-indexes","Pg Indexes",{"key":73,"name":74,"count":11},"pg-mvcc-vacuum","Pg Mvcc Vacuum",{"key":76,"name":77,"count":11},"pg-operations","Pg Operations",{"key":79,"name":80,"count":11},"pg-query-planning","Pg Query Planning",{"key":82,"name":83,"count":11},"pg-transactions-locking","Pg Transactions Locking",{"key":85,"name":86,"count":11},"pg-types-constraints","Pg Types Constraints",{"key":88,"name":89,"count":11},"query-optimization","Query Optimization",{"key":91,"name":92,"count":11},"redis-cluster-sharding","Redis Cluster Sharding",{"key":94,"name":95,"count":11},"redis-data-structures","Redis Data Structures",{"key":97,"name":98,"count":11},"redis-expiration-eviction","Redis Expiration Eviction",{"key":100,"name":101,"count":11},"redis-persistence","Redis Persistence",{"key":8,"name":9,"count":11},{"key":104,"name":105,"count":11},"redis-transactions-scripting","Redis Transactions Scripting",{"key":107,"name":108,"count":11},"replication-scaling","Replication Scaling",{"key":110,"name":111,"count":11},"security-access","Security Access",{"key":113,"name":114,"count":11},"transactions-isolation","Transactions Isolation",[116,120,123,126],{"key":117,"name":118,"count":119},"mongodb","MongoDB",450,{"key":121,"name":122,"count":119},"mysql","MySQL",{"key":124,"name":125,"count":119},"postgresql","PostgreSQL",{"key":127,"name":128,"count":119},"redis","Redis",[130,148,161,174,187,200],{"id":131,"topic":9,"difficulty":132,"body":133,"options":134,"correct_key":139,"explanation":147},"019f89ea-0685-7c7b-bd48-bbfe5fabd21a",1,"What does running `REPLICAOF \u003Cmaster-ip> \u003Cmaster-port>` on a Redis instance do?",[135,138,141,144],{"key":136,"text":137},"a","It shards the keyspace between the two instances",{"key":139,"text":140},"b","It makes the instance replicate the specified master",{"key":142,"text":143},"c","It merges the two instances into a single cluster node",{"key":145,"text":146},"d","It makes the instance a Sentinel for the given master","It configures the instance as a replica of the given master, so it starts an initial sync and then continuously applies the master's write stream. This has nothing to do with sharding (a), doesn't merge nodes into a cluster (c), and doesn't turn the instance into Sentinel — Sentinel is a separate process (d).",{"id":149,"topic":9,"difficulty":132,"body":150,"options":151,"correct_key":142,"explanation":160},"019f89ea-0686-78e7-a30f-baac15ed191a","By default, is Redis master-replica replication synchronous or asynchronous?",[152,154,156,158],{"key":136,"text":153},"Synchronous — the master always waits for every replica to acknowledge before returning",{"key":139,"text":155},"It depends on the key's TTL",{"key":142,"text":157},"Asynchronous — the master need not await replica application",{"key":145,"text":159},"Synchronous, but only for keys inside a MULTI\u002FEXEC block","By default Redis replication is asynchronous: the master responds to the client as soon as the write is applied locally, and propagates it to replicas afterward without waiting. `WAIT` can be used to opt into stronger acknowledgement, but that isn't the default (a, d). Replication mode has nothing to do with a key's TTL (b).",{"id":162,"topic":9,"difficulty":132,"body":163,"options":164,"correct_key":136,"explanation":173},"019f89ea-0687-742a-b451-b717bd135121","By default, can a client write to a Redis replica directly?",[165,167,169,171],{"key":136,"text":166},"No — replicas reject writes by default",{"key":139,"text":168},"Yes, and the write is silently forwarded to the master",{"key":142,"text":170},"Yes, but only for keys with no TTL",{"key":145,"text":172},"Yes, replicas accept writes and later reconcile conflicts with the master","Replicas default to `replica-read-only yes`, so a direct write attempt on a replica returns a READONLY error to the client instead of being applied or forwarded (b, d are wrong — there's no automatic forwarding or conflict reconciliation). This has nothing to do with TTL (c).",{"id":175,"topic":9,"difficulty":132,"body":176,"options":177,"correct_key":145,"explanation":186},"019f89ea-0687-7f23-ba65-2142ec022ebb","What is the primary purpose of Redis Sentinel?",[178,180,182,184],{"key":136,"text":179},"To shard keys across multiple Redis nodes",{"key":139,"text":181},"To compress RDB snapshots for faster transfer",{"key":142,"text":183},"To provide a Lua scripting sandbox for replicas",{"key":145,"text":185},"To monitor nodes and coordinate failover","Sentinel monitors the health of masters and replicas, notifies other systems about state changes, and can promote a replica to master automatically when the current master is detected as down. Sharding is Redis Cluster's job, not Sentinel's (a); Sentinel doesn't compress RDB files (b) or provide a scripting sandbox (c).",{"id":188,"topic":9,"difficulty":132,"body":189,"options":190,"correct_key":139,"explanation":199},"019f89ea-0688-7a0b-9800-90224771e11b","An application reads a key from a replica right after another client wrote it to the master. The replica returns the old value. What's the most likely explanation?",[191,193,195,197],{"key":136,"text":192},"The replica is misconfigured and should be treated as a bug",{"key":139,"text":194},"The replica hasn't yet applied the write due to normal asynchronous replication lag",{"key":142,"text":196},"Redis replicas never receive updates for existing keys, only new keys",{"key":145,"text":198},"The master rejected the write due to a quorum failure","Because replication is asynchronous, there's a small window where a replica hasn't yet applied a write the master already acknowledged; reading from a replica can return a value that is slightly behind the master. This is expected behavior, not a misconfiguration (a); replicas do receive updates to existing keys (c); nothing here indicates the master rejected the write (d).",{"id":201,"topic":9,"difficulty":132,"body":202,"options":203,"correct_key":142,"explanation":212},"019f89ea-0689-7995-b57a-1623f442310e","What relationship does Redis replication set up between a master and its replicas?",[204,206,208,210],{"key":136,"text":205},"Bidirectional — writes on either side propagate to the other",{"key":139,"text":207},"No fixed direction — whichever node has more recent data becomes the source",{"key":142,"text":209},"One-way — writes flow from the master to replicas, not the reverse",{"key":145,"text":211},"It alternates direction every time the replication backlog is rotated","Redis replication is one-way: the master is the single source of writes, and replicas apply the stream of writes coming from it. It is not bidirectional (a) and the direction is fixed by role, not decided dynamically by recency or backlog rotation (b, d).",{"fields":214,"seniorities":391,"interview_shapes":392,"locales":397,"oauth":399,"question_count":402,"coach_enabled":403,"jd_match_enabled":403},[215,240,261,278,302,315,324,343,365,372,378,385],{"key":216,"name_tr":217,"name_en":217,"sort":132,"specializations":218},"backend","Backend",[219,222,225,228,231,234,237],{"key":220,"name":221,"field":216},"general","Genel",{"key":223,"name":224,"field":216},"go","Go",{"key":226,"name":227,"field":216},"python","Python",{"key":229,"name":230,"field":216},"java","Java",{"key":232,"name":233,"field":216},"csharp","C#\u002F.NET",{"key":235,"name":236,"field":216},"nodejs","Node.js",{"key":238,"name":239,"field":216},"php","PHP",{"key":241,"name_tr":242,"name_en":242,"sort":243,"specializations":244},"frontend","Frontend",2,[245,246,249,252,255,258],{"key":220,"name":221,"field":241},{"key":247,"name":248,"field":241},"javascript","JavaScript",{"key":250,"name":251,"field":241},"typescript","TypeScript",{"key":253,"name":254,"field":241},"react","React",{"key":256,"name":257,"field":241},"vue","Vue",{"key":259,"name":260,"field":241},"angular","Angular",{"key":262,"name_tr":263,"name_en":263,"sort":264,"specializations":265},"fullstack","Fullstack",3,[266,267,268,269,270,271,272,273,274,275,276,277],{"key":220,"name":221,"field":262},{"key":223,"name":224,"field":216},{"key":226,"name":227,"field":216},{"key":229,"name":230,"field":216},{"key":232,"name":233,"field":216},{"key":235,"name":236,"field":216},{"key":238,"name":239,"field":216},{"key":247,"name":248,"field":241},{"key":250,"name":251,"field":241},{"key":253,"name":254,"field":241},{"key":256,"name":257,"field":241},{"key":259,"name":260,"field":241},{"key":279,"name_tr":280,"name_en":280,"sort":281,"specializations":282},"devops-cloud","DevOps \u002F Cloud",4,[283,284,287,290,293,296,299],{"key":220,"name":221,"field":279},{"key":285,"name":286,"field":279},"aws","AWS",{"key":288,"name":289,"field":279},"gcp","GCP",{"key":291,"name":292,"field":279},"azure","Azure",{"key":294,"name":295,"field":279},"kubernetes","Kubernetes",{"key":297,"name":298,"field":279},"terraform","Terraform",{"key":300,"name":301,"field":279},"linux","Linux",{"key":303,"name_tr":304,"name_en":304,"sort":305,"specializations":306},"ai-engineer","AI Engineer",5,[307,308,309,312],{"key":220,"name":221,"field":303},{"key":226,"name":227,"field":303},{"key":310,"name":311,"field":303},"llm-rag","LLM\u002FRAG",{"key":313,"name":314,"field":303},"mlops","MLOps",{"key":5,"name_tr":316,"name_en":6,"sort":317,"specializations":318},"Veritabanı",6,[319,320,321,322,323],{"key":220,"name":221,"field":5},{"key":124,"name":125,"field":5},{"key":121,"name":122,"field":5},{"key":117,"name":118,"field":5},{"key":127,"name":128,"field":5},{"key":325,"name_tr":326,"name_en":327,"sort":328,"specializations":329},"mobile","Mobil","Mobile",7,[330,331,334,337,340],{"key":220,"name":221,"field":325},{"key":332,"name":333,"field":325},"ios-swift","iOS (Swift)",{"key":335,"name":336,"field":325},"android-kotlin","Android (Kotlin)",{"key":338,"name":339,"field":325},"flutter","Flutter",{"key":341,"name":342,"field":325},"react-native","React Native",{"key":344,"name_tr":345,"name_en":346,"sort":347,"specializations":348},"security","Güvenlik","Security",8,[349,350,353,356,359,362],{"key":220,"name":221,"field":344},{"key":351,"name":352,"field":344},"appsec","AppSec",{"key":354,"name":355,"field":344},"offensive-pentest","Offensive \u002F Pentest",{"key":357,"name":358,"field":344},"cloud-security","Cloud Security",{"key":360,"name":361,"field":344},"devsecops","DevSecOps",{"key":363,"name":364,"field":344},"blue-team-incident","Blue Team \u002F Incident",{"key":366,"name_tr":367,"name_en":368,"sort":369,"specializations":370},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[371],{"key":220,"name":221,"field":366},{"key":373,"name_tr":374,"name_en":374,"sort":375,"specializations":376},"data-engineer","Data Engineer",10,[377],{"key":220,"name":221,"field":373},{"key":379,"name_tr":380,"name_en":381,"sort":382,"specializations":383},"game-dev","Oyun Geliştirme","Game Development",11,[384],{"key":220,"name":221,"field":379},{"key":386,"name_tr":387,"name_en":387,"sort":388,"specializations":389},"ml-engineer","ML Engineer",12,[390],{"key":220,"name":221,"field":386},[14,15,16],{"junior":393,"mid":395,"senior":396},{"questions":394,"median_sec":3},20,{"questions":394,"median_sec":3},{"questions":394,"median_sec":3},[398,10],"tr",[400,401],"google","github",21750,true]