tech interview 56
- 게임 엔진 Q.언리얼5 Q. 언리얼 사용 이유?Q. 언리얼5 생명주기?Q. 언리얼5의 가비지 컬렉터?Q. pawn과 character?Q. 블루 프린트?Q. Uclass?Q. UPROPERTY / UFUNCTION 의미Q. 리플렉션?RTTI랑 비슷한거?Q. 몽타주?Q. GAS?Q. TObjectPtr?Q...
- CS Q.요구 페이징 Q. 요구 페이징?Q. 페이징 기법과의 차이는?
- C/C++ Q.C++ 컴파일/빌드 Q. 헤더 파일과 소스 파일(.cpp)의 차이점은 무엇인가요?Q. 유니티 빌드? A. C/C++ 프로젝트에서 컴파일 속도를 향상시키기 위해 여러 소스 파일을 하나의 파일로 합쳐서 빌드하는 방법Q. Include Guard와 #pragma once의 차이점과 장단점은 무엇인가요?Q...
- 그래픽스 Q.조명 Q. 반사 속성 3가지?
- 그래픽스 Q.노멀맵 Q. 노멀맵?Q. 노멀맵 압축 시 품질 손실문제 해결방법?
- 그래픽스 Q.카메라 Q. 오일러?Q. 짐벌락 현상?Q. 쿼터니언?
- 그래픽스 Q.렌더링 파이프라인 Q. 렌더링 파이프라인?Q. 카메라 행렬 만드는 법?Q. 뷰 스페이스 변환 행렬 만드는 법?Q. 직교 투영?Q. 투영 단계에서 z나누기를 수행하는 이유?Q. fov값이 90도일 때 원래 크기인 이유?Q. 테셀레이션?Q. 레스터라이즈?Q. x값을 왜 작게 만드는가?Q. 렌더링 파이프...
- 그래픽스 Q.셰이더 Q. 셰이더란?Q. Shade는 음영이란 뜻이고, 여기에 er이 붙어 음영을 만드는 주체라고 할 수 있습니다. 즉 그래픽카드의 렌더링에 효과를 주기 위한 주체로, 명령어들의 집합입니다.Q. 포워드셰이딩과 디퍼드셰이딩의 차이?Q. Compute Shader?Q. 램버트 BRDF?Q....
- 그래픽스 Q.더블 버퍼링 Q. 더블 버퍼링?
- 그래픽스 Q.GPU와 CPU Q. GPU와 CPU?
- CS Q.메모리 단편화 Q. 메모리 단편화외부 단편화와 내부 단편화외부 단편화는 전체 메모리에는 여유 공간이 있지만, 연속된 큰 메모리 블록을 할당할 수 없는 상태.내부 단편화는 할당된 메모리 블록이 실제로 필요한 것보다 더 크게 할당되어 일부가 낭비되는 상태.Q. 메모리 단편화 해결 방법?크게 3가지....
- CS Q.캐시 Q. 캐시란?Q. 캐시 메모리가 성능에 도움을 주는 이유?Q. 캐시의 지역성과 시간성?Q. 캐시 미스가 발생하면 어떤 일이 벌어지나요?Q. 캐시 메모리에 있는 저장된 데이터가 데이터와 일치하는지는 어떻게 알 수 있나요?A. 캐시 라인
- CS Q.커널 Q. 커널이란?Q. 커널모드와 유저모드?
- CS Q.페이지와 세그멘테이션 Q. 페이지와 세그멘테이션?Q. 페이지 테이블은 어디에 있는가?Q. 페이지 폴트란?Q. 페이지 교체 알고리즘?Q. 스레싱?
- CS Q.가상 메모리 Q. 가상 메모리란?Q. 가상 메모리는 어떻게 동작하는가?Q. MMU?Q. 가상 메모리의 크기?
- CS Q.스레드 Q. 스레드란?Q. 스레드의 특징?Q. 프로세스와 스레드의 차이점?Q. 동기화란?Q. 스레드 동기화 기법에 대해 설명Q. 멀티스레드란?Q. 멀티스레드에서 발생할 수 있는 문제Q. 데드락(교착 상태)에 대해 설명Q. 경쟁 상태?Q. 멀티스레드 사용 경험?
- CS Q.프로세스 Q. 프로세스란?Q. 프로세스 스케줄링에 대해 설명Q. 스케줄링에서 Ready 상태와 Block 상태의 차이점을 설명Q. 우선순위(Priority) 스케줄링 알고리즘에 대해 설명Q. 기아(Starvation) 상태란?Q. 노화(Aging) 기법이란?Q. Round Robin 스케줄...
- CS Q.메모리 구조 Q. C언어의 메모리 구조?A. 코드영역 - 데이터 영역 - 힙 영역 - 스택 영역Q. 힙 영역과 스택 영역의 차이점?Q. 메모리 계층 구조?A. 레지스터 - 캐시 - 메모리 - 하드디스크Q. 메모리 계층 구조가 존재하는 이유는?Q. 레지스터란?
- CS Q.프로그램 실행과정 Q. 프로그램 실행과정?A. 프로그램의 기본 실행은 Fetch, Decode, Execution 단계를 거칩니다. Fetch 메모리상에 존재하는 명령어를 CPU로 가져오는 작업 Decode 가졍다 놓은 명령어를 CPU가 해석하는 단계....
- CS Q.실행파일 생성과정 Q. 실행파일(.exe) 생성과정?1.전처리기 (치환) 컴파일러 (번역) 어셈블러 (바이너리 코드 생성) 링커 (연결과 결함) 실행파일 (.exe파일)
- C/C++ Q.constexpr Q. constexpr에 대해 설명A.constexpr은 컴파일 타임에 계산 가능한 상수를 정의하거나 컴파일 타임에 실행 가능한 함수를 정의할 때 사용합니다. 항목 const constexpr 상수 여부 ...
- C/C++ Q.RAII Q. RAII?
- C/C++ Q.Rule of 0/3/5 ### Q. Rule of 0/3/5 ? 답변 보기
- C/C++ Q.Mutable ### Q. Mutable 대해 설명 답변 보기### Q. mutable 키워드는 언제 사용하나요? 답변 보기
- 자료구조 Q.Set Q. 자료구조 set?Q. Set과 unordered set의 차이?
- C/C++ Q.Explicit ### Q. Explicit에 대해 설명 답변 보기### Q. Explicit 키워드는 언제 필요한가요? 답변 보기
- 자료구조 Q.해시 테이블 Q. 해시 테이블?Q. 해시 테이블의 장단점?Q. 충돌 제거 기법
- C/C++ Q.auto Q. auto? 답변 보기### Q. auto는 어떻게 타입 추론이 가능한가? 답변 보기### Q. auto 사용 시 주의점? 답변 보기
- 자료구조 Q.Map Q. map?Q. map과 unordered_map의 차이점?Q. map과 unordered_map의 사용사례에 따라 어떤 컨테이너를 선택해야 하는가 설명
- C/C++ Q.임시객체 Q. 임시객체? 답변 보기
- 자료구조 Q.List Q. List?Q. List 사용 경험?
- 자료구조 Q.Vector Q. vector?Q. array와 vector의 차이Q. vector의 시간, 공간 복잡도Q. vector의 capacity란?Q. capacity를 지우고 싶다면?Q. vector 재할당 시 메모리 크기를 얼마로 할당하는가?Q. vector는 어떻게 크기가 바뀔 수 있나요?Q....
- C/C++ Q.L-Value와 R-Value Q. L-Value와 R-Value? 답변 보기 일반적인 변수가 L-Value, 상수가 R-Value.Q. R-Value 참조? (&&) 답변 보기Q. R-Value 참조가 필요한 이유? 답변 보기Q. move? 답변 보기
- 자료구조 Q.Stack과 Queue Q. Stack?Q. Queue?Q. 스택과 큐의 차이점?Q. 스택과 큐를 각각 언제 사용하는가?Q. 스택에 숫자들이 계속 들어오고, O(1)만에 스택에 들어있는 숫자들중에 최소값 찾는 방법? - A. 흔히 ‘Min 스택’이라고 부르는 보조 스택을 하나 만들어서 최소값만 따로...
- C/C++ Q.이동 Q. 이동 의미론? 답변 보기### Q. 이동 생성자? 답변 보기 ### Q. 그럼 이동만 사용하는게 효율적인 것 아닌가? 답변 보기 ### Q. 이동이 효율적이지 않은 경우? 답변 보기 ### Q. move? 답변 보기 ### Q. move와 forward의 차...
- C/C++ Q.람다식 Q. 람다식? 답변 보기Q. 람다식을 STL 알고리즘과 함께 사용할 때 어떤 이점이 있는가? 답변 보기
- C/C++ Q.멤버 초기화 Q. 초기화 리스트의 순서는? 답변 보기Q. 멤버 이니셜라이저(initializer list)는 언제 사용하나요? 답변 보기
- C/C++ Q.함수 객체와 함수 포인터 Q. 함수 객체는 무엇인가? 답변 보기Q. 함수 포인터? 답변 보기
- C/C++ Q.템플릿 Q. 템플릿? 답변 보기 자료형이나 값을 일반화하여 코드 재사용성을 높이기 위한 기능입니다. 컴파일 시점에 실제 타입이 결정되며, 같은 로직을 여러 타입에 대해 안전하게 사용할 수 있도록 합니다. 템플릿의 장점은 1. 타입 안정성을 유지하면서 2. 중복 코...
- C/C++ Q.인라인함수와 매크로함수 Q. 인라인 함수와 매크로 함수의 차이? 답변 보기 인라인 함수는 함수의 모든 코드를 함수 본문에 삽입하는 방식이며, 매크로 함수는 전처리기에서 치환하는 방식입니다. 인라인 함수는 컴파일 타임에 삽입되고, 매크로 함수는 전처리기에서 치환됩니다. 인라인 함수는 자료형...
- C/C++ Q.memcpy와 memmove Q. memcpy와 memmove 차이? 답변 보기 memcpy는 메모리의 내용을 직접 복사하고, memmove는 복사할 메모리의 내용을 임시 공간에 저장한 후에 복사합니다. 즉, memcpy의 속도가 더 빠른 반면, mommove는 상대적으로 안전합니다.
- C/C++ Q.스마트 포인터 Q. 스마트 포인터란? 답변 보기 유니크 포인터, 쉐어드 포인터, 위크 포인터가 있습니다. Q. 순환 참조 해결 방법? (shared_ptr) 답변 보기 Q. 프로젝트에 레퍼런스 카운터 기능이 있던데, 왜 스마트 포인터 사용 안하고 직접 만드셨나요? 답변 보기
- C/C++ Q.포인터 Q. 포인터와 레퍼런스 설명 답변 보기 포인터는 주소를 가질 수 있는 변수, 레퍼런스는 다른 객체 또는 값의 별칭이라고 할 수 있습니다. 포인터는 null값을 가질 수 있지만, 레퍼런스는 가질 수 없습니다. Q. int나 float같은 기본 자료형은 매개변수로 레퍼런스를 던...
- C/C++ Q.동적할당 ### Q. 동적할당? 답변 보기 ### Q. 왜 동적 메모리 할당을 할 필요가 있을까요? 답변 보기 ### Q. 동적 할당한 배열의 크기를 런타임 중에 변경할 수 있나요? 가능하다면 어떻게? 답변 보기 ### Q. 정적 메모리 할당과 동적 메모리 할당의...
- C/C++ Q.캐스팅 Q. 캐스팅? 답변 보기 스태틱 캐스트, 다이나믹 캐스트, 콘스트 캐스트, 리인터프리트 캐스트Q. static_cast가 dynamic_cast보다 빠른 이유? 답변 보기 static_cast는 컴파일 타임에 검증이 끝나서 추가적인 런타임 비용이 없기 때문에 상대적으로 ...
- C/C++ Q.복사 ### Q. 얕은 복사/깊은 복사의 차이점은? 답변 보기 깊은 복사는 새로운 메모리 공간을 할당하여 복사 ### Q. 각각 어느 상황에 사용하는지? 답변 보기### Q. 복사 생성자와 대입 연산자의 차이는? 답변 보기 복사 생성자는 새 객체를 만들면서 복사할 때 사...
- C/C++ Q.static Q. static에 대해 설명A. static 키워드는 정적 속성을 가지게 합니다. 4가지 유형으로 나눌 수 있습니다. 전역/파일 범위의 static 1static int g_value = 10; 해당 cpp파일 내부에서만 접근 가능 다른 파...
- C/C++ Q.자료형 ### Q. float의 소수점 부분이 제대로 저장이 안되는 이유는? 답변 보기
- C/C++ Q.call by Q. Call by Value, Call by Pointer, Call by Reference? 답변 보기 함수 호출 방식을 나타냅니다. 함수가 인자를 어떻게 받는지에 따라 함수 내에서 인자의 변화가 호출자에게 영향을 미치는지를 결정합니다. Call by Value - ...
- C/C++ Q.const Q. const에 대해A. const는 이 코드는 값을 바꾸지 않겠다는 의도 표현이며, 컴파일 타임 안전성과 코드 신뢰도를 높여줍니다. 일반 변수의 const 값 변경 불가 반드시 초기화 필요 포인터와 const 123const int*...
- C/C++ Q.구조체 Q. 구조체? 답변 보기 Q. 구조체와 클래스의 차이? 답변 보기 ### Q. 구조체 패딩? 답변 보기
- C/C++ Q.바인딩 ### Q. 바인딩? 답변 보기 프로그램 내에서 특정 이름(변수, 함수, 객체 등)과 해당 이름이 참조하는 실제 메모리 위치 또는 실행코드를 연결하는 과정입니다. ### Q. 정적바인딩과 동적바인딩? 답변 보기 정적 바인딩은 컴파일 타임에 호출 대상이 결정되어 ...
- C/C++ Q.가상함수와 추상클래스 가상함수가상함수는 virtual 키워드가 붙은 함수이며, 자식 클래스에서 정의할 멤버 함수 입니다.부모 클래스의 포인터나 레퍼런스가 자식 클래스 객체를 가리킬 때,자식 클래스에서 의 가상함수 재정의에 의해 호출되는 함수가 달라지게 합니다.객체의 가상 함수 포인터를 통해 클래스의 가...
- C/C++ Q.오버로딩과 오버라이딩 Q. C++에서 오버로딩과 오버라이딩의 차이는? 답변 보기 재정의, 다중 정의 오버로딩은 함수의 이름은 같고, 매개변수가 다릅니다. 오버라이딩은 부모 클래스의 함수를 자식 클래스에서 재정의해서 사용합니다. ### Q. 오버로딩에서 반환값만 다르게 하면 어떻게 되나...
- C/C++ Q.상속 ### Q. 상속이란? 답변 보기### Q. is-a, has-a 답변 보기### Q. 다이아몬드 상속 문제? 답변 보기 다이아몬드 상속 문제는 동일한 부모 클래스를 여러 경로로 상속받을 때 발생하는 중복과 모호성 문제이며, 가상 상속(`virtual`)을 통해 해결할 수 ...
- C/C++ Q.SOLID 원칙 SOLID 원칙은 객체 지향 프로그래밍과 설계에서유지 보수성과 확장성을 높이기 위해 사용되는 다섯 가지 원칙입니다. SRP 단일 책임의 원칙 : 각 클래스는 하나의 책임만 가져야 합니다. 즉, 클래스는 오직 하나의 기능이나 역할만 담당하도록 설계되어야 합니다. ...