[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:game-dev\u002Fgame-state-management":4,"config":125},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":40,"samples":41},"game-dev","Oyun Geliştirme","","game-state-management","Game State Management","tr",75,600,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39],{"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":8,"name":9,"count":11},[],[42,60,73,86,99,112],{"id":43,"topic":9,"difficulty":44,"body":45,"options":46,"correct_key":54,"explanation":59},"019f6b28-1788-7352-a027-c817640fbbe3",1,"Oyun mühendisliğinde, oyun akışı (menü, oyun içi, duraklatma, oyun-bitti) için bir \"durum makinesi\" (state machine) temelde neyi ifade eder?",[47,50,53,56],{"key":48,"text":49},"a","Oyunun şimdiye kadar yüklediği her varlığı tutan bir önbellek",{"key":51,"text":52},"b","Oyun açıldığından beri her girdi olayını kaydeden bir günlük",{"key":54,"text":55},"c","Oyunun her zaman davranışı yöneten tek bir modda olduğu bir model",{"key":57,"text":58},"d","Render'ın saniyede tam olarak kaç kare çizeceğine karar veren bir zamanlayıcı","Durum makinesi, oyunun aynı anda yalnızca tek bir iyi tanımlanmış modda (menü, oyun içi, duraklatma vb.) olduğunu modeller; hangi kodun çalışacağı ve girdinin ne anlama geleceği o anki moda bağlıdır.",{"id":61,"topic":9,"difficulty":44,"body":62,"options":63,"correct_key":51,"explanation":72},"019f6b28-1788-7cbd-abb7-61ac6ab20892","Bir platform oyunundaki bir karakterin genelde bekleme (idle), yürüme, zıplama ve saldırma gibi durumları vardır. Aşağıdakilerden hangisi normalde kendi başına bir karakter durumu olarak ele alınmaz?",[64,66,68,70],{"key":48,"text":65},"Karakterin havadayken geçtiği zıplama davranışı",{"key":51,"text":67},"Oyunun o an çalıştığı render kare hızı",{"key":54,"text":69},"Bir girdiyle tetiklenen saldırma davranışı",{"key":57,"text":71},"Karakterin varsayılan olarak döndüğü bekleme davranışı","Kare hızı bir performans\u002Frender metriğidir, karakter davranışının bir modu değildir; bekleme, yürüme, zıplama ve saldırma birer davranış durumudur çünkü hangi animasyonun oynatılacağını ve hangi girdilerin geçerli olacağını değiştirirler.",{"id":74,"topic":9,"difficulty":44,"body":75,"options":76,"correct_key":48,"explanation":85},"019f6b28-1789-765d-9a4d-a5d3c17f2646","Sahne\u002Flevel yönetimi bağlamında bir \"sahne\" ya da \"level\" kavramsal olarak nedir?",[77,79,81,83],{"key":48,"text":78},"Motorun yükleyip sonra kaldırabildiği ayrı bir içerik birimi",{"key":51,"text":80},"Yalnızca arka plan görseli için kullanılan tek bir doku dosyası",{"key":54,"text":82},"Yalnızca kayıt verisini saklamak için ayrılmış sabit boyutlu bellek tamponu",{"key":57,"text":84},"Bir alanı tamamlamak için gereken kesin tuş dizisi","Sahne\u002Flevel, motorun belleğe yükleyip daha sonra kaldırabileceği bir içerik birimidir — geometri, varlıklar ve mantık; oyunu ayrı alanlara bölmenin temeli budur.",{"id":87,"topic":9,"difficulty":44,"body":88,"options":89,"correct_key":57,"explanation":98},"019f6b28-178a-7100-a7f4-c3f43fde3868","Bir \"yükleme\" ekranı, neden genellikle oyun üzerine sadece görsel bir katman olarak değil, kendi başına açık bir oyun durumu olarak modellenir?",[90,92,94,96],{"key":48,"text":91},"Çünkü yükleme ekranlarının bir ilerleme çubuğu göstermesi zorunludur",{"key":51,"text":93},"Çünkü görsel ekip tamamen aynı arka plan görselini her yerde yeniden kullanabilir",{"key":54,"text":95},"Çünkü oyunun kurulum paketinin boyutunu küçültür",{"key":57,"text":97},"Çünkü oyun mantığı yükleme sırasında çalışmamalıdır","Yüklemeyi kendi durumu olarak ele almak, yükleme bitene kadar oyun sistemlerinin (fizik, yapay zeka, girdi) çalışmamasını garanti eder; bu da eksik veri üzerinde çökme veya geçersiz davranışı önler.",{"id":100,"topic":9,"difficulty":44,"body":101,"options":102,"correct_key":48,"explanation":111},"019f6b28-178a-7a63-9a8b-0bcb55377910","\"Duraklatıldı\" durumu neden genellikle sadece render döngüsünü dondurmak yerine ayrı bir oyun durumu olarak modellenir?",[103,105,107,109],{"key":48,"text":104},"Çünkü sadece görseller değil, mantık ve zamanlayıcılar da durdurulmalıdır",{"key":51,"text":106},"Çünkü duraklatma her zaman diske bir kayıt dosyası yazmayı gerektirir",{"key":54,"text":108},"Çünkü pencere odağını kaybettiği anda işletim sistemi çalışan tüm kodu otomatik olarak durdurur",{"key":57,"text":110},"Çünkü levelin ihtiyaç duyduğu görsel varlık sayısını azaltır","Sadece görselleri dondurmak, zamanlayıcıların, fiziğin ve yapay zekanın arka planda güncellenmeye devam etmesine yol açar; duraklatmayı gerçek bir durum olarak modellemek tüm simülasyonun (sadece render'ın değil) tutarlı biçimde durmasını sağlar.",{"id":113,"topic":9,"difficulty":44,"body":114,"options":115,"correct_key":51,"explanation":124},"019f6b28-178c-7e8d-9c60-0b9a25d53d35","Tam bir \"kayıt\" (save) ile bir \"kontrol noktası\" (checkpoint) arasındaki temel kavramsal fark nedir?",[116,118,120,122],{"key":48,"text":117},"Kontrol noktası, tanımı gereği tam kayıttan kesinlikle daha fazla veri saklar",{"key":51,"text":119},"Kayıt tüm oturumu yeniden başlatmalar arasında korur; kontrol noktası deneme ortasındaki ilerlemeyi geri yükler",{"key":54,"text":121},"Bir kayıt tüm oyun boyunca yalnızca bir kez oluşturulabilir",{"key":57,"text":123},"Kontrol noktaları yalnızca ekran kartı belleğinde bulunur, başka hiçbir yerde değil","Tam kayıt, oyuncunun çıkıp daha sonra tüm oturum durumu geri yüklenmiş şekilde devam edebilmesi için tasarlanır; kontrol noktası ise genellikle bir level veya deneme içinde kullanılan, mutlaka kalıcı olmayan daha hafif bir kurtarma noktasıdır.",{"fields":126,"seniorities":311,"interview_shapes":312,"locales":317,"oauth":319,"question_count":322,"coach_enabled":323,"jd_match_enabled":323},[127,152,173,190,214,227,246,265,287,294,300,305],{"key":128,"name_tr":129,"name_en":129,"sort":44,"specializations":130},"backend","Backend",[131,134,137,140,143,146,149],{"key":132,"name":133,"field":128},"general","Genel",{"key":135,"name":136,"field":128},"go","Go",{"key":138,"name":139,"field":128},"python","Python",{"key":141,"name":142,"field":128},"java","Java",{"key":144,"name":145,"field":128},"csharp","C#\u002F.NET",{"key":147,"name":148,"field":128},"nodejs","Node.js",{"key":150,"name":151,"field":128},"php","PHP",{"key":153,"name_tr":154,"name_en":154,"sort":155,"specializations":156},"frontend","Frontend",2,[157,158,161,164,167,170],{"key":132,"name":133,"field":153},{"key":159,"name":160,"field":153},"javascript","JavaScript",{"key":162,"name":163,"field":153},"typescript","TypeScript",{"key":165,"name":166,"field":153},"react","React",{"key":168,"name":169,"field":153},"vue","Vue",{"key":171,"name":172,"field":153},"angular","Angular",{"key":174,"name_tr":175,"name_en":175,"sort":176,"specializations":177},"fullstack","Fullstack",3,[178,179,180,181,182,183,184,185,186,187,188,189],{"key":132,"name":133,"field":174},{"key":135,"name":136,"field":128},{"key":138,"name":139,"field":128},{"key":141,"name":142,"field":128},{"key":144,"name":145,"field":128},{"key":147,"name":148,"field":128},{"key":150,"name":151,"field":128},{"key":159,"name":160,"field":153},{"key":162,"name":163,"field":153},{"key":165,"name":166,"field":153},{"key":168,"name":169,"field":153},{"key":171,"name":172,"field":153},{"key":191,"name_tr":192,"name_en":192,"sort":193,"specializations":194},"devops-cloud","DevOps \u002F Cloud",4,[195,196,199,202,205,208,211],{"key":132,"name":133,"field":191},{"key":197,"name":198,"field":191},"aws","AWS",{"key":200,"name":201,"field":191},"gcp","GCP",{"key":203,"name":204,"field":191},"azure","Azure",{"key":206,"name":207,"field":191},"kubernetes","Kubernetes",{"key":209,"name":210,"field":191},"terraform","Terraform",{"key":212,"name":213,"field":191},"linux","Linux",{"key":215,"name_tr":216,"name_en":216,"sort":217,"specializations":218},"ai-engineer","AI Engineer",5,[219,220,221,224],{"key":132,"name":133,"field":215},{"key":138,"name":139,"field":215},{"key":222,"name":223,"field":215},"llm-rag","LLM\u002FRAG",{"key":225,"name":226,"field":215},"mlops","MLOps",{"key":228,"name_tr":229,"name_en":230,"sort":231,"specializations":232},"database","Veritabanı","Database",6,[233,234,237,240,243],{"key":132,"name":133,"field":228},{"key":235,"name":236,"field":228},"postgresql","PostgreSQL",{"key":238,"name":239,"field":228},"mysql","MySQL",{"key":241,"name":242,"field":228},"mongodb","MongoDB",{"key":244,"name":245,"field":228},"redis","Redis",{"key":247,"name_tr":248,"name_en":249,"sort":250,"specializations":251},"mobile","Mobil","Mobile",7,[252,253,256,259,262],{"key":132,"name":133,"field":247},{"key":254,"name":255,"field":247},"ios-swift","iOS (Swift)",{"key":257,"name":258,"field":247},"android-kotlin","Android (Kotlin)",{"key":260,"name":261,"field":247},"flutter","Flutter",{"key":263,"name":264,"field":247},"react-native","React Native",{"key":266,"name_tr":267,"name_en":268,"sort":269,"specializations":270},"security","Güvenlik","Security",8,[271,272,275,278,281,284],{"key":132,"name":133,"field":266},{"key":273,"name":274,"field":266},"appsec","AppSec",{"key":276,"name":277,"field":266},"offensive-pentest","Offensive \u002F Pentest",{"key":279,"name":280,"field":266},"cloud-security","Cloud Security",{"key":282,"name":283,"field":266},"devsecops","DevSecOps",{"key":285,"name":286,"field":266},"blue-team-incident","Blue Team \u002F Incident",{"key":288,"name_tr":289,"name_en":290,"sort":291,"specializations":292},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[293],{"key":132,"name":133,"field":288},{"key":295,"name_tr":296,"name_en":296,"sort":297,"specializations":298},"data-engineer","Data Engineer",10,[299],{"key":132,"name":133,"field":295},{"key":5,"name_tr":6,"name_en":301,"sort":302,"specializations":303},"Game Development",11,[304],{"key":132,"name":133,"field":5},{"key":306,"name_tr":307,"name_en":307,"sort":308,"specializations":309},"ml-engineer","ML Engineer",12,[310],{"key":132,"name":133,"field":306},[14,15,16],{"junior":313,"mid":315,"senior":316},{"questions":314,"median_sec":3},20,{"questions":314,"median_sec":3},{"questions":314,"median_sec":3},[10,318],"en",[320,321],"google","github",21750,true]