면접 질문 모음

C# 문법

  1. 객체란 무엇인가요? 클래스와 어떤 연관이 있나요?
  2. 생성자에 대해 간단하게 설명해주세요.
  3. 접근제한자란 무엇이며, 각각 어떤 차이가 있는지 비교해서 설명해주세요.
  4. static 한정자에 대해 설명해주세요.
  5. SOLID 원칙에 대해 설명해주세요.
  6. 객체지향 프로그래밍의 속성 중 하나인 다형성과 이를 활용한 설계의 장점에 대해 설명해주세요.
  7. override와 overload에 대해 설명해주세요.
  8. 확장 메서드에 대해 설명하고 어떻게 활용했는지 알려주세요.
  9. 콜백이란 무엇인가요? 콜백을 사용해본 경험이 있을까요?
  10. 델리게이트(delegate; 대리자)란 무엇인가요?
  11. C#의 event란 무엇인가요?
  12. Unity에서 사용하는 델리게이트 혹은 이벤트에는 어떤 것이 있나요?
  13. 참조 형식과 값 형식에 대해 설명해주세요.
  14. 메모리에서 스택과 힙의 차이점에 대해 설명해주세요.
  15. 1번과 2번 질문의 답안을 기반으로 struct와 class의 차이점에 대해 설명해주세요.
  16. 얕은 복사와 깊은 복사의 차이점은 무엇인가요?
  17. 박싱과 언박싱이 일어나는 과정을 메모리 관점에서 설명해주세요.
  18. 클래스를 다른 클래스로 상속하기 위한 방법은 무엇인가요?
  19. 클래스 상속에서 다이아몬드 문제(diamond problem)가 발생하는 이유와 이를 해결하는 방법에 대해 설명해주세요.
  20. 인터페이스란 무엇인가요?
  21. 인터페이스와 추상클래스의 차이는 무엇인가요?
  22. 가비지 컬렉터란 무엇인가요?
  23. 가비지 컬렉터의 장점과 단점에 대해 설명해주세요.
  24. 가비지 컬렉터의 세대 개념에 대해 설명해주세요.
  25. 박싱, 언박싱을 사용할 때 주의해야 할 점은 무엇일까요?
  26. 오브젝트 풀을 사용하면 메모리 관리에 도움이 되는 이유가 무엇일까요?
  27. 제네릭이란 무엇인가요?
  28. 람다식(Lambda Expression)이 무엇인지 설명해주세요.
  29. LINQ란 무엇인가요?
  30. 리플렉션(Reflection)이 뭔지, 사용을 해봤다면 어떤 이유에서 사용했는지 설명해주세요.

Unity 문법

  1. Unity 생명주기(Unity Life Cycle)에 대해서 설명해주세요.
  2. MonoBehaviour 클래스의 주요 메서드와 그 기능에 대해 설명해주세요.
    • MonoBehaviour 클래스에서 Start와 Awake의 차이점은 무엇이며, 이를 적절히 사용하는 방법에 대해 설명해주세요.
  3. Update, FixedUpdate, LateUpdate의 차이점에 대해 설명해주세요.
  4. Time.deltaTime이란 무엇이며, 사용하는 이유에 대해 설명해주세요.
  5. 코루틴의 동작원리와 사용해본 예시를 함께 설명해주세요.
  6. Invoke와 코루틴의 차이에 대해 설명해주세요.
  7. 코루틴과 멀티쓰레딩은 어떤 차이가 있는지 설명해주세요.
  8. 유니티 최적화 기법은 어떤 것들이 있나요?
    • 최적화를 해본 적이 있나요? 없다면 어떤 최적화가 있는지 설명해주세요.
    • 최적화에서 가장 중요한 부분은 무엇인가요?
    • 최적화를 위해서 적용해본 텍스쳐 포맷이 있나요?
  9. 드로우콜에 대해서 설명하고, 최적화하는 방식에 대해 알고 있는 것이 있으면 설명하세요.
  10. Find 함수 사용을 자제해야 하는 이유에 대해 설명해주세요.
  11. Update에서 GetComponent와 그 계열의 캐싱을 지양해야하는 이유를 설명하세요.
  12. CSV/JSON 등 데이터 저장 포맷에 대해 설명하고, 활용에 적절한 상황을 설명해주세요.
  13. 특정 데이터를 JSON으로 활용하기 위해 해야하는 작업은 무엇인가요?
  14. Unity에서 필드를 직렬화하려면 어떻게 해야하는지 설명해주세요.
  15. Unity에서 멀티스레딩을 구현하기 위한 방법에 대해 설명해주세요.
  16. CPU와 GPU의 작동 방법은 어떤 차이가 있는지 설명해주세요.
  17. 월드 스페이스 (World Space) 와 로컬 스페이스 (Local Space)의 차이에 대해 설명해주세요.
  18. 벡터의 내적과 외적을 어느 상황에 사용할 수 있는지 설명해주세요.
  19. 쿼터니언을 사용하는 이유에 대해 설명해주세요.
  20. 네트워크 프로토콜 (IP, TCP, UDP)에 대해 설명해주세요.
    1. TCP와 UDP의 차이를 설명해주세요.
  21. 렌더링 파이프라인에 대해 설명해주세요.
  22. 3D 공간에 있는 오브젝트들이 화면에 표현되는 픽셀로 표시되기까지의 과정을 설명해보세요.
  23. 셰이더를 활용해본 경험이 있을까요? 어떻게 활용했는지 설명해주세요.

자료구조 & 알고리즘

  1. LinkedList의 특성을 설명해주세요.
    1. LinkedList는 언제 사용하면 좋은 자료구조인가요? 반대로 언제 사용하기 불리할까요?
    2. LinkedList를 본인의 프로젝트에 적용해본 경험을 말해주세요.
  2. Stack의 특성을 설명해주세요.
    1. Stack은 언제 사용하면 좋은 자료구조인가요? 반대로 언제 사용하기 불리할까요?
    2. Stack을 본인의 프로젝트에 적용해본 경험을 말해주세요.
  3. Queue의 특성을 설명해주세요.
    1. Queue는 언제 사용하면 좋은 자료구조인가요? 반대로 언제 사용하기 불리할까요?
    2. Queue를 본인의 프로젝트에 적용해본 경험을 말해주세요.
  4. Tree의 순회(Traversal) 방법에 대해 설명해주세요.
  5. DFS와 BFS에 대해 설명해주세요.
    1. DFS와 BFS를 본인의 프로젝트에 활용한 경험이 있다면 설명해주세요.
  6. 행동 트리 (Behaviour Tree) 에 대해 설명해주세요.
  7. 길찾기 알고리즘에 대해 알고 있는 것이 있나요?
  8. 각 길찾기 알고리즘의 차이점은 무엇인가요?
  9. A* 알고리즘에 대해 설명해주세요.
  10. 해당 알고리즘들을 프로젝트에 적용해본 경험이 있나요?

기타

  1. 게임 개발 학습 과정에서 자신이 가장 재미있었거나 자신 있게 설명할 수 있는 부분이 있다면 설명해주세요.
  2. 포트폴리오에서 본인이 담당한 부분이 무엇인가요?
  3. 만약 본인이 개발한 것을 다시 개발한다면, 어떻게 개선할 것인지 설명해주세요.
  4. 본인이 활용하는 디버그 방법을 설명해보세요.
  5. 협업하면서 가장 어려웠던 점이 무엇인가요?
  6. 구현하면서 기술적으로 어려웠던 부분을 어떻게 해결하였나요?
  7. Git Repository를 팀원들과 공동으로 작업하면서 발생했던 문제점이 있다면 무엇이었는지, 어떻게 해결하였는지 이야기해주세요.

'기술면접질문' 카테고리의 다른 글

기술 면접 질문과 답변(1)  (0) 2024.12.09

+ Recent posts