[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:game-dev\u002Fue-containers-strings-memory":4,"config":233},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":130,"samples":147},"game-dev","Oyun Geliştirme","","ue-containers-strings-memory","Ue Containers Strings Memory","tr",75,2850,[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,103,106,109,112,115,118,121,124,127],{"key":19,"name":20,"count":11},"game-ai-pathfinding","Game Ai Pathfinding",{"key":22,"name":23,"count":11},"game-input-audio","Game Input Audio",{"key":25,"name":26,"count":11},"game-loop-fundamentals","Game Loop Fundamentals",{"key":28,"name":29,"count":11},"game-networking-multiplayer","Game Networking Multiplayer",{"key":31,"name":32,"count":11},"game-performance-optimization","Game Performance Optimization",{"key":34,"name":35,"count":11},"game-physics-collision","Game Physics Collision",{"key":37,"name":38,"count":11},"game-rendering-pipeline","Game Rendering Pipeline",{"key":40,"name":41,"count":11},"game-state-management","Game State Management",{"key":43,"name":44,"count":11},"gfx-forward-deferred-architectures","Gfx Forward Deferred Architectures",{"key":46,"name":47,"count":11},"gfx-gpu-pipeline-stages","Gfx Gpu Pipeline Stages",{"key":49,"name":50,"count":11},"gfx-post-processing-aa-hdr","Gfx Post Processing Aa Hdr",{"key":52,"name":53,"count":11},"gfx-shading-lighting-pbr","Gfx Shading Lighting Pbr",{"key":55,"name":56,"count":11},"gfx-shadows-depth-precision","Gfx Shadows Depth Precision",{"key":58,"name":59,"count":11},"gfx-textures-sampling-compression","Gfx Textures Sampling Compression",{"key":61,"name":62,"count":11},"gp-ability-cooldown-damage","Gp Ability Cooldown Damage",{"key":64,"name":65,"count":11},"gp-animation-state-locomotion","Gp Animation State Locomotion",{"key":67,"name":68,"count":11},"gp-camera-follow-targeting","Gp Camera Follow Targeting",{"key":70,"name":71,"count":11},"gp-character-controller-movement","Gp Character Controller Movement",{"key":73,"name":74,"count":11},"gp-frame-windows-game-feel","Gp Frame Windows Game Feel",{"key":76,"name":77,"count":11},"gp-interaction-detection-triggers","Gp Interaction Detection Triggers",{"key":79,"name":80,"count":11},"nc-rollback-determinism","Nc Rollback Determinism",{"key":82,"name":83,"count":11},"nc-security-protocol","Nc Security Protocol",{"key":85,"name":86,"count":11},"nc-serialization-bandwidth","Nc Serialization Bandwidth",{"key":88,"name":89,"count":11},"nc-time-sync-tick","Nc Time Sync Tick",{"key":91,"name":92,"count":11},"nc-topology-nat-relay","Nc Topology Nat Relay",{"key":94,"name":95,"count":11},"nc-transport-reliability","Nc Transport Reliability",{"key":97,"name":98,"count":11},"ue-actor-component-lifecycle","Ue Actor Component Lifecycle",{"key":100,"name":101,"count":11},"ue-blueprint-cpp-interop","Ue Blueprint Cpp Interop",{"key":8,"name":9,"count":11},{"key":104,"name":105,"count":11},"ue-gameplay-framework-classes","Ue Gameplay Framework Classes",{"key":107,"name":108,"count":11},"ue-modules-build-packaging","Ue Modules Build Packaging",{"key":110,"name":111,"count":11},"ue-uobject-reflection-gc","Ue Uobject Reflection Gc",{"key":113,"name":114,"count":11},"un-csharp-memory-gc-performance","Un Csharp Memory Gc Performance",{"key":116,"name":117,"count":11},"un-gameobject-component-transform","Un Gameobject Component Transform",{"key":119,"name":120,"count":11},"un-jobs-burst-dots-basics","Un Jobs Burst Dots Basics",{"key":122,"name":123,"count":11},"un-monobehaviour-lifecycle-execution-order","Un Monobehaviour Lifecycle Execution Order",{"key":125,"name":126,"count":11},"un-prefabs-instantiate-pooling-addressables","Un Prefabs Instantiate Pooling Addressables",{"key":128,"name":129,"count":11},"un-scriptableobject-serialization","Un Scriptableobject Serialization",[131,135,138,141,144],{"key":132,"name":133,"count":134},"gameplay","Gameplay",450,{"key":136,"name":137,"count":134},"graphics-rendering","Graphics \u002F Rendering",{"key":139,"name":140,"count":134},"multiplayer-netcode","Multiplayer \u002F Netcode",{"key":142,"name":143,"count":134},"unity-csharp","Unity (C#)",{"key":145,"name":146,"count":134},"unreal-cpp","Unreal (C++)",[148,166,180,193,206,219],{"id":149,"topic":9,"difficulty":150,"body":151,"options":152,"correct_key":157,"explanation":165},"01a01237-18a3-77b8-995f-1ab154cc09cf",1,"Bir TArray, Add() çağrısı sırasında mevcut ayrılmış kapasitesinin ötesine büyümesi gerektiğinde ne olur?",[153,156,159,162],{"key":154,"text":155},"a","Add() bir istisna fırlatır ve yeni eleman eklenmez.",{"key":157,"text":158},"b","Daha büyük bir bloğa yeniden tahsis yapar ve elemanları taşır.",{"key":160,"text":161},"c","Add() hiçbir şey yapmaz ve sessizce false döner.",{"key":163,"text":164},"d","Yeni elemana yer açmak için en eski eleman atılır.","Boş kapasite kalmadığında TArray yeniden tahsis yapar: daha büyük bir bellek bloğu ister, mevcut elemanları oraya taşır, eski bloğu serbest bırakır ve ancak ondan sonra yeni elemanı ekler.",{"id":167,"topic":9,"difficulty":168,"body":169,"options":170,"correct_key":163,"explanation":179},"01a01237-18a5-745f-8054-3041dd2c2c8e",2,"Bir TMap'e belirli bir sırayla beş anahtar-değer çifti eklersen, sonra birini kaldırıp map'i range-based for ile dolaşırsan, iterasyon sırası hakkında ne söyleyebilirsin?",[171,173,175,177],{"key":154,"text":172},"Her zaman ekleme sırasıyla eşleşir, sıralı bir ilişkisel container gibi.",{"key":157,"text":174},"Eleman kaldırılana kadar ekleme sırasıyla eşleşir, sonra ters döner.",{"key":160,"text":176},"Anahtarın hash değerine göre, kesin artan sırada sıralıdır.",{"key":163,"text":178},"Ekleme sırasını garanti etmez; kaldırmalardan sonra değişebilir.","TMap, girdileri hash ile indekslenen dahili bir sparse array'de tutar; ekleme sırasını korumaz ve eleman kaldırmak mevcut girdilerin iterasyonda gezilme sırasını daha da değiştirebilir.",{"id":181,"topic":9,"difficulty":168,"body":182,"options":183,"correct_key":154,"explanation":192},"01a01237-18a7-7f0a-ab3d-cdf437b249b3","Bir UObject türevi pointer'ı neden bir TSharedPtr içine sarmamalısın?",[184,186,188,190],{"key":154,"text":185},"UObject'in zaten kendi yaşam süresi takibi vardır ve iki sistem birbirinden habersizdir.",{"key":157,"text":187},"TSharedPtr yalnızca değer tiplerini tutabilir, sınıflara pointer'ları tutamaz.",{"key":160,"text":189},"UObject türevi sınıflar derleme zamanında herhangi bir template'li taban sınıftan miras almayı yasaklar.",{"key":163,"text":191},"TSharedPtr her zaman referans sayımını render thread'inde yapar ve UObject'leri bozar.","UObject'ler Unreal'in kendi garbage collector'ı tarafından izlenir; bu, TSharedPtr'ın bağımsız referans sayımından tamamen ayrıdır. İkisini karıştırmak, hiçbir sistemin diğerinin referanslarından haberdar olmaması anlamına gelir.",{"id":194,"topic":9,"difficulty":150,"body":195,"options":196,"correct_key":160,"explanation":205},"01a01237-18ac-7adc-bfdf-768c3d9b47cd","Unreal Engine'de FName öncelikle ne için tasarlanmıştır?",[197,199,201,203],{"key":154,"text":198},"Uzun, kullanıcıya görünen paragraf metinlerini oluşturup değiştirmek için.",{"key":157,"text":200},"Oyuncunun seçtiği dile göre değişen yerelleştirilmiş metni saklamak için.",{"key":160,"text":202},"Soket adı gibi hızlı, büyük\u002Fküçük harf duyarsız tanımlayıcılar için.",{"key":163,"text":204},"Arayüzde gösterilecek sayı ve tarihleri biçimlendirmek için.","FName, paylaşılan ve tekrarları elenmiş bir tabloda saklanan bir addır; sık karşılaştırdığın ya da aradığın hafif tanımlayıcılar içindir, gösterdiğin ya da değiştirdiğin metin için değil.",{"id":207,"topic":9,"difficulty":168,"body":208,"options":209,"correct_key":157,"explanation":218},"01a01237-18ae-7e0d-bbc8-0aa993efb4e8","Büyük bir TArray\u003CFVector>'ı bir fonksiyona `const TArray\u003CFVector>&` olarak geçirmek, değer (by value) olarak geçirmeye neden tercih edilir?",[210,212,214,216],{"key":154,"text":211},"Değer parametreleri iç yapıda her zaman ham pointer olarak geçirilir, bu yüzden gerçek bir fark yoktur.",{"key":157,"text":213},"Değer olarak geçirmek dizinin tamamını kopyalar; const referans bu kopyayı önler.",{"key":160,"text":215},"const referanslar, değer olarak geçirmenin aksine fonksiyon içinde dizi elemanlarını değiştirilebilir yapar.",{"key":163,"text":217},"Değer olarak geçirmek diziyi taşır ve çağıranın dizisini sonrasında boş bırakır.","TArray'in kopya kurucusu her elemanın derin bir kopyasını çıkarır. const referans parametresi bağlamak, yeni bir dizi oluşturulmadığı için bu ayırma ve kopyalamayı tamamen önler.",{"id":220,"topic":9,"difficulty":221,"body":222,"options":223,"correct_key":154,"explanation":232},"01a01237-18af-7a3e-b92d-adc2e04e3b67",3,"```cpp\nTArray\u003CFVector> Points;\nPoints.Reserve(2);\nPoints.Add(FVector::ZeroVector);\nFVector* First = &Points[0];\nPoints.Add(FVector::UpVector);\nPoints.Add(FVector::ForwardVector);\nFirst->X = 5.0f;\n```\n`First->X = 5.0f;` satırı hakkında ne doğrudur?",[224,226,228,230],{"key":154,"text":225},"Tanımsız davranıştır: üçüncü Add() yeniden tahsis yapabilir ve First serbest bırakılmış belleği gösterir kalır.",{"key":157,"text":227},"Points[0].X'i güvenle değiştirir, çünkü Reserve(2) dizinin bir daha asla yeniden tahsis yapmayacağını garanti eder.",{"key":160,"text":229},"Derlenir ama hiçbir işe yaramaz, çünkü TArray elemanları ham bir pointer üzerinden değiştirilemez.",{"key":163,"text":231},"Her zaman bunun yerine Points[1].X'i değiştirir, çünkü dizi ilk Add()'den sonra kaymıştır.","Reserve(2) yalnızca 2 eleman için kapasite garanti eder. İki Add()'den sonra dizi doludur; üçüncü Add() (toplam 3 eleman) bir yeniden tahsisi zorunlu kılar, First'i geçersizleştirir ve dereference işlemini tanımsız davranış yapar.",{"fields":234,"seniorities":446,"interview_shapes":447,"locales":452,"oauth":454,"question_count":457,"coach_enabled":458,"jd_match_enabled":458},[235,260,280,296,320,333,352,371,393,412,427,437],{"key":236,"name_tr":237,"name_en":237,"sort":150,"specializations":238},"backend","Backend",[239,242,245,248,251,254,257],{"key":240,"name":241,"field":236},"general","Genel",{"key":243,"name":244,"field":236},"go","Go",{"key":246,"name":247,"field":236},"python","Python",{"key":249,"name":250,"field":236},"java","Java",{"key":252,"name":253,"field":236},"csharp","C#\u002F.NET",{"key":255,"name":256,"field":236},"nodejs","Node.js",{"key":258,"name":259,"field":236},"php","PHP",{"key":261,"name_tr":262,"name_en":262,"sort":168,"specializations":263},"frontend","Frontend",[264,265,268,271,274,277],{"key":240,"name":241,"field":261},{"key":266,"name":267,"field":261},"javascript","JavaScript",{"key":269,"name":270,"field":261},"typescript","TypeScript",{"key":272,"name":273,"field":261},"react","React",{"key":275,"name":276,"field":261},"vue","Vue",{"key":278,"name":279,"field":261},"angular","Angular",{"key":281,"name_tr":282,"name_en":282,"sort":221,"specializations":283},"fullstack","Fullstack",[284,285,286,287,288,289,290,291,292,293,294,295],{"key":240,"name":241,"field":281},{"key":243,"name":244,"field":236},{"key":246,"name":247,"field":236},{"key":249,"name":250,"field":236},{"key":252,"name":253,"field":236},{"key":255,"name":256,"field":236},{"key":258,"name":259,"field":236},{"key":266,"name":267,"field":261},{"key":269,"name":270,"field":261},{"key":272,"name":273,"field":261},{"key":275,"name":276,"field":261},{"key":278,"name":279,"field":261},{"key":297,"name_tr":298,"name_en":298,"sort":299,"specializations":300},"devops-cloud","DevOps \u002F Cloud",4,[301,302,305,308,311,314,317],{"key":240,"name":241,"field":297},{"key":303,"name":304,"field":297},"aws","AWS",{"key":306,"name":307,"field":297},"gcp","GCP",{"key":309,"name":310,"field":297},"azure","Azure",{"key":312,"name":313,"field":297},"kubernetes","Kubernetes",{"key":315,"name":316,"field":297},"terraform","Terraform",{"key":318,"name":319,"field":297},"linux","Linux",{"key":321,"name_tr":322,"name_en":322,"sort":323,"specializations":324},"ai-engineer","AI Engineer",5,[325,326,327,330],{"key":240,"name":241,"field":321},{"key":246,"name":247,"field":321},{"key":328,"name":329,"field":321},"llm-rag","LLM\u002FRAG",{"key":331,"name":332,"field":321},"mlops","MLOps",{"key":334,"name_tr":335,"name_en":336,"sort":337,"specializations":338},"database","Veritabanı","Database",6,[339,340,343,346,349],{"key":240,"name":241,"field":334},{"key":341,"name":342,"field":334},"postgresql","PostgreSQL",{"key":344,"name":345,"field":334},"mysql","MySQL",{"key":347,"name":348,"field":334},"mongodb","MongoDB",{"key":350,"name":351,"field":334},"redis","Redis",{"key":353,"name_tr":354,"name_en":355,"sort":356,"specializations":357},"mobile","Mobil","Mobile",7,[358,359,362,365,368],{"key":240,"name":241,"field":353},{"key":360,"name":361,"field":353},"ios-swift","iOS (Swift)",{"key":363,"name":364,"field":353},"android-kotlin","Android (Kotlin)",{"key":366,"name":367,"field":353},"flutter","Flutter",{"key":369,"name":370,"field":353},"react-native","React Native",{"key":372,"name_tr":373,"name_en":374,"sort":375,"specializations":376},"security","Güvenlik","Security",8,[377,378,381,384,387,390],{"key":240,"name":241,"field":372},{"key":379,"name":380,"field":372},"appsec","AppSec",{"key":382,"name":383,"field":372},"offensive-pentest","Offensive \u002F Pentest",{"key":385,"name":386,"field":372},"cloud-security","Cloud Security",{"key":388,"name":389,"field":372},"devsecops","DevSecOps",{"key":391,"name":392,"field":372},"blue-team-incident","Blue Team \u002F Incident",{"key":394,"name_tr":395,"name_en":396,"sort":397,"specializations":398},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[399,400,403,406,409],{"key":240,"name":241,"field":394},{"key":401,"name":402,"field":394},"test-automation","Test Automation",{"key":404,"name":405,"field":394},"sdet","SDET",{"key":407,"name":408,"field":394},"performance-testing","Performance Testing",{"key":410,"name":411,"field":394},"mobile-qa","Mobile QA",{"key":413,"name_tr":414,"name_en":414,"sort":415,"specializations":416},"data-engineer","Data Engineer",10,[417,418,421,424],{"key":240,"name":241,"field":413},{"key":419,"name":420,"field":413},"pipelines-etl","Pipelines \u002F ETL",{"key":422,"name":423,"field":413},"streaming","Streaming",{"key":425,"name":426,"field":413},"warehousing","Warehousing",{"key":5,"name_tr":6,"name_en":428,"sort":429,"specializations":430},"Game Development",11,[431,432,433,434,435,436],{"key":240,"name":241,"field":5},{"key":142,"name":143,"field":5},{"key":145,"name":146,"field":5},{"key":132,"name":133,"field":5},{"key":136,"name":137,"field":5},{"key":139,"name":140,"field":5},{"key":438,"name_tr":439,"name_en":439,"sort":440,"specializations":441},"ml-engineer","ML Engineer",12,[442,443],{"key":240,"name":241,"field":438},{"key":444,"name":445,"field":438},"classical-ml","Classical ML",[14,15,16],{"junior":448,"mid":450,"senior":451},{"questions":449,"median_sec":3},20,{"questions":449,"median_sec":3},{"questions":449,"median_sec":3},[10,453],"en",[455,456],"google","github",27600,true]