[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:backend\u002Fjava-stdlib-http":4,"config":253},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","","java-stdlib-http","Java Stdlib Http","tr",75,3300,[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,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":40,"name":41,"count":11},"csharp-stdlib-http","Csharp Stdlib Http",{"key":43,"name":44,"count":11},"csharp-testing-tooling","Csharp Testing Tooling",{"key":46,"name":47,"count":11},"databases-sql","Veritabanı \u002F SQL",{"key":49,"name":50,"count":11},"go-concurrency","Go Concurrency",{"key":52,"name":53,"count":11},"go-errors","Go Errors",{"key":55,"name":56,"count":11},"go-interfaces-generics","Go Interfaces Generics",{"key":58,"name":59,"count":11},"go-memory-performance","Go Memory Performance",{"key":61,"name":62,"count":11},"go-stdlib-http","Go Stdlib Http",{"key":64,"name":65,"count":11},"go-testing-tooling","Go Testing Tooling",{"key":67,"name":68,"count":11},"java-concurrency","Java Concurrency",{"key":70,"name":71,"count":11},"java-exceptions","Java Exceptions",{"key":73,"name":74,"count":11},"java-generics-interfaces","Java Generics Interfaces",{"key":76,"name":77,"count":11},"java-memory-jvm","Java Memory Jvm",{"key":8,"name":9,"count":11},{"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},"019f6e5f-241b-7952-b8bd-1b644ec16486",1,"Java'da `ArrayList` ile `LinkedList` hakkında hangi ifade doğrudur?",[174,177,180,183],{"key":175,"text":176},"a","LinkedList, get(index) ile ArrayList ile aynı şekilde O(1) rastgele erişim sağlar.",{"key":178,"text":179},"b","ArrayList, get(index) ile O(1) rastgele erişim sağlar; LinkedList ise get(index) için listeyi düğüm düğüm dolaşmak zorundadır.",{"key":181,"text":182},"c","ArrayList içeride çift yönlü bağlı liste olduğu için başa ekleme O(1)'dir.",{"key":184,"text":185},"d","Her iki sınıf da elemanları sabit boyutlu bir dizide tutar, bu yüzden hiçbiri başlangıç kapasitesinin ötesine büyüyemez.","ArrayList, yeniden boyutlandırılabilir bir dizi üzerine kuruludur, bu yüzden get(index) doğrudan dizi erişimidir — O(1). LinkedList çift yönlü bağlı bir listedir, bu yüzden get(index) baştan ya da sondan (hangisi yakınsa) dolaşmak zorundadır — en kötü durumda O(n). Başa ekleme LinkedList için ucuzdur (O(1)) ama ArrayList için pahalıdır (O(n), elemanları kaydırır).",{"id":188,"topic":9,"difficulty":189,"body":190,"options":191,"correct_key":181,"explanation":200},"019f6e5f-241c-71f2-a653-60e14586d25c",2,"`HashSet` ile `TreeSet` arasındaki temel davranışsal fark nedir?",[192,194,196,198],{"key":175,"text":193},"HashSet elemanları doğal sıraya göre sıralı tutar; TreeSet ekleme sırasını tutar.",{"key":178,"text":195},"TreeSet yinelenen elemanlara izin verir, HashSet vermez.",{"key":181,"text":197},"TreeSet elemanları (Comparable ya da constructor'a verilen bir Comparator ile) sıralı tutar; HashSet hiçbir sıralama garantisi vermez.",{"key":184,"text":199},"HashSet elemanların Comparable implemente etmesini gerektirir, TreeSet gerektirmez.","TreeSet bir red-black tree üzerine kuruludur ve elemanları doğal sıralarına (Comparable) ya da constructor'a verilen bir Comparator'a göre sıralı tutar. HashSet bir HashMap üzerine kuruludur ve hiçbir sıralama garantisi vermez — iterasyon sırası hash bucket düzenine bağlıdır. Her iki set de yinelenenleri reddeder (equals\u002FhashCode ya da compareTo==0'a göre). Elemanları sıralamak için Comparable ya da Comparator'a ihtiyaç duyan HashSet değil TreeSet'tir.",{"id":202,"topic":9,"difficulty":189,"body":203,"options":204,"correct_key":175,"explanation":213},"019f6e5f-241d-7562-a0d1-4bf15c65c405","Sıralama yapmadan, entry'leri gezerken ekleme sırasını koruyan bir `Map`'e ihtiyacın var. Hangi implementasyon en uygun?",[205,207,209,211],{"key":175,"text":206},"LinkedHashMap, çünkü hash tablosunun yanında entry'lerin ekleme sırasında çift yönlü bağlı bir listesini tutar.",{"key":178,"text":208},"TreeMap, çünkü her zaman elemanların eklendiği sırada iterasyon yapar.",{"key":181,"text":210},"HashMap, çünkü Java 8'den beri tüm Map implementasyonları için ekleme sırası garanti eder.",{"key":184,"text":212},"Burada tüm Map implementasyonları aynı şekilde çalışır, çünkü Map'in hiçbir zaman tanımlı bir iterasyon sırası yoktur.","LinkedHashMap, HashMap'i extend eder ve ek olarak tüm entry'leri boydan boya geçen çift yönlü bağlı bir liste tutar, bu yüzden iterasyon sırası ekleme sırasıyla (ya da yapılandırılmışsa erişim sırasıyla) eşleşir. TreeMap, ekleme sırasına göre değil Comparable\u002FComparator'a göre key'e göre sıralar. Düz HashMap hiçbir iterasyon sırası garantisi vermez — bu Java 8'de hiç değişmedi.",{"id":215,"topic":9,"difficulty":189,"body":216,"options":217,"correct_key":178,"explanation":226},"019f6e5f-241d-7dbe-8f1e-9713809d4f89","```java\nclass Employee implements Comparable\u003CEmployee> {\n    String name;\n    int age;\n\n    Employee(String name, int age) {\n        this.name = name;\n        this.age = age;\n    }\n\n    @Override\n    public int compareTo(Employee other) {\n        return Integer.compare(this.age, other.age);\n    }\n}\n\nList\u003CEmployee> list = new ArrayList\u003C>(List.of(\n    new Employee(\"Ana\", 35),\n    new Employee(\"Bo\", 22),\n    new Employee(\"Cy\", 29)\n));\nCollections.sort(list);\nSystem.out.println(list.get(0).name);\n```\nBu ne yazdırır?",[218,220,222,224],{"key":175,"text":219},"Ana",{"key":178,"text":221},"Bo",{"key":181,"text":223},"Cy",{"key":184,"text":225},"Employee equals()'ı override etmediği için ClassCastException fırlatır.","compareTo, Integer.compare ile age'e göre karşılaştırır, bu yüzden Collections.sort(list) çalışanları age'e göre artan sıraya dizer: Bo (22), Cy (29), Ana (35). Sıralamadan sonra list.get(0) Bo'dur. Comparable'ın Collections.sort tarafından doğru kullanılması için equals()'ın override edilmesi gerekmez — burada ClassCastException oluşmaz.",{"id":228,"topic":9,"difficulty":189,"body":229,"options":230,"correct_key":181,"explanation":239},"019f6e5f-241e-77c9-8414-bc2aa0b584b4","```java\nList\u003CString> words = new ArrayList\u003C>(List.of(\"banana\", \"fig\", \"apple\", \"kiwi\"));\nwords.sort(Comparator.comparing(String::length).thenComparing(Comparator.naturalOrder()));\nSystem.out.println(words);\n```\nBu ne yazdırır?",[231,233,235,237],{"key":175,"text":232},"[apple, banana, fig, kiwi]",{"key":178,"text":234},"[banana, apple, fig, kiwi]",{"key":181,"text":236},"[fig, kiwi, apple, banana]",{"key":184,"text":238},"[kiwi, fig, banana, apple]","Comparator.comparing(String::length) öncelikle string uzunluğuna göre sıralar: fig(3), kiwi(4), apple(5), banana(6). thenComparing(naturalOrder()) yalnızca eşit uzunluklar için tie-breaker'dır ve burada hiçbir iki kelime aynı uzunluğu paylaşmadığı için bir etkisi yoktur. Sonuç [fig, kiwi, apple, banana]'dır.",{"id":241,"topic":9,"difficulty":171,"body":242,"options":243,"correct_key":184,"explanation":252},"019f6e5f-241f-7007-9ff9-ae20537e337d","```java\nList\u003CInteger> nums = List.of(1, 2, 3);\nnums.add(4);\n```\nBu çalıştığında ne olur?",[244,246,248,250],{"key":175,"text":245},"Gayet güzel derlenir ve sessizce 4'ü alttaki listeye ekler.",{"key":178,"text":247},"Derlenir ama add çağrısını sessizce yok sayar.",{"key":181,"text":249},"Çalışma zamanında ClassCastException fırlatır.",{"key":184,"text":251},"Çalışma zamanında UnsupportedOperationException fırlatır.","List.of(...) değişmez (immutable) bir liste implementasyonu döndürür. Herhangi bir yapısal değiştirme metodu (add, remove, set, clear) çalışma zamanında UnsupportedOperationException fırlatır — kod derlenir çünkü List arayüzü hâlâ add()'i tanımlar, ama immutable implementasyon çağrıyı reddeder.",{"fields":254,"seniorities":424,"interview_shapes":425,"locales":430,"oauth":432,"question_count":435,"coach_enabled":436,"jd_match_enabled":436},[255,266,286,303,327,340,359,378,398,405,411,418],{"key":5,"name_tr":6,"name_en":6,"sort":171,"specializations":256},[257,260,261,262,263,264,265],{"key":258,"name":259,"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":267,"name_tr":268,"name_en":268,"sort":189,"specializations":269},"frontend","Frontend",[270,271,274,277,280,283],{"key":258,"name":259,"field":267},{"key":272,"name":273,"field":267},"javascript","JavaScript",{"key":275,"name":276,"field":267},"typescript","TypeScript",{"key":278,"name":279,"field":267},"react","React",{"key":281,"name":282,"field":267},"vue","Vue",{"key":284,"name":285,"field":267},"angular","Angular",{"key":287,"name_tr":288,"name_en":288,"sort":289,"specializations":290},"fullstack","Fullstack",3,[291,292,293,294,295,296,297,298,299,300,301,302],{"key":258,"name":259,"field":287},{"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":272,"name":273,"field":267},{"key":275,"name":276,"field":267},{"key":278,"name":279,"field":267},{"key":281,"name":282,"field":267},{"key":284,"name":285,"field":267},{"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":258,"name":259,"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":258,"name":259,"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":258,"name":259,"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":258,"name":259,"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":258,"name":259,"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":258,"name":259,"field":399},{"key":406,"name_tr":407,"name_en":407,"sort":408,"specializations":409},"data-engineer","Data Engineer",10,[410],{"key":258,"name":259,"field":406},{"key":412,"name_tr":413,"name_en":414,"sort":415,"specializations":416},"game-dev","Oyun Geliştirme","Game Development",11,[417],{"key":258,"name":259,"field":412},{"key":419,"name_tr":420,"name_en":420,"sort":421,"specializations":422},"ml-engineer","ML Engineer",12,[423],{"key":258,"name":259,"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]