[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:backend\u002Fcsharp-stdlib-http":4,"config":254},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":148,"samples":168},"backend","Backend","","csharp-stdlib-http","Csharp Stdlib Http","tr",75,3300,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,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,118,121,124,127,130,133,136,139,142,145],{"key":19,"name":20,"count":11},"api-design","API Tasarımı",{"key":22,"name":23,"count":11},"caching","Caching",{"key":25,"name":26,"count":11},"concurrency","Eşzamanlılık",{"key":28,"name":29,"count":11},"csharp-concurrency-async","Csharp Concurrency Async",{"key":31,"name":32,"count":11},"csharp-exceptions","Csharp Exceptions",{"key":34,"name":35,"count":11},"csharp-generics-interfaces","Csharp Generics Interfaces",{"key":37,"name":38,"count":11},"csharp-memory-performance","Csharp Memory Performance",{"key":8,"name":9,"count":11},{"key":41,"name":42,"count":11},"csharp-testing-tooling","Csharp Testing Tooling",{"key":44,"name":45,"count":11},"databases-sql","Veritabanı \u002F SQL",{"key":47,"name":48,"count":11},"go-concurrency","Go Concurrency",{"key":50,"name":51,"count":11},"go-errors","Go Errors",{"key":53,"name":54,"count":11},"go-interfaces-generics","Go Interfaces Generics",{"key":56,"name":57,"count":11},"go-memory-performance","Go Memory Performance",{"key":59,"name":60,"count":11},"go-stdlib-http","Go Stdlib Http",{"key":62,"name":63,"count":11},"go-testing-tooling","Go Testing Tooling",{"key":65,"name":66,"count":11},"java-concurrency","Java Concurrency",{"key":68,"name":69,"count":11},"java-exceptions","Java Exceptions",{"key":71,"name":72,"count":11},"java-generics-interfaces","Java Generics Interfaces",{"key":74,"name":75,"count":11},"java-memory-jvm","Java Memory Jvm",{"key":77,"name":78,"count":11},"java-stdlib-http","Java Stdlib Http",{"key":80,"name":81,"count":11},"java-testing-tooling","Java Testing Tooling",{"key":83,"name":84,"count":11},"messaging-queues","Mesajlaşma \u002F Kuyruklar",{"key":86,"name":87,"count":11},"networking-http","Ağ \u002F HTTP",{"key":89,"name":90,"count":11},"nodejs-error-handling","Nodejs Error Handling",{"key":92,"name":93,"count":11},"nodejs-event-loop-async","Nodejs Event Loop Async",{"key":95,"name":96,"count":11},"nodejs-memory-performance","Nodejs Memory Performance",{"key":98,"name":99,"count":11},"nodejs-modules-streams","Nodejs Modules Streams",{"key":101,"name":102,"count":11},"nodejs-stdlib-http","Nodejs Stdlib Http",{"key":104,"name":105,"count":11},"nodejs-testing-tooling","Nodejs Testing Tooling",{"key":107,"name":108,"count":11},"php-concurrency-async","Php Concurrency Async",{"key":110,"name":111,"count":11},"php-exceptions","Php Exceptions",{"key":113,"name":114,"count":11},"php-generics-interfaces","Php Generics Interfaces",{"key":116,"name":117,"count":11},"php-memory-performance","Php Memory Performance",{"key":119,"name":120,"count":11},"php-stdlib-http","Php Stdlib Http",{"key":122,"name":123,"count":11},"php-testing-tooling","Php Testing Tooling",{"key":125,"name":126,"count":11},"python-concurrency-async","Python Concurrency Async",{"key":128,"name":129,"count":11},"python-errors-context","Python Errors Context",{"key":131,"name":132,"count":11},"python-memory-performance","Python Memory Performance",{"key":134,"name":135,"count":11},"python-stdlib-http","Python Stdlib Http",{"key":137,"name":138,"count":11},"python-testing-tooling","Python Testing Tooling",{"key":140,"name":141,"count":11},"python-typing-oop","Python Typing Oop",{"key":143,"name":144,"count":11},"security","Güvenlik",{"key":146,"name":147,"count":11},"testing","Test",[149,153,156,159,162,165],{"key":150,"name":151,"count":152},"csharp","C#\u002F.NET",450,{"key":154,"name":155,"count":152},"go","Go",{"key":157,"name":158,"count":152},"java","Java",{"key":160,"name":161,"count":152},"nodejs","Node.js",{"key":163,"name":164,"count":152},"php","PHP",{"key":166,"name":167,"count":152},"python","Python",[169,187,201,214,227,240],{"id":170,"topic":9,"difficulty":171,"body":172,"options":173,"correct_key":178,"explanation":186},"019f70e2-e876-727c-8a36-7852e36ae607",1,"```csharp\nvar names = new List\u003Cstring>();\nnames.Add(\"ada\");\nnames.Add(\"grace\");\nnames.Add(\"ada\");\n\nConsole.WriteLine(names.Count);\n```\nBu ne yazdırır?",[174,177,180,183],{"key":175,"text":176},"a","2, çünkü List\u003CT>, Add çağrıldığında yinelenen değerleri sessizce kaldırır.",{"key":178,"text":179},"b","3, çünkü List\u003CT> yinelenen elemanlara izin verir ve Count sadece kaç eleman eklendiğini yansıtır.",{"key":181,"text":182},"c","Exception fırlatır, çünkü Add zaten listede var olan bir değeri ekleyemez, tıpkı HashSet\u003CT>.Add'in benzersizliği zorunlu kılması gibi.",{"key":184,"text":185},"d","0, çünkü Count yalnızca liste açıkça sıralandıktan sonra güncellenir.","List\u003CT>, sıralı ve index tabanlı bir koleksiyondur ve yinelenen değerlere izin verir — Add çağrısında herhangi bir benzersizlik kontrolü yapmaz. Üç Add çağrısının her biri, eşit bir değer zaten var olsa da yeni bir eleman ekler, bu yüzden Count toplam Add çağrısı sayısını yansıtır: 3. Benzersizlik zorunluluğu List\u003CT>'nin değil HashSet\u003CT>'nin davranışıdır.",{"id":188,"topic":9,"difficulty":189,"body":190,"options":191,"correct_key":181,"explanation":200},"019f70e2-e877-70c7-92ce-5b94aab07aef",2,"```csharp\nvar ages = new Dictionary\u003Cstring, int>();\nages[\"ada\"] = 30;\n\nConsole.WriteLine(ages[\"grace\"]);\n```\nBu çalıştığında ne olur?",[192,194,196,198],{"key":175,"text":193},"0 yazdırır, çünkü Dictionary\u003CK,V>'nin indexer'ı şu anda mevcut olmayan her anahtar için her zaman V'nin varsayılan değerini döndürür.",{"key":178,"text":195},"Boş bir string yazdırır, çünkü indexer, olmayan anahtarlar için boş bir sonuca düşer.",{"key":181,"text":197},"Çalışma zamanında KeyNotFoundException fırlatır, çünkü indexer'ın çalışması için anahtarın zaten sözlükte bulunması gerekir.",{"key":184,"text":199},"\"grace\"'i otomatik olarak 0 değeriyle ekler ve sonra 0 yazdırır.","Dictionary\u003CK,V> indexer'ının getter'ı (ages[\"grace\"]) istenen anahtar yoksa KeyNotFoundException fırlatır — varsayılan bir değer döndürmez ya da sessizce bir entry oluşturmaz. Olası eksik bir anahtarı exception almadan okumak için önce TryGetValue veya ContainsKey kullanılmalıdır; indexer sadece anahtarın varlığı zaten garantiyken okunmak için güvenlidir. Not: indexer'ın *setter*'ı (ages[\"ada\"] = 30) ekle-ya-da-güncelle yapar, ama getter'da böyle bir fallback yoktur.",{"id":202,"topic":9,"difficulty":171,"body":203,"options":204,"correct_key":175,"explanation":213},"019f70e2-e878-75ff-b0df-e02b31dc7e76","```csharp\nvar tags = new HashSet\u003Cstring>();\nbool first = tags.Add(\"go\");\nbool second = tags.Add(\"go\");\n\nConsole.WriteLine($\"{first} {second} {tags.Count}\");\n```\nBu ne yazdırır?",[205,207,209,211],{"key":175,"text":206},"True False 1, çünkü HashSet\u003CT>.Add, eşit bir eleman zaten varsa false döner ve ekleme yapmaz.",{"key":178,"text":208},"True True 2, çünkü HashSet\u003CT>, List\u003CT> gibi aynı değerin iki kez eklenmesine izin verir.",{"key":181,"text":210},"İkinci Add çağrısında exception fırlatır, çünkü HashSet\u003CT> zaten var olan bir değerin yeniden eklenmesini yasaklar.",{"key":184,"text":212},"False False 0, çünkü Add, bir set boşken ilk çağrıda her zaman false döner.","HashSet\u003CT> benzersizliği zorunlu kılar: Add, eleman zaten yoksa true döner ve ekler; eşit bir eleman zaten varsa set'i değiştirmeden false döner. Burada ilk Add(\"go\") başarılı olur (true, count 1 olur), ikinci Add(\"go\") ise \"go\"nun set'te zaten olduğunu bulur, bu yüzden hata fırlatmadan ve Count'u artırmadan false döner.",{"id":215,"topic":9,"difficulty":189,"body":216,"options":217,"correct_key":184,"explanation":226},"019f70e2-e87d-758c-b111-3b7247296965","```csharp\nvar scores = new List\u003Cint> { 10, 20, 30 };\nConsole.WriteLine(scores[3]);\n```\nBu çalıştığında ne olur?",[218,220,222,224],{"key":175,"text":219},"0 yazdırır, çünkü List\u003CT>, verilen index aralık dışı olduğunda eleman tipinin varsayılan değerini sessizce döndürür.",{"key":178,"text":221},"30 yazdırır, çünkü indexer istenen index'i son geçerli konuma sabitler (clamp).",{"key":181,"text":223},"Listeyi sessizce yeni bir varsayılan elemanla büyütür ve bu yeni elemanın değerini yazdırır.",{"key":184,"text":225},"ArgumentOutOfRangeException fırlatır, çünkü 3 numaralı index, 3 elemanlı bir liste için geçerli 0..2 aralığının dışındadır.","scores, 0, 1 ve 2 index'lerinde üç elemana sahiptir. List\u003CT>'nin indexer'ı sınır kontrolü yapar ve istenen index negatifse ya da Count'a eşit ya da büyükse ArgumentOutOfRangeException fırlatır — asla sabitleme yapmaz, varsayılan değer döndürmez ya da okuma sırasında listeyi otomatik büyütmez. Bir listeyi büyütmek için Add\u002FInsert'i açıkça çağırmak gerekir.",{"id":228,"topic":9,"difficulty":189,"body":229,"options":230,"correct_key":178,"explanation":239},"019f70e2-e87e-72a3-bd09-a7cd9dcbe376","Belirli bir sırayla birkaç anahtar ekledikten hemen sonra bir `Dictionary\u003Cstring, int>`'i `foreach` ile geziyorsunuz. Iterasyon sırası hakkında hangi ifade doğrudur?",[231,233,235,237],{"key":175,"text":232},"Dictionary\u003CK,V>, tıpkı List\u003CT> gibi, anahtarları her zaman eklendikleri sırayla gezer.",{"key":178,"text":234},"Dictionary\u003CK,V>, belirli bir iterasyon sırasını garanti etmez ve kod, ekleme sırasına ya da başka özel bir sıraya güvenmemelidir.",{"key":181,"text":236},"Dictionary\u003CK,V>, anahtarları her zaman string temsillerine göre alfabetik sıralı gezer.",{"key":184,"text":238},"Dictionary\u003CK,V>, tamamen aynı değişmemiş instance ve process içinde bile her tek enumeration'da değişen rastgele bir sırayla gezer.","Dictionary\u003CK,V>, hash tabanlı bir koleksiyondur: enumeration sırası, .NET sürümleri arasında, resize'lardan sonra ya da silmelerden sonra değişebilen dahili bucket düzenine bağlıdır. Pratikte, hiç silme yapılmamış küçük sözlüklerde genellikle ekleme sırasına yakın görünür, ama bu belgelenmiş bir garanti değildir, bu yüzden kod buna asla güvenmemelidir — belirli bir sıra gerekiyorsa SortedDictionary\u003CK,V> kullanılmalı ya da LINQ'un OrderBy'ı ile açıkça sıralanmalıdır.",{"id":241,"topic":9,"difficulty":242,"body":243,"options":244,"correct_key":175,"explanation":253},"019f70e2-e881-7aa6-a8fb-3ec506d4499c",3,"```csharp\nvar numbers = new List\u003Cint> { 1, 2, 3 };\nvar query = numbers.Where(n => n > 1);\n\nnumbers.Add(4);\n\nforeach (var n in query)\n    Console.Write(n + \" \");\n```\nBu ne yazdırır?",[245,247,249,251],{"key":175,"text":246},"2 3 4 , çünkü Where, kaynak listeyi ancak iterate edildiği anda okuyan gecikmeli bir sekans döndürür — Add(4) o ana kadar zaten gerçekleşmiştir.",{"key":178,"text":248},"2 3 , çünkü Where çağrıldığı anda listenin içeriğinin bir anlık görüntüsünü (snapshot) yakalar, Add(4) gerçekleşmeden önce.",{"key":181,"text":250},"InvalidOperationException fırlatır, çünkü liste, üzerinde Where çağrıldıktan sonra değiştirilmiştir.",{"key":184,"text":252},"1 2 3 4 , çünkü Where yalnızca query ilk kez iterate edildiğinde filtreleme yapar, sonrasında predicate'i yok sayar.","LINQ'un Where'i hemen çalışmaz — query mantığını ve kaynak referansını yakalayan bir IEnumerable\u003CT> döndürür, ama kaynağı ancak bir şey onu gerçekten iterate ettiğinde (burada foreach) gezer. Add(4), foreach eleman çekmeye başlamadan önce gerçekleştiği için, query enumeration anındaki liste durumunu görür — yeni eklenen 4 dahil — ve bunu n > 1 ile filtreler: 2, 3, 4. Bu, deferred execution tuzağıdır — query'nin okuduğu aynı List\u003CT>'yi değiştirmek burada hata fırlatmaz çünkü değişiklik iterasyon SIRASINDA değil, iterasyon başlamadan ÖNCE olur.",{"fields":255,"seniorities":424,"interview_shapes":425,"locales":430,"oauth":432,"question_count":435,"coach_enabled":436,"jd_match_enabled":436},[256,267,287,303,327,340,359,378,398,405,411,418],{"key":5,"name_tr":6,"name_en":6,"sort":171,"specializations":257},[258,261,262,263,264,265,266],{"key":259,"name":260,"field":5},"general","Genel",{"key":154,"name":155,"field":5},{"key":166,"name":167,"field":5},{"key":157,"name":158,"field":5},{"key":150,"name":151,"field":5},{"key":160,"name":161,"field":5},{"key":163,"name":164,"field":5},{"key":268,"name_tr":269,"name_en":269,"sort":189,"specializations":270},"frontend","Frontend",[271,272,275,278,281,284],{"key":259,"name":260,"field":268},{"key":273,"name":274,"field":268},"javascript","JavaScript",{"key":276,"name":277,"field":268},"typescript","TypeScript",{"key":279,"name":280,"field":268},"react","React",{"key":282,"name":283,"field":268},"vue","Vue",{"key":285,"name":286,"field":268},"angular","Angular",{"key":288,"name_tr":289,"name_en":289,"sort":242,"specializations":290},"fullstack","Fullstack",[291,292,293,294,295,296,297,298,299,300,301,302],{"key":259,"name":260,"field":288},{"key":154,"name":155,"field":5},{"key":166,"name":167,"field":5},{"key":157,"name":158,"field":5},{"key":150,"name":151,"field":5},{"key":160,"name":161,"field":5},{"key":163,"name":164,"field":5},{"key":273,"name":274,"field":268},{"key":276,"name":277,"field":268},{"key":279,"name":280,"field":268},{"key":282,"name":283,"field":268},{"key":285,"name":286,"field":268},{"key":304,"name_tr":305,"name_en":305,"sort":306,"specializations":307},"devops-cloud","DevOps \u002F Cloud",4,[308,309,312,315,318,321,324],{"key":259,"name":260,"field":304},{"key":310,"name":311,"field":304},"aws","AWS",{"key":313,"name":314,"field":304},"gcp","GCP",{"key":316,"name":317,"field":304},"azure","Azure",{"key":319,"name":320,"field":304},"kubernetes","Kubernetes",{"key":322,"name":323,"field":304},"terraform","Terraform",{"key":325,"name":326,"field":304},"linux","Linux",{"key":328,"name_tr":329,"name_en":329,"sort":330,"specializations":331},"ai-engineer","AI Engineer",5,[332,333,334,337],{"key":259,"name":260,"field":328},{"key":166,"name":167,"field":328},{"key":335,"name":336,"field":328},"llm-rag","LLM\u002FRAG",{"key":338,"name":339,"field":328},"mlops","MLOps",{"key":341,"name_tr":342,"name_en":343,"sort":344,"specializations":345},"database","Veritabanı","Database",6,[346,347,350,353,356],{"key":259,"name":260,"field":341},{"key":348,"name":349,"field":341},"postgresql","PostgreSQL",{"key":351,"name":352,"field":341},"mysql","MySQL",{"key":354,"name":355,"field":341},"mongodb","MongoDB",{"key":357,"name":358,"field":341},"redis","Redis",{"key":360,"name_tr":361,"name_en":362,"sort":363,"specializations":364},"mobile","Mobil","Mobile",7,[365,366,369,372,375],{"key":259,"name":260,"field":360},{"key":367,"name":368,"field":360},"ios-swift","iOS (Swift)",{"key":370,"name":371,"field":360},"android-kotlin","Android (Kotlin)",{"key":373,"name":374,"field":360},"flutter","Flutter",{"key":376,"name":377,"field":360},"react-native","React Native",{"key":143,"name_tr":144,"name_en":379,"sort":380,"specializations":381},"Security",8,[382,383,386,389,392,395],{"key":259,"name":260,"field":143},{"key":384,"name":385,"field":143},"appsec","AppSec",{"key":387,"name":388,"field":143},"offensive-pentest","Offensive \u002F Pentest",{"key":390,"name":391,"field":143},"cloud-security","Cloud Security",{"key":393,"name":394,"field":143},"devsecops","DevSecOps",{"key":396,"name":397,"field":143},"blue-team-incident","Blue Team \u002F Incident",{"key":399,"name_tr":400,"name_en":401,"sort":402,"specializations":403},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[404],{"key":259,"name":260,"field":399},{"key":406,"name_tr":407,"name_en":407,"sort":408,"specializations":409},"data-engineer","Data Engineer",10,[410],{"key":259,"name":260,"field":406},{"key":412,"name_tr":413,"name_en":414,"sort":415,"specializations":416},"game-dev","Oyun Geliştirme","Game Development",11,[417],{"key":259,"name":260,"field":412},{"key":419,"name_tr":420,"name_en":420,"sort":421,"specializations":422},"ml-engineer","ML Engineer",12,[423],{"key":259,"name":260,"field":419},[14,15,16],{"junior":426,"mid":428,"senior":429},{"questions":427,"median_sec":3},20,{"questions":427,"median_sec":3},{"questions":427,"median_sec":3},[10,431],"en",[433,434],"google","github",21750,true]