[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr: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","Veritabanı","","redis-replication-sentinel","Redis Replication Sentinel","tr",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,"Bir Redis instance'ında `REPLICAOF \u003Cmaster-ip> \u003Cmaster-port>` çalıştırmak ne yapar?",[135,138,141,144],{"key":136,"text":137},"a","Keyspace'i iki instance arasında shard'lar",{"key":139,"text":140},"b","Instance'ı belirtilen master'ın replica'sı yapar",{"key":142,"text":143},"c","İki instance'ı tek bir cluster node'unda birleştirir",{"key":145,"text":146},"d","Instance'ı verilen master için bir Sentinel yapar","Instance'ı verilen master'ın replica'sı yapar; instance önce ilk senkronizasyonu yapar, sonra master'ın write akışını sürekli uygular. Bunun shard'lamayla ilgisi yoktur (a), iki node'u cluster'da birleştirmez (c) ve instance'ı Sentinel'e çevirmez — Sentinel ayrı bir süreçtir (d).",{"id":149,"topic":9,"difficulty":132,"body":150,"options":151,"correct_key":142,"explanation":160},"019f89ea-0686-78e7-a30f-baac15ed191a","Redis master-replica replikasyonu varsayılan olarak senkron mudur, asenkron mudur?",[152,154,156,158],{"key":136,"text":153},"Senkron — master her zaman dönmeden önce her replica'nın acknowledge etmesini bekler",{"key":139,"text":155},"Anahtarın TTL'sine bağlıdır",{"key":142,"text":157},"Asenkron — master replica uygulamasını beklemek zorunda değildir",{"key":145,"text":159},"Senkron, ama sadece bir MULTI\u002FEXEC bloğu içindeki anahtarlar için","Redis replikasyonu varsayılan olarak asenkrondur: master, write'ı yerel olarak uyguladığı anda client'a yanıt verir ve sonrasında beklemeden replica'lara yayar. `WAIT` ile daha güçlü acknowledgement'a geçilebilir ama bu varsayılan değildir (a, d). Replikasyon modunun anahtarın TTL'siyle ilgisi yoktur (b).",{"id":162,"topic":9,"difficulty":132,"body":163,"options":164,"correct_key":136,"explanation":173},"019f89ea-0687-742a-b451-b717bd135121","Varsayılan ayarlarla bir client bir Redis replica'sına doğrudan write yapabilir mi?",[165,167,169,171],{"key":136,"text":166},"Hayır — replica'lar varsayılan olarak write'ları reddeder",{"key":139,"text":168},"Evet, ve write sessizce master'a yönlendirilir",{"key":142,"text":170},"Evet, ama sadece TTL'i olmayan anahtarlar için",{"key":145,"text":172},"Evet, replica'lar write kabul eder ve sonradan master ile çakışmaları uzlaştırır","Replica'lar varsayılan olarak `replica-read-only yes` ile çalışır, bu yüzden replica'ya doğrudan write denemesi uygulanmak veya yönlendirilmek yerine client'a READONLY hatası döner (b, d yanlış — otomatik yönlendirme ya da çakışma uzlaştırma yoktur). Bunun TTL ile ilgisi yoktur (c).",{"id":175,"topic":9,"difficulty":132,"body":176,"options":177,"correct_key":145,"explanation":186},"019f89ea-0687-7f23-ba65-2142ec022ebb","Redis Sentinel'in birincil amacı nedir?",[178,180,182,184],{"key":136,"text":179},"Anahtarları birden fazla Redis node'u arasında shard'lamak",{"key":139,"text":181},"RDB snapshot'larını daha hızlı transfer için sıkıştırmak",{"key":142,"text":183},"Replica'lar için bir Lua scripting sandbox'ı sağlamak",{"key":145,"text":185},"Node'ları izlemek ve failover'ı koordine etmek","Sentinel, master ve replica'ların sağlığını izler, durum değişikliklerini bildirir ve mevcut master'ın down olduğu tespit edildiğinde bir replica'yı otomatik olarak master'a terfi ettirebilir. Shard'lama Redis Cluster'ın işidir, Sentinel'in değil (a); Sentinel RDB dosyalarını sıkıştırmaz (b) ya da scripting sandbox'ı sağlamaz (c).",{"id":188,"topic":9,"difficulty":132,"body":189,"options":190,"correct_key":139,"explanation":199},"019f89ea-0688-7a0b-9800-90224771e11b","Bir uygulama, başka bir client'ın master'a yazdığı bir anahtarı hemen ardından bir replica'dan okuyor. Replica eski değeri döndürüyor. En olası açıklama nedir?",[191,193,195,197],{"key":136,"text":192},"Replica yanlış yapılandırılmıştır ve bug olarak ele alınmalıdır",{"key":139,"text":194},"Replica, normal asenkron replikasyon gecikmesi nedeniyle write'ı henüz uygulamamıştır",{"key":142,"text":196},"Redis replica'ları var olan anahtarlar için asla güncelleme almaz, sadece yeni anahtarlar için alır",{"key":145,"text":198},"Master, quorum hatası nedeniyle write'ı reddetmiştir","Replikasyon asenkron olduğundan, master'ın zaten acknowledge ettiği bir write'ı replica'nın henüz uygulamadığı küçük bir pencere vardır; replica'dan okumak master'a göre hafif geride kalmış bir değer döndürebilir. Bu beklenen bir davranıştır, yanlış yapılandırma değildir (a); replica'lar var olan anahtarlara yapılan güncellemeleri de alır (c); burada master'ın write'ı reddettiğine dair hiçbir işaret yoktur (d).",{"id":201,"topic":9,"difficulty":132,"body":202,"options":203,"correct_key":142,"explanation":212},"019f89ea-0689-7995-b57a-1623f442310e","Redis replikasyonu master ile replica'ları arasında nasıl bir ilişki kurar?",[204,206,208,210],{"key":136,"text":205},"Çift yönlü — her iki tarafta yapılan write'lar diğerine yayılır",{"key":139,"text":207},"Sabit bir yön yok — hangi node'un verisi daha güncelse o kaynak olur",{"key":142,"text":209},"Tek yönlü — write'lar master'dan replica'lara akar, tersi olmaz",{"key":145,"text":211},"Replication backlog her döndüğünde yön değişir","Redis replikasyonu tek yönlüdür: master, tek write kaynağıdır ve replica'lar ondan gelen write akışını uygular. Çift yönlü değildir (a) ve yön, güncellik durumuna ya da backlog rotasyonuna göre dinamik değil, role göre sabittir (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":6,"name_en":316,"sort":317,"specializations":318},"Database",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},[10,398],"en",[400,401],"google","github",21750,true]