[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:database\u002Ftransactions-isolation":4,"config":214},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ı","","transactions-isolation","Transactions Isolation","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,105,108,111,114],{"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":103,"name":104,"count":11},"redis-replication-sentinel","Redis Replication Sentinel",{"key":106,"name":107,"count":11},"redis-transactions-scripting","Redis Transactions Scripting",{"key":109,"name":110,"count":11},"replication-scaling","Replication Scaling",{"key":112,"name":113,"count":11},"security-access","Security Access",{"key":8,"name":9,"count":11},[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,175,188,201],{"id":131,"topic":9,"difficulty":132,"body":133,"options":134,"correct_key":139,"explanation":147},"019f56bb-b6fd-7694-b2aa-bb6134d8994c",1,"ACID kısaltmasında **Atomicity** bir transaction için neyi garanti eder?",[135,138,141,144],{"key":136,"text":137},"a","Commit ettikten sonra değişikliklerinin çökmeye rağmen kalıcı olmasını",{"key":139,"text":140},"b","Statement'larının ya hep birlikte etki etmesini ya da hiçbirinin etmemesini",{"key":142,"text":143},"c","Eşzamanlı transaction'ların birbirlerinin commit edilmemiş değişikliklerini görememesini",{"key":145,"text":146},"d","Veritabanını geçerli bir durumdan başka geçerli bir duruma taşımasını","Atomicity 'ya hep ya hiç' özelliğidir: transaction'ın işlemleri ya tümüyle commit olur ya tümüyle rollback edilir. (a) Durability, (c) Isolation, (d) ise Consistency'dir — ACID'in her biri farklı bir konuyu ele alan diğer üç harfi.",{"id":149,"topic":9,"difficulty":132,"body":150,"options":151,"correct_key":145,"explanation":160},"019f56bb-b6fe-7607-8a77-8c7e4a1f25b1","ACID kısaltmasında **Durability** neyi garanti eder?",[152,154,156,158],{"key":136,"text":153},"Transaction'ın ömrü boyunca tutarlı bir snapshot görmesini",{"key":139,"text":155},"Her transaction'ın çalışan tek transaction'mış gibi davranmasını",{"key":142,"text":157},"Transaction'ın ya tümüyle tamamlanmasını ya da etkisiz şekilde rollback edilmesini",{"key":145,"text":159},"Bir transaction commit ettikten sonra değişikliklerinin ileride oluşacak bir çökmeye rağmen kalıcı olmasını","Durability, commit edilmiş verinin elektrik kesintisi veya çökmede bile kaybolmamasıdır — motorlar bunu, commit'i onaylamadan önce write-ahead log'u kalıcı diske yazarak sağlar. (c) Atomicity'yi, (a) ve (b) ise Isolation'ın yönlerini tarif eder.",{"id":162,"topic":9,"difficulty":163,"body":164,"options":165,"correct_key":136,"explanation":174},"019f56bb-b6ff-723c-851a-43ee40bdf101",2,"ACID'deki **Isolation** özelliği temel olarak neyi ele alır?",[166,168,170,172],{"key":136,"text":167},"Eşzamanlı transaction'ların birbirlerinin yarım işlerini görmesini engellemeyi",{"key":139,"text":169},"Elektrik kesintisinden sonra zaten commit edilmiş veriyi kurtarmayı",{"key":142,"text":171},"Her satırı CHECK ve foreign-key kısıtlarına karşı doğrulamayı",{"key":145,"text":173},"Büyük bir transaction'ı kendi başına commit eden küçük parçalara bölmeyi","Isolation, eşzamanlı transaction'ların birbirine karışmasını nasıl önlediğini yönetir — ideal olarak her biri tek başına çalışıyormuş gibi davranır. Commit edilmiş veriyi kurtarmak (b) Durability'dir, kısıt doğrulaması (c) Consistency'ye aittir; (d) ise isolation'ı tarif etmek yerine atomicity ile çelişir.",{"id":176,"topic":9,"difficulty":163,"body":177,"options":178,"correct_key":142,"explanation":187},"019f56bb-b6ff-7b35-9d8c-9b0589c707fc","ACID'de **Consistency** özelliği, bir transaction'ın şunu yaptığı anlamına gelir:",[179,181,183,185],{"key":136,"text":180},"...her zaman başka herhangi bir açık session'ın yazdığı en son commit edilmiş değeri okur",{"key":139,"text":182},"...tüm lock'larını diğer her transaction bitene kadar tutar",{"key":142,"text":184},"...veritabanını, kısıtlarını koruyarak geçerli bir durumdan başka geçerli bir duruma taşır",{"key":145,"text":186},"...daha az sayıda başka transaction aktifken daha hızlı çalışır","Consistency, commit edilen her transaction'ın veritabanını tüm kurallarını (constraint, cascade, trigger) sağlar halde bırakması demektir — asla geçersiz bir duruma düşmez. (a) okuma görünürlüğünü (bir isolation konusu) tarif eder; (b) ve (d) ise ACID Consistency garantisiyle ilgisizdir.",{"id":189,"topic":9,"difficulty":132,"body":190,"options":191,"correct_key":139,"explanation":200},"019f56bb-b700-73ef-8b0c-850cc50cbfb6","```sql\nBEGIN;\nUPDATE accounts SET balance = balance - 100 WHERE id = 1;\nROLLBACK;\n```\nBu çalıştıktan sonra 1 numaralı hesabın balance'ı ne olur?",[192,194,196,198],{"key":136,"text":193},"100 azalmıştır — UPDATE zaten yeni değeri satıra yazdı",{"key":139,"text":195},"Değişmez — ROLLBACK, transaction içinde yapılan UPDATE'i geri alır",{"key":142,"text":197},"Sonradan bir COMMIT verilip üzerine yazılana kadar 100 azalmıştır",{"key":145,"text":199},"NULL olur — ROLLBACK, transaction'ın dokunduğu her kolonu temizler","ROLLBACK, BEGIN'den beri yapılan tüm değişiklikleri atar; balance sanki UPDATE hiç olmamış gibi transaction öncesi değerine döner. UPDATE'in etkisi yalnızca açık transaction içinde görünürdü (a yanlış) ve rollback kolonları NULL yapmaz, eski değerleri geri getirir (d yanlış).",{"id":202,"topic":9,"difficulty":163,"body":203,"options":204,"correct_key":136,"explanation":213},"019f56bb-b701-7254-9c0b-1f81f2ea4e72","Bir sipariş oluşturma rutini `orders`'a bir satır, `order_items`'a bir satır ekliyor, ardından `products.stock`'u azaltıyor. Bu üç statement neden tek bir transaction içinde çalışmalı?",[205,207,209,211],{"key":136,"text":206},"Yarıda kalan bir hata, siparişi kalemsiz ya da stoğu yanlış bırakamasın diye",{"key":139,"text":208},"Her statement başarılı olana kadar otomatik olarak yeniden denensin diye",{"key":142,"text":210},"Üç statement paralel çalışıp daha hızlı bitsin diye",{"key":145,"text":212},"Üç statement commit'e kadar foreign-key ve CHECK kısıtlarını atlayabilsin diye","Üç yazmayı tek transaction'a sarmak onları atomik yapar: herhangi bir adım başarısız olursa hepsi rollback edilir, böylece kalemsiz bir sipariş ya da güncellenmemiş bir stok değeri asla kalıcı olmaz. Transaction otomatik retry eklemez (b), statement'ları paralelleştirmez (c) ve kısıtları devre dışı bırakmaz (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":163,"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":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":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]