[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:game-dev\u002Fjunior":4,"config":127},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":8,"spec_key":8,"spec_name":8,"locale":9,"cell_total":10,"field_total":11,"seniorities":12,"topics":15,"specs":41,"samples":42},"game-dev","Oyun Geliştirme","junior","","tr",390,600,[7,13,14],"mid","senior",[16,20,23,26,29,32,35,38],{"key":17,"name":18,"count":19},"game-ai-pathfinding","Game Ai Pathfinding",75,{"key":21,"name":22,"count":19},"game-input-audio","Game Input Audio",{"key":24,"name":25,"count":19},"game-loop-fundamentals","Game Loop Fundamentals",{"key":27,"name":28,"count":19},"game-networking-multiplayer","Game Networking Multiplayer",{"key":30,"name":31,"count":19},"game-performance-optimization","Game Performance Optimization",{"key":33,"name":34,"count":19},"game-physics-collision","Game Physics Collision",{"key":36,"name":37,"count":19},"game-rendering-pipeline","Game Rendering Pipeline",{"key":39,"name":40,"count":19},"game-state-management","Game State Management",[],[43,61,74,88,101,114],{"id":44,"topic":18,"difficulty":45,"body":46,"options":47,"correct_key":52,"explanation":60},"019f6b28-16e6-733e-a3e2-265985e6ff21",1,"NPC yapay zekası bağlamında state machine (durum makinesi) nedir?",[48,51,54,57],{"key":49,"text":50},"a","Oyun dünyasındaki her nesnenin tam 3D koordinatlarını saklayan bir sistem",{"key":52,"text":53},"b","NPC her an sabit durumlardan birinde bulunur ve tanımlı koşullarla aralarında geçiş yapar",{"key":55,"text":56},"c","Bir NPC modelinin kaç poligon kullandığını belirleyen bir render tekniği",{"key":58,"text":59},"d","NPC pozisyonlarını sunucu ile istemciler arasında senkronize eden bir ağ protokolü","State machine, NPC'yi aynı anda sabit bir isimlendirilmiş durum kümesinden (ör. Idle, Patrol, Chase) tam olarak birinde modeller ve aralarında tanımlı geçiş koşullarıyla hareket eder. Dünya koordinatlarını saklamakla (a), poligon\u002Frender detayıyla (c) ya da ağ senkronizasyonuyla (d) hiçbir ilgisi yoktur — bunlar tamamen ayrı sistemlerdir.",{"id":62,"topic":18,"difficulty":45,"body":63,"options":64,"correct_key":49,"explanation":73},"019f6b28-16ec-7498-8bc5-50df5e87721c","Aşağıdakilerden hangisi state-machine tabanlı basit ve geçerli bir NPC mantığı örneğidir?",[65,67,69,71],{"key":49,"text":66},"Oyuncu algılanınca Patrol Chase'e döner, oyuncu ayrılınca eski haline döner",{"key":52,"text":68},"NPC'nin can barı rengi, hasar biriktikçe kademeli olarak değişir",{"key":55,"text":70},"NPC modelinin doku (texture) çözünürlüğü kameraya olan mesafeye göre değişir",{"key":58,"text":72},"NPC'nin animasyon kare hızı, oyunun sabit zaman adımına (fixed timestep) göre sınırlandırılır","Bu, klasik iki-durumlu bir state machine örneğidir: isimlendirilmiş bir durum (Patrol), bir koşulla (oyuncu algılandı) başka isimlendirilmiş bir duruma (Chase) geçer ve geri dönüş koşulu da vardır. Diğer seçenekler kademeli görsel efektleri (b), level-of-detail render'ı (c) ve animasyon zamanlamasını (d) anlatır — hiçbiri geçişli, isimlendirilmiş davranış durumları içermez.",{"id":75,"topic":18,"difficulty":76,"body":77,"options":78,"correct_key":58,"explanation":87},"019f6b28-16ed-74f0-bc4d-7ff50c7921f7",2,"Durum ve geçiş sayısı arttıkça bir state machine'in temel pratik dezavantajı nedir?",[79,81,83,85],{"key":49,"text":80},"Aynı anda ikiden fazla durumu temsil edemez",{"key":52,"text":82},"Geçişleri değerlendirmek için ağ bağlantısı gerektirir",{"key":55,"text":84},"Durum sayısından bağımsız olarak her zaman diğer karar mekanizmalarından daha yavaş çalışır",{"key":58,"text":86},"Durumlar arttıkça geçişler hızla çoğalır, mantığı okumayı ve genişletmeyi zorlaştırır","Durum sayısı arttıkça aralarındaki geçişler genelde kombinasyonel olarak büyür, böylece koşul ağı karmaşıklaşır ve genişletmesi hataya açık hale gelir. State machine ikiyle sınırlı değildir (a), değerlendirme için ağ gerekmez (b) ve doğası gereği daha yavaş değildir — sorun bakım kolaylığıdır, ham çalışma zamanı maliyeti değil (c).",{"id":89,"topic":18,"difficulty":76,"body":90,"options":91,"correct_key":55,"explanation":100},"019f6b28-16ee-704a-a3f0-3cb8ac666acd","Bir tasarımcı şu NPC mantığını istiyor: Idle -> gürültü duyar -> Investigate -> tehdit görmez -> tekrar Idle; oyuncuyu görürse -> Attack. Bu en iyi hangi tür mantık yapısıyla tanımlanır?",[92,94,96,98],{"key":49,"text":93},"Öncelik dallarına sahip ağaç-tabanlı bir karar yapısı",{"key":52,"text":95},"Katı cisim kısıtlarına sahip bir fizik simülasyonu",{"key":55,"text":97},"Geçişlerle bağlı sonlu bir isimlendirilmiş durum kümesi",{"key":58,"text":99},"Her karede eylem seçen saf bir rastgele sayı üreteci","Idle, Investigate ve Attack ayrık isimlendirilmiş durumlardır ve her ok koşula bağlı bir geçiştir — bu tam olarak state machine tanımıdır. Öncelikli davranış ağacı olarak tarif edilmemiştir (a), fizik kısıtlarıyla ilgisi yoktur (b) ve koşullar verildiğinde tamamen deterministiktir, rastgele değildir (d).",{"id":102,"topic":18,"difficulty":76,"body":103,"options":104,"correct_key":52,"explanation":113},"019f6b28-16ee-79ed-ab0e-f57b1315b690","Ağaç-tabanlı bir karar yapısı (düz bir state machine'e alternatif olarak) tasarımcılara tipik olarak neyi daha kolay yaptırır?",[105,107,109,111],{"key":49,"text":106},"NPC eylemlerine karar verirken herhangi bir koşula ihtiyaç duymamayı",{"key":52,"text":108},"Alt-davranışları kullanmayı ve öncelikleri kolayca sıralamayı",{"key":55,"text":110},"Oyun başladıktan sonra NPC'nin davranışının asla değişmeyeceğini garanti etmeyi",{"key":58,"text":112},"NPC pozisyon verisini bellekte daha kompakt saklamayı","Ağaç-tabanlı yapı davranışları önceliğe göre hiyerarşik düzenler, böylece tasarımcılar durum-durum geçiş ağına dokunmadan alt-ağaçları yeniden kullanabilir ve dalları yeniden sıralayabilir. Yine de koşullara ihtiyaç duyar (a), NPC davranışını dondurmaz (c) ve pozisyonların bellek düzeniyle ilgili değildir (d).",{"id":115,"topic":18,"difficulty":45,"body":116,"options":117,"correct_key":58,"explanation":126},"019f6b28-16ef-7536-8dff-e8035da40ded","Pathfinding, temelde neyin sürecidir?",[118,120,122,124],{"key":49,"text":119},"Bir seviye için kaç doku (texture) yükleneceğini belirlemek",{"key":52,"text":121},"NPC'nin sırada hangi animasyon klibinin oynatılacağına karar vermek",{"key":55,"text":123},"Oyunun hedeflemesi gereken tam kare hızını hesaplamak",{"key":58,"text":125},"iki nokta arasında en düşük maliyetli rotayı bulmak","Pathfinding temelde başlangıç noktasından hedefe, engellere uyarak geçerli ve genelde en düşük maliyetli bir rota hesaplamaktır. Doku yükleme (a), animasyon seçimi (b) ya da kare hızı hedefiyle (c) ilgisi yoktur.",{"fields":128,"seniorities":312,"interview_shapes":313,"locales":318,"oauth":320,"question_count":323,"coach_enabled":324,"jd_match_enabled":324},[129,154,174,191,215,228,247,266,288,295,301,306],{"key":130,"name_tr":131,"name_en":131,"sort":45,"specializations":132},"backend","Backend",[133,136,139,142,145,148,151],{"key":134,"name":135,"field":130},"general","Genel",{"key":137,"name":138,"field":130},"go","Go",{"key":140,"name":141,"field":130},"python","Python",{"key":143,"name":144,"field":130},"java","Java",{"key":146,"name":147,"field":130},"csharp","C#\u002F.NET",{"key":149,"name":150,"field":130},"nodejs","Node.js",{"key":152,"name":153,"field":130},"php","PHP",{"key":155,"name_tr":156,"name_en":156,"sort":76,"specializations":157},"frontend","Frontend",[158,159,162,165,168,171],{"key":134,"name":135,"field":155},{"key":160,"name":161,"field":155},"javascript","JavaScript",{"key":163,"name":164,"field":155},"typescript","TypeScript",{"key":166,"name":167,"field":155},"react","React",{"key":169,"name":170,"field":155},"vue","Vue",{"key":172,"name":173,"field":155},"angular","Angular",{"key":175,"name_tr":176,"name_en":176,"sort":177,"specializations":178},"fullstack","Fullstack",3,[179,180,181,182,183,184,185,186,187,188,189,190],{"key":134,"name":135,"field":175},{"key":137,"name":138,"field":130},{"key":140,"name":141,"field":130},{"key":143,"name":144,"field":130},{"key":146,"name":147,"field":130},{"key":149,"name":150,"field":130},{"key":152,"name":153,"field":130},{"key":160,"name":161,"field":155},{"key":163,"name":164,"field":155},{"key":166,"name":167,"field":155},{"key":169,"name":170,"field":155},{"key":172,"name":173,"field":155},{"key":192,"name_tr":193,"name_en":193,"sort":194,"specializations":195},"devops-cloud","DevOps \u002F Cloud",4,[196,197,200,203,206,209,212],{"key":134,"name":135,"field":192},{"key":198,"name":199,"field":192},"aws","AWS",{"key":201,"name":202,"field":192},"gcp","GCP",{"key":204,"name":205,"field":192},"azure","Azure",{"key":207,"name":208,"field":192},"kubernetes","Kubernetes",{"key":210,"name":211,"field":192},"terraform","Terraform",{"key":213,"name":214,"field":192},"linux","Linux",{"key":216,"name_tr":217,"name_en":217,"sort":218,"specializations":219},"ai-engineer","AI Engineer",5,[220,221,222,225],{"key":134,"name":135,"field":216},{"key":140,"name":141,"field":216},{"key":223,"name":224,"field":216},"llm-rag","LLM\u002FRAG",{"key":226,"name":227,"field":216},"mlops","MLOps",{"key":229,"name_tr":230,"name_en":231,"sort":232,"specializations":233},"database","Veritabanı","Database",6,[234,235,238,241,244],{"key":134,"name":135,"field":229},{"key":236,"name":237,"field":229},"postgresql","PostgreSQL",{"key":239,"name":240,"field":229},"mysql","MySQL",{"key":242,"name":243,"field":229},"mongodb","MongoDB",{"key":245,"name":246,"field":229},"redis","Redis",{"key":248,"name_tr":249,"name_en":250,"sort":251,"specializations":252},"mobile","Mobil","Mobile",7,[253,254,257,260,263],{"key":134,"name":135,"field":248},{"key":255,"name":256,"field":248},"ios-swift","iOS (Swift)",{"key":258,"name":259,"field":248},"android-kotlin","Android (Kotlin)",{"key":261,"name":262,"field":248},"flutter","Flutter",{"key":264,"name":265,"field":248},"react-native","React Native",{"key":267,"name_tr":268,"name_en":269,"sort":270,"specializations":271},"security","Güvenlik","Security",8,[272,273,276,279,282,285],{"key":134,"name":135,"field":267},{"key":274,"name":275,"field":267},"appsec","AppSec",{"key":277,"name":278,"field":267},"offensive-pentest","Offensive \u002F Pentest",{"key":280,"name":281,"field":267},"cloud-security","Cloud Security",{"key":283,"name":284,"field":267},"devsecops","DevSecOps",{"key":286,"name":287,"field":267},"blue-team-incident","Blue Team \u002F Incident",{"key":289,"name_tr":290,"name_en":291,"sort":292,"specializations":293},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[294],{"key":134,"name":135,"field":289},{"key":296,"name_tr":297,"name_en":297,"sort":298,"specializations":299},"data-engineer","Data Engineer",10,[300],{"key":134,"name":135,"field":296},{"key":5,"name_tr":6,"name_en":302,"sort":303,"specializations":304},"Game Development",11,[305],{"key":134,"name":135,"field":5},{"key":307,"name_tr":308,"name_en":308,"sort":309,"specializations":310},"ml-engineer","ML Engineer",12,[311],{"key":134,"name":135,"field":307},[7,13,14],{"junior":314,"mid":316,"senior":317},{"questions":315,"median_sec":3},20,{"questions":315,"median_sec":3},{"questions":315,"median_sec":3},[9,319],"en",[321,322],"google","github",21750,true]