성능 최적화 경험
저는 플레이 로직을 구현할 때 기능 정확성뿐 아니라 프레임 저하 없이 동작하는지를 항상 함께 검토합니다. 팀 프로젝트에서 다수의 오브젝트가 동시에 상호작용할 때 프레임이 급격히 떨어지는 문제를 발견한 적이 있는데, 불필요한 연산을 캐싱 구조로 개선해 문제를 해결했습니다. 이 경험으로 기능이 동작하는 것과 안정적으로 동작하는 것은 다른 문제라는 것을 배웠습니다.
면접관이 이 한 문장으로 확인하려는 것들. 각 갈래를 알면 답의 뼈대가 잡혀요.
저는 플레이 로직을 구현할 때 기능 정확성뿐 아니라 프레임 저하 없이 동작하는지를 항상 함께 검토합니다. 팀 프로젝트에서 다수의 오브젝트가 동시에 상호작용할 때 프레임이 급격히 떨어지는 문제를 발견한 적이 있는데, 불필요한 연산을 캐싱 구조로 개선해 문제를 해결했습니다. 이 경험으로 기능이 동작하는 것과 안정적으로 동작하는 것은 다른 문제라는 것을 배웠습니다.
저는 멀티플랫폼 개발 시 각 기기의 성능 편차를 고려해 그래픽 옵션을 단계별로 설계하는 것을 중요하게 봅니다. 저사양 기기에서 테스트했을 때 특정 이펙트가 심각한 렉을 유발한다는 것을 발견하고, 옵션에 따라 이펙트 강도를 조정할 수 있도록 구조를 수정했습니다. 이 경험으로 하나의 코드가 모든 기기에서 동일하게 동작하지 않는다는 것을 체감했습니다.
저는 전투 콘텐츠를 구현하기 전 기획서에서 모호한 부분을 반드시 기획자와 확인하는 것을 원칙으로 삼습니다. 한 번은 우선순위가 명확하지 않은 스킬 판정 로직을 임의로 구현했다가 의도와 다르게 동작해 다시 작업한 경험이 있습니다. 이후로는 구현 전 짧게라도 기획자와 확인 대화를 거치게 됐습니다. 이 경험으로 소통이 재작업을 줄이는 가장 효율적인 방법이라는 것을 배웠습니다.
같은 실수가 반복돼요. 이것만 피해도 절반은 갑니다.
진짜 면접은 두 번째 질문부터예요. 이 답 뒤에 따라올 법한 것들.