모의 면접 회고 (2025.03.24)

eomcri·2025년 3월 24일

오늘은 모의 면접을 통해 받은 질문과 내가 했던 답변, 그리고 피드백을 정리해본다. 질문은 총 4가지로, 언리얼 엔진 관련 기초 개념과 나의 게임 개발 동기에 대한 내용이었다.


질문 및 답변 정리

1. 가장 좋아하는 게임은 무엇인가요? 그리고 그 게임이 개발자로서 어떤 영감을 주었나요?

답변:

Superliminal이라는 게임을 언급했다. 이 게임은 착시를 활용한 창의적인 퍼즐 메커니즘이 인상 깊었고, 개발자로서 창의적인 시도를 두려워하지 말아야겠다는 영감을 주었다고 답변했다.

피드백:

  • 좋아하는 이유를 좀 더 구체적으로 설명할 것
  • 어떤 방식으로 구현되었을지 추측하거나 분석한 내용 추가
  • 내가 만든다면 어떤 부분을 개선할 수 있을지 생각해두면 좋음

2. 언리얼 엔진에서 Actor와 Component의 차이를 설명해주세요.

답변:

Actor는 컴포넌트를 담는 일종의 컨테이너이고, Component는 액터의 기능과 특징을 담당하는 구성 요소라고 설명했다. 추가 질문에서 '애니메이션 컴포넌트'와 '트랜스폼 컴포넌트'라고 잘못 답변함.

피드백:

  • Actor와 Component의 관계를 더 명확히 구분할 것
  • 실제 존재하는 주요 컴포넌트들 (예: UStaticMeshComponent, USceneComponent, USkeletalMeshComponent)에 대해 숙지 필요

3. 블루프린트와 C++의 차이점과 각각의 장단점에 대해 설명해주세요.

답변:

블루프린트는 비주얼 스크립팅 방식이고, C++은 텍스트 기반 프로그래밍 언어로 설명함.
기획적으로 자주 수정되어야 하는 변수는 UPROPERTY로 노출시키고, 로직적으로 중요한 변수는 외부에서 접근하지 못하도록 처리한다고 답변함.

피드백:

  • 블루프린트와 C++ 각각의 장단점을 좀 더 구체적으로 예시와 함께 설명하는 것이 좋음
  • UPROPERTY 관련 접근 제어 (EditAnywhere, VisibleAnywhere 등)에 대해 정확한 이해 필요

4. Tick() 함수의 개념과 사용법을 설명해주세요.

답변:

Tick은 일정한 간격마다 실행된다고 잘못 답변함.
이후 매 프레임마다 호출되고 DeltaTime 값이 프레임마다 바뀐다는 점을 정정함.
bStartWithTickEnabled를 통해 Tick 사용 여부를 설정할 수 있고, 필요할 때만 활성화해서 최적화할 수 있다고 설명함.
캐릭터의 점프 기능에 Tick 최적화를 어떻게 적용할지는 제대로 설명하지 못함.

피드백:

  • Tick은 매 프레임마다 호출되는 함수임을 정확히 인식할 것
  • PrimaryActorTick.bCanEverTickSetActorTickEnabled() 등 관련 설정 숙지
  • Tick을 사용하는 상황과 그 이유, 대안 (예: 타이머)도 고려할 것

전반적인 피드백 요약

  • 질문에 대해 정확히 알고 있는 내용만 답변하기
  • 모호한 지식보다는 명확하게 알고 있는 부분을 중심으로 구성할 것
  • 추가 질문이 들어올 수 있도록 핵심 개념을 구조화해서 설명할 것
  • 실전 감각을 기르기 위해 직접 면접 경험을 쌓는 것이 중요

다음에 추가 정리하면 좋을 주제

  • Superliminal 착시 구현 방식 예측 및 분석
  • Unreal Engine의 주요 컴포넌트 정리 (USceneComponent, UStaticMeshComponent, USkeletalMeshComponent 등)
  • UPROPERTY 매크로의 다양한 옵션과 사용 예
  • Tick 함수의 최적화 기법 (SetActorTickEnabled, 타이머 등)
  • 언리얼 엔진 공식 코드 컨벤션 요약 및 적용 사례

앞으로도 모의 면접을 계속하면서 실제 면접과 비슷한 환경을 구성하고, 실수를 되짚어가며 정확한 개념 이해에 초점을 맞춰야겠다.

profile
게임 개발자가 꿈인 게이머

0개의 댓글