[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en: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","en",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 Design",{"key":22,"name":23,"count":11},"caching","Caching",{"key":25,"name":26,"count":11},"concurrency","Concurrency",{"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","Databases \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","Messaging \u002F Queues",{"key":86,"name":87,"count":11},"networking-http","Networking \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","Security",{"key":146,"name":147,"count":11},"testing","Testing",[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```\nWhat is printed?",[174,177,180,183],{"key":175,"text":176},"a","2, because List\u003CT> silently removes duplicate values when Add is called.",{"key":178,"text":179},"b","3, because List\u003CT> allows duplicate elements and Count simply reflects how many items were added.",{"key":181,"text":182},"c","It throws an exception, because Add cannot insert a value that already exists in the list, the same way HashSet\u003CT>.Add enforces uniqueness.",{"key":184,"text":185},"d","0, because Count is only updated after the list is explicitly sorted.","List\u003CT> is an ordered, index-based collection that permits duplicate values — it does not perform any uniqueness check on Add. Each of the three Add calls appends a new element regardless of whether an equal value already exists, so Count reflects the total number of Add calls: 3. Uniqueness enforcement is a HashSet\u003CT> behavior, not a List\u003CT> one.",{"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```\nWhat happens when this runs?",[192,194,196,198],{"key":175,"text":193},"It prints 0, because Dictionary\u003CK,V>'s indexer always returns the default value of V for any key that is not currently present.",{"key":178,"text":195},"It prints an empty string, because the indexer falls back to a blank result for missing keys.",{"key":181,"text":197},"It throws a KeyNotFoundException at runtime, because the indexer requires the key to already exist in the dictionary.",{"key":184,"text":199},"It automatically adds \"grace\" with value 0 and then prints 0.","The Dictionary\u003CK,V> indexer getter (ages[\"grace\"]) throws a KeyNotFoundException when the requested key is not present — it does not return a default value or silently create an entry. To read a possibly-missing key without an exception, use TryGetValue or ContainsKey first; the indexer is only safe to read when the key's presence is already guaranteed. Note that the indexer *setter* (ages[\"ada\"] = 30) does add-or-update, but the getter has no such fallback.",{"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```\nWhat is printed?",[205,207,209,211],{"key":175,"text":206},"True False 1, because HashSet\u003CT>.Add returns false and skips insertion when an equal element already exists.",{"key":178,"text":208},"True True 2, because HashSet\u003CT> allows the same value to be added twice, just like List\u003CT>.",{"key":181,"text":210},"It throws an exception on the second Add call, because HashSet\u003CT> forbids re-adding a value that already exists.",{"key":184,"text":212},"False False 0, because Add always returns false the first time a set is empty.","HashSet\u003CT> enforces uniqueness: Add returns true and inserts the element only if it is not already present, and returns false without modifying the set if an equal element already exists. Here the first Add(\"go\") succeeds (true, count becomes 1), and the second Add(\"go\") finds \"go\" already in the set, so it returns false without throwing and without increasing Count.",{"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```\nWhat happens?",[218,220,222,224],{"key":175,"text":219},"It prints 0, because List\u003CT> silently returns the default value of the element type whenever the given index is out of range.",{"key":178,"text":221},"It prints 30, because the indexer clamps the requested index to the last valid position.",{"key":181,"text":223},"It silently extends the list with a new default element and prints that new element's value.",{"key":184,"text":225},"It throws an ArgumentOutOfRangeException, because index 3 is outside the valid range 0..2 for a 3-element list.","scores has three elements at indices 0, 1, and 2. List\u003CT>'s indexer performs bounds checking and throws an ArgumentOutOfRangeException when the requested index is negative or greater than or equal to Count — it never clamps, returns a default value, or auto-grows the list on a read. To grow a list you must call Add\u002FInsert explicitly.",{"id":228,"topic":9,"difficulty":189,"body":229,"options":230,"correct_key":178,"explanation":239},"019f70e2-e87e-72a3-bd09-a7cd9dcbe376","You iterate a `Dictionary\u003Cstring, int>` with `foreach` right after inserting several keys in a specific order. Which statement about the iteration order is correct?",[231,233,235,237],{"key":175,"text":232},"Dictionary\u003CK,V> always iterates keys in the exact order they were inserted, just like List\u003CT>.",{"key":178,"text":234},"Dictionary\u003CK,V> does not guarantee any particular iteration order, and code should not rely on insertion order or any other specific ordering.",{"key":181,"text":236},"Dictionary\u003CK,V> always iterates keys sorted alphabetically by their string representation.",{"key":184,"text":238},"Dictionary\u003CK,V> iterates keys in a random order that changes on every single enumeration, even within the exact same unmodified instance and process.","Dictionary\u003CK,V> is a hash-based collection: its enumeration order depends on internal bucket layout, which is an implementation detail that can change across .NET versions, after resizes, or after removals. In practice it often appears close to insertion order for small dictionaries with no removals, but this is not a documented guarantee, so code must never depend on it — if a specific order is required, use a SortedDictionary\u003CK,V> or explicitly sort with LINQ's OrderBy.",{"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```\nWhat is printed?",[245,247,249,251],{"key":175,"text":246},"2 3 4 , because Where returns a deferred sequence that re-reads the source list at the moment it is enumerated, after Add(4) already happened.",{"key":178,"text":248},"2 3 , because Where captures a snapshot of the list's contents at the moment it is called, before the Add(4) happens.",{"key":181,"text":250},"It throws an InvalidOperationException, because the list was modified after Where was called on it.",{"key":184,"text":252},"1 2 3 4 , because Where only filters elements the first time the query is enumerated and ignores the predicate afterward.","LINQ's Where does not execute immediately — it returns an IEnumerable\u003CT> that captures the query logic and the source reference, but only walks the source when something actually enumerates it (here, the foreach). Since Add(4) happens before the foreach starts pulling elements, the query sees the list's state at enumeration time, including the newly added 4, and filters it with n > 1: 2, 3, 4. This is the deferred execution trap — modifying the same List\u003CT> the query reads from does not throw here because the modification happens before enumeration begins, not during it.",{"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":379,"name_en":144,"sort":380,"specializations":381},"Güvenlik",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},[431,10],"tr",[433,434],"google","github",21750,true]