[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:game-dev\u002Fsenior":4,"config":126},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","Game Development","senior","","en",389,600,[13,14,7],"junior","mid",[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,87,100,113],{"id":44,"topic":18,"difficulty":45,"body":46,"options":47,"correct_key":58,"explanation":60},"019f6b28-16f0-7eb3-aad8-65cd73b8f8a6",3,"A pathfinding search estimates the remaining distance to the goal using straight-line distance as a heuristic, and expands the node with the lowest (cost-so-far + estimated-remaining) first. Why does this tend to explore fewer nodes than a search with no heuristic at all?",[48,51,54,57],{"key":49,"text":50},"a","Because it guarantees an NPC never gets stuck, even when no valid path exists",{"key":52,"text":53},"b","Because it removes the need for a graph or grid representation entirely",{"key":55,"text":56},"c","Because it eliminates the need for any collision detection in the level",{"key":58,"text":59},"d","The heuristic biases exploration toward the goal, so fewer irrelevant nodes expand","Combining actual cost-so-far with an estimate of remaining distance lets the search prioritize promising directions instead of expanding blindly outward in every direction, which is why it typically visits fewer nodes. It says nothing about guaranteeing a path exists (a), doesn't remove the need for a graph (b), and is unrelated to collision detection (c).",{"id":62,"topic":18,"difficulty":45,"body":63,"options":64,"correct_key":49,"explanation":73},"019f6b28-16f3-7180-9fd3-690d02dfef25","A single NPC's path is recalculated every frame even though the goal and obstacles haven't changed. What is the simplest fix a junior developer should try first?",[65,67,69,71],{"key":49,"text":66},"Recompute only on real change, else reuse the path",{"key":52,"text":68},"Increase the number of NPCs to distribute the load",{"key":55,"text":70},"Switch the entire level's rendering pipeline",{"key":58,"text":72},"Remove pathfinding entirely and let the NPC stand still","If nothing relevant has changed, recomputing the same path every frame is pure waste — caching the last valid path and only recomputing on a real change (new goal, obstacle moved) is the direct fix. Adding more NPCs (b) makes the problem worse, changing the renderer (c) is unrelated, and disabling pathfinding (d) breaks the feature instead of fixing it.",{"id":75,"topic":18,"difficulty":45,"body":76,"options":77,"correct_key":52,"explanation":86},"019f6b28-16f6-7c30-a2cc-56a1d4e8ba10","A door that NPCs normally path through suddenly gets locked mid-game, blocking the only route. What should happen to NPCs already following a path through that door?",[78,80,82,84],{"key":49,"text":79},"They should keep walking into the closed door indefinitely",{"key":52,"text":81},"Path becomes invalid, recalculate or report unreachable",{"key":55,"text":83},"They should permanently forget how to path anywhere afterward",{"key":58,"text":85},"The game should delete those NPCs immediately","A newly locked door is a change to the walkable world, so any path relying on it becomes stale and must be invalidated and recomputed (or reported as unreachable if no alternate exists). Walking into the door forever (a), permanently losing pathfinding ability (c), and deleting the NPCs (d) are not reasonable responses to a dynamic obstacle appearing.",{"id":88,"topic":18,"difficulty":45,"body":89,"options":90,"correct_key":55,"explanation":99},"019f6b28-16f7-7d06-b495-c8ad6ae5b88c","Two NPCs following paths that were computed without knowledge of each other now visibly collide and bump into one another. What best explains this?",[91,93,95,97],{"key":49,"text":92},"The navmesh was generated with too many polygons",{"key":52,"text":94},"The NPCs are using two different graph representations of the exact same corridor",{"key":55,"text":96},"Paths were planned only against the static layout, not against each other as obstacles",{"key":58,"text":98},"The game's fixed timestep is set too small","If path planning only considered the static world and ignored other moving agents, two independently-valid paths can still cross at the same place and time, causing a bump — the fix is to treat other NPCs as dynamic obstacles (or add local avoidance). Too many navmesh polygons (a) is a performance concern, not a collision cause; differing graph representations (b) is not implied by the scenario; and timestep size (d) doesn't explain agents ignoring each other.",{"id":101,"topic":18,"difficulty":45,"body":102,"options":103,"correct_key":49,"explanation":112},"019f6b28-16f9-7e42-8af5-a99c480b3b9b","An NPC is standing still, facing away from a loud noise the player just made nearby. Should a well-designed perception system let the NPC react?",[104,106,108,110],{"key":49,"text":105},"Yes — hearing usually ignores facing, unlike sight which needs a facing cone",{"key":52,"text":107},"No — perception should only ever use the sight sense, never hearing",{"key":55,"text":109},"No — NPCs should never react to anything the player does",{"key":58,"text":111},"Yes, but only if the NPC is standing inside a locked room","Hearing is generally modeled as omnidirectional (or with a much wider range than sight), so a loud nearby noise can be detected regardless of which way the NPC is facing, unlike sight which typically requires a facing cone. Claiming perception can't use hearing (b) or never reacts to the player (c) contradicts the whole point of a perception system, and locked rooms (d) are irrelevant to how hearing works.",{"id":114,"topic":22,"difficulty":45,"body":115,"options":116,"correct_key":52,"explanation":125},"019f6b28-1710-7367-9cda-21de016efc98","For continuously reading how far a joystick is tilted every single frame to drive smooth analog movement, which input model fits naturally?",[117,119,121,123],{"key":49,"text":118},"Event-driven input, since movement should only update once per key press",{"key":52,"text":120},"Polling, since the current analog value is needed on every frame",{"key":55,"text":122},"Input buffering, since analog values must be delayed by several frames",{"key":58,"text":124},"Audio pooling, since joystick data is transmitted as sound signals","Continuous analog state (stick tilt, trigger pressure) is naturally read via polling: the game asks for the current value every frame to drive proportional movement, rather than waiting for discrete change events.",{"fields":127,"seniorities":312,"interview_shapes":313,"locales":318,"oauth":320,"question_count":323,"coach_enabled":324,"jd_match_enabled":324},[128,154,175,191,215,228,247,266,288,295,301,306],{"key":129,"name_tr":130,"name_en":130,"sort":131,"specializations":132},"backend","Backend",1,[133,136,139,142,145,148,151],{"key":134,"name":135,"field":129},"general","Genel",{"key":137,"name":138,"field":129},"go","Go",{"key":140,"name":141,"field":129},"python","Python",{"key":143,"name":144,"field":129},"java","Java",{"key":146,"name":147,"field":129},"csharp","C#\u002F.NET",{"key":149,"name":150,"field":129},"nodejs","Node.js",{"key":152,"name":153,"field":129},"php","PHP",{"key":155,"name_tr":156,"name_en":156,"sort":157,"specializations":158},"frontend","Frontend",2,[159,160,163,166,169,172],{"key":134,"name":135,"field":155},{"key":161,"name":162,"field":155},"javascript","JavaScript",{"key":164,"name":165,"field":155},"typescript","TypeScript",{"key":167,"name":168,"field":155},"react","React",{"key":170,"name":171,"field":155},"vue","Vue",{"key":173,"name":174,"field":155},"angular","Angular",{"key":176,"name_tr":177,"name_en":177,"sort":45,"specializations":178},"fullstack","Fullstack",[179,180,181,182,183,184,185,186,187,188,189,190],{"key":134,"name":135,"field":176},{"key":137,"name":138,"field":129},{"key":140,"name":141,"field":129},{"key":143,"name":144,"field":129},{"key":146,"name":147,"field":129},{"key":149,"name":150,"field":129},{"key":152,"name":153,"field":129},{"key":161,"name":162,"field":155},{"key":164,"name":165,"field":155},{"key":167,"name":168,"field":155},{"key":170,"name":171,"field":155},{"key":173,"name":174,"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":302,"name_en":6,"sort":303,"specializations":304},"Oyun Geliştirme",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},[13,14,7],{"junior":314,"mid":316,"senior":317},{"questions":315,"median_sec":3},20,{"questions":315,"median_sec":3},{"questions":315,"median_sec":3},[319,9],"tr",[321,322],"google","github",21750,true]