[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:database\u002Fredis":4,"config":214},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":7,"topic_name":7,"spec_key":8,"spec_name":9,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":118,"samples":129},"database","Veritabanı","","redis","Redis","tr",450,2475,[14,15,16],"junior","mid","senior",[18,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109,112,115],{"key":19,"name":20,"count":21},"backup-recovery","Backup Recovery",75,{"key":23,"name":24,"count":21},"data-modeling","Data Modeling",{"key":26,"name":27,"count":21},"indexing","Indexing",{"key":29,"name":30,"count":21},"mongodb-aggregation","Mongodb Aggregation",{"key":32,"name":33,"count":21},"mongodb-indexes-queries","Mongodb Indexes Queries",{"key":35,"name":36,"count":21},"mongodb-operations","Mongodb Operations",{"key":38,"name":39,"count":21},"mongodb-replication-sharding","Mongodb Replication Sharding",{"key":41,"name":42,"count":21},"mongodb-schema-modeling","Mongodb Schema Modeling",{"key":44,"name":45,"count":21},"mongodb-transactions-consistency","Mongodb Transactions Consistency",{"key":47,"name":48,"count":21},"mysql-indexes","Mysql Indexes",{"key":50,"name":51,"count":21},"mysql-innodb-transactions","Mysql Innodb Transactions",{"key":53,"name":54,"count":21},"mysql-operations","Mysql Operations",{"key":56,"name":57,"count":21},"mysql-query-optimization","Mysql Query Optimization",{"key":59,"name":60,"count":21},"mysql-replication-scaling","Mysql Replication Scaling",{"key":62,"name":63,"count":21},"mysql-types-constraints","Mysql Types Constraints",{"key":65,"name":66,"count":21},"nosql-models","Nosql Models",{"key":68,"name":69,"count":21},"performance-tuning","Performance Tuning",{"key":71,"name":72,"count":21},"pg-indexes","Pg Indexes",{"key":74,"name":75,"count":21},"pg-mvcc-vacuum","Pg Mvcc Vacuum",{"key":77,"name":78,"count":21},"pg-operations","Pg Operations",{"key":80,"name":81,"count":21},"pg-query-planning","Pg Query Planning",{"key":83,"name":84,"count":21},"pg-transactions-locking","Pg Transactions Locking",{"key":86,"name":87,"count":21},"pg-types-constraints","Pg Types Constraints",{"key":89,"name":90,"count":21},"query-optimization","Query Optimization",{"key":92,"name":93,"count":21},"redis-cluster-sharding","Redis Cluster Sharding",{"key":95,"name":96,"count":21},"redis-data-structures","Redis Data Structures",{"key":98,"name":99,"count":21},"redis-expiration-eviction","Redis Expiration Eviction",{"key":101,"name":102,"count":21},"redis-persistence","Redis Persistence",{"key":104,"name":105,"count":21},"redis-replication-sentinel","Redis Replication Sentinel",{"key":107,"name":108,"count":21},"redis-transactions-scripting","Redis Transactions Scripting",{"key":110,"name":111,"count":21},"replication-scaling","Replication Scaling",{"key":113,"name":114,"count":21},"security-access","Security Access",{"key":116,"name":117,"count":21},"transactions-isolation","Transactions Isolation",[119,122,125,128],{"key":120,"name":121,"count":11},"mongodb","MongoDB",{"key":123,"name":124,"count":11},"mysql","MySQL",{"key":126,"name":127,"count":11},"postgresql","PostgreSQL",{"key":8,"name":9,"count":11},[130,148,161,174,187,200],{"id":131,"topic":93,"difficulty":132,"body":133,"options":134,"correct_key":139,"explanation":147},"019f89ea-055c-775e-9aa1-db756b8fbd5a",1,"Redis Cluster, keyspace'ini kaç hash slot'a böler?",[135,138,141,144],{"key":136,"text":137},"a","1024",{"key":139,"text":140},"b","16384",{"key":142,"text":143},"c","65536",{"key":145,"text":146},"d","256","Redis Cluster keyspace'i 16384 hash slot'a böler; her master node bu slotların bir alt kümesine sahiptir. 1024 (a), 65536 (c) ve 256 (d) gerçek slot sayısı değildir.",{"id":149,"topic":93,"difficulty":132,"body":150,"options":151,"correct_key":136,"explanation":160},"019f89ea-056c-7618-935d-0fff400cea05","Redis Cluster, bir key'i hash slot'a eşlemek için hangi hash fonksiyonunu kullanır?",[152,154,156,158],{"key":136,"text":153},"CRC16",{"key":139,"text":155},"MD5",{"key":142,"text":157},"SHA-1",{"key":145,"text":159},"MurmurHash","Redis Cluster, slot'u belirlemek için CRC16(key) mod 16384 hesaplar. MD5 (b), SHA-1 (c) ve MurmurHash (d) bu amaçla Redis Cluster'da kullanılmaz.",{"id":162,"topic":93,"difficulty":132,"body":163,"options":164,"correct_key":142,"explanation":173},"019f89ea-056f-735f-84db-22ee9541b818","Redis Cluster'da hash tag ne için kullanılır?",[165,167,169,171],{"key":136,"text":166},"Key'leri hash'lemeden önce şifrelemek için",{"key":139,"text":168},"Bir key'i replica'lar arasında salt-okunur işaretlemek için",{"key":142,"text":170},"Birden fazla key'i aynı hash slot'a zorlamak için",{"key":145,"text":172},"Bir key'e okunabilir bir alias vermek için","Hash tag (key içindeki `{}` ile sarılan kısım), tüm key'in sadece o alt dizeye göre hash'lenmesini zorlar, böylece aynı tag'i paylaşan ilişkili key'ler aynı slot'a düşer — çoklu-key operasyonları için gereklidir. Şifreleme (a), salt-okunur işaretleme (b) ya da alias (d) ile ilgisi yoktur.",{"id":175,"topic":93,"difficulty":132,"body":176,"options":177,"correct_key":145,"explanation":186},"019f89ea-0571-722b-8a30-34bde97f7f9f","Farklı hash slot'lara eşlenen key'lere dokunan bir çoklu-key komutunda Redis Cluster hangi hatayı döner?",[178,180,182,184],{"key":136,"text":179},"NOSLOT",{"key":139,"text":181},"WRONGTYPE",{"key":142,"text":183},"CLUSTERDOWN",{"key":145,"text":185},"CROSSSLOT","MSET gibi bir komut ya da çoklu-key operasyonu farklı slot'lara hash'lenen key'lere referans verdiğinde CROSSSLOT döner, çünkü böyle bir operasyon tek bir node'a atomik olarak yönlendirilemez. WRONGTYPE (b) tip uyuşmazlığı içindir, CLUSTERDOWN (c) cluster genelinde erişilemezlik içindir, NOSLOT (a) gerçek bir Redis hatası değildir.",{"id":188,"topic":93,"difficulty":132,"body":189,"options":190,"correct_key":139,"explanation":199},"019f89ea-0573-722b-b2d8-aff5f6fd2e49","Redis Cluster'da node'lar birbirlerinin durumunu ve topoloji değişikliklerini nasıl keşfeder?",[191,193,195,197],{"key":136,"text":192},"Paylaşılan harici bir ZooKeeper topluluğu üzerinden",{"key":139,"text":194},"Ayrı bir cluster bus port'u üzerinden gossip protokolüyle",{"key":142,"text":196},"Periyodik DNS yeniden çözümlemesiyle",{"key":145,"text":198},"Merkezi bir konfigürasyon node'u üzerinden","Redis Cluster node'ları, cluster state'i cluster bus port'u üzerinden gossip protokolüyle, harici bir koordinatör olmadan değiştirir. Cluster bus port'u varsayılan olarak client port + 10000'dir, ancak `cluster-port` ayarıyla açıkça yapılandırılabilir. Redis Cluster ZooKeeper'a (a), DNS polling'e (c) ya da tek bir merkezi config node'una (d) bağımlı değildir — tamamen merkeziyetsizdir.",{"id":201,"topic":93,"difficulty":202,"body":203,"options":204,"correct_key":136,"explanation":213},"019f89ea-0578-7cd4-8402-df8db1a3b2a8",2,"Bir client, Redis Cluster'a karşı `MSET user:1 alice user:2 bob` çalıştırıyor ve CROSSSLOT hatası alıyor. En olası sebep nedir?",[205,207,209,211],{"key":136,"text":206},"`user:1` ve `user:2` farklı slot'lara hash'leniyor",{"key":139,"text":208},"MSET cluster modunda hiç desteklenmiyor",{"key":142,"text":210},"Cluster şu anda failover durumunda",{"key":145,"text":212},"Key'ler zaten farklı bir veri tipiyle mevcut","Paylaşılan bir hash tag olmadan `user:1` ve `user:2` farklı slot'lara (dolayısıyla farklı node'lara) hash'lenebilir, MSET ise tüm key'lerin aynı slot'ta olup tek bir node'da atomik çalışmasını gerektirir — bu yüzden CROSSSLOT. MSET, slot'lar hizalıysa cluster modunda desteklenir (b), bu failover'a özgü bir hata değildir (c), tip uyuşmazlıkları CROSSSLOT değil WRONGTYPE üretir (d).",{"fields":215,"seniorities":391,"interview_shapes":392,"locales":397,"oauth":399,"question_count":402,"coach_enabled":403,"jd_match_enabled":403},[216,241,261,278,302,315,324,343,365,372,378,385],{"key":217,"name_tr":218,"name_en":218,"sort":132,"specializations":219},"backend","Backend",[220,223,226,229,232,235,238],{"key":221,"name":222,"field":217},"general","Genel",{"key":224,"name":225,"field":217},"go","Go",{"key":227,"name":228,"field":217},"python","Python",{"key":230,"name":231,"field":217},"java","Java",{"key":233,"name":234,"field":217},"csharp","C#\u002F.NET",{"key":236,"name":237,"field":217},"nodejs","Node.js",{"key":239,"name":240,"field":217},"php","PHP",{"key":242,"name_tr":243,"name_en":243,"sort":202,"specializations":244},"frontend","Frontend",[245,246,249,252,255,258],{"key":221,"name":222,"field":242},{"key":247,"name":248,"field":242},"javascript","JavaScript",{"key":250,"name":251,"field":242},"typescript","TypeScript",{"key":253,"name":254,"field":242},"react","React",{"key":256,"name":257,"field":242},"vue","Vue",{"key":259,"name":260,"field":242},"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":221,"name":222,"field":262},{"key":224,"name":225,"field":217},{"key":227,"name":228,"field":217},{"key":230,"name":231,"field":217},{"key":233,"name":234,"field":217},{"key":236,"name":237,"field":217},{"key":239,"name":240,"field":217},{"key":247,"name":248,"field":242},{"key":250,"name":251,"field":242},{"key":253,"name":254,"field":242},{"key":256,"name":257,"field":242},{"key":259,"name":260,"field":242},{"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":221,"name":222,"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":221,"name":222,"field":303},{"key":227,"name":228,"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":221,"name":222,"field":5},{"key":126,"name":127,"field":5},{"key":123,"name":124,"field":5},{"key":120,"name":121,"field":5},{"key":8,"name":9,"field":5},{"key":325,"name_tr":326,"name_en":327,"sort":328,"specializations":329},"mobile","Mobil","Mobile",7,[330,331,334,337,340],{"key":221,"name":222,"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":221,"name":222,"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":221,"name":222,"field":366},{"key":373,"name_tr":374,"name_en":374,"sort":375,"specializations":376},"data-engineer","Data Engineer",10,[377],{"key":221,"name":222,"field":373},{"key":379,"name_tr":380,"name_en":381,"sort":382,"specializations":383},"game-dev","Oyun Geliştirme","Game Development",11,[384],{"key":221,"name":222,"field":379},{"key":386,"name_tr":387,"name_en":387,"sort":388,"specializations":389},"ml-engineer","ML Engineer",12,[390],{"key":221,"name":222,"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]