기타 Flashcards

그 외 기타 면접 질문 정리

1
Q

객체지향 프로그래밍이란 무엇인가?

A

프로그래밍 패러다임 중 하나로, 프로그램을 객체들의 집합으로 구성하여 개발하는 방법론입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

객체란 무엇인가?

A

데이터와 이를 처리하는 메소드를 함께 포함하는 하나의 단위입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

클래스란 무엇인가?

A

객체를 생성하기 위한 틀입니다. 객체의 속성과 메서드를 정의하며, 객체는 클래스의 인스턴스입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

추상 클래스와 인터페이스의 차이는 무엇인가? 왜 사용하는가?

A

추상 클래스는 일부 구현과 함께 기본적인 동작을 제공하고, 공통 기능을 공유할 수 있는 클래스를 만들 때 사용합니다. 인터페이스는 완전한 추상화를 제공하며, 다중 상속을 구현하거나 다양한 클래스가 동일한 동작을 하도록 표준화할 때 사용합니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

캡슐화란 무엇인가?

A

캡슐화는 객체의 속성과 메서드를 하나로 묶고, 객체의 내부 상태를 외부에서 직접 접근하지 못하도록 보호하는 것입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

상속이란 무엇인가?

A

새로운 클래스가 기존 클래스의 속성과 메서드를 물려받아 사용하는 것입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

다형성이란 무엇인가?

A

동일한 메서드나 연산자가 다양한 형태로 동작할 수 있는 능력입니다. 이는 주로 메소드 오버로딩과 메소드 오버라이딩을 통해 구현됩니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

추상화란 무엇인가?

A

잡한 시스템으로부터 필요한 부분만을 간추려 내어 모델링하는 것입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

벡터의 내적과 외적은 어디에 사용되는가?

A

내적은 두 벡터 사이의 각도를 구하거나 캐릭터가 특정 방향을 바라보고 있는지 확인하거나 표면의 법선 벡터와 광원의 방향 벡터 사이의 각도로 빛의 세기를 조절해야할 때 사용합니다. 외적은 두 벡터에 수직인 벡터를 계산하여 평면의 법선 벡터를 구하거나 물체가 특정 축을 중심으로 회전할 때 회전 축을 구하거나 두 벡터를 기준으로 물체를 정렬할 때 사용합니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

짐벌락이 무엇이고 왜 생기는가?

A

오일러 각을 사용한 회전 표현에서 발생하는 회전 자유도의 감소 현상으로, 회전축이 겹쳐져 회전 제어가 어려워지는 문제입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

쿼터니언이란 무엇인가?

A

3차원 공간에서 회전을 표현하는 수학적 도구로, 짐벌락 문제를 피할 수 있으며 효율적이고 안정적인 회전 연산을 제공합니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

직렬화는 왜 사용하는가?

A

직렬화는 객체의 상태를 저장하거나 전송하기 위해 바이트 스트림으로 변환하는 과정으로, 데이터의 영속성, 네트워크 통신, 캐싱, 프로그램 간 데이터 교환 등을 가능하게 하기 위해 사용합니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

OSI 7계층과 TCP/IP 4계층의 차이점은 무엇인가?

A

OSI 7계층 모델은 네트워크 통신을 7개의 세분화된 계층으로 정의하는 이론적 모델이고, TCP/IP 4계층 모델은 실제 인터넷 통신을 위한 4개의 통합된 계층으로 구성된 실용적 모델입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

TCP와 UDP의 차이점은 무엇인가?

A

TCP는 신뢰성과 순서를 보장하는 연결 지향 프로토콜이고, UDP는 신뢰성보다 빠른 전송이 중요한 비연결형 프로토콜입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

P2P 토폴로지와 CS 토폴로지의 차이점은 무엇인가?

A

P2P 토폴로지는 모든 노드가 동등하며, 중앙 서버 없이 직접 통신합니다. 확장성이 좋고, 단일 장애 지점이 없습니다. 파일 공유, 분산 컴퓨팅, 블록체인 등에 사용됩니다. CS 토폴로지는 중앙 서버가 존재하며, 클라이언트가 서버에 요청을 보냅니다. 서버가 단일 장애 지점이 될 수 있으며, 서버 과부하 문제를 가질 수 있습니다. 웹 서비스, 데이터베이스 시스템, 온라인 게임 서버 등에 사용됩니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

메모리 단편화에 대해서 설명하라.

A

메모리 할당 및 해제 과정에서 발생하는 메모리 공간의 비효율적인 사용 문제를 말합니다. 메모리 단편화는 크게 내부 단편화와 외부 단편화로 나눌 수 있습니다.

17
Q

내부 단편화란?

A

내부 단편화는 할당된 메모리 블록 내부의 사용되지 않는 공간을 말합니다. 주로 고정 크기의 메모리 할당에서 발생합니다.

18
Q

외부 단편화란?

A

외부 단편화는 할당과 해제가 반복되면서 사용 가능한 메모리 블록들이 작은 조각으로 나뉘어, 충분한 총 메모리가 존재함에도 불구하고 큰 메모리 블록을 할당할 수 없는 상황을 말합니다.

19
Q

페이징과 세그멘테이션의 차이점은 무엇인가?

A

페이징은 고정 크기 블록으로 메모리를 관리하여 외부 단편화를 없애는 기법이고, 세그멘테이션은 가변 크기 블록으로 논리적 메모리 관리를 지원하지만 외부 단편화가 발생할 수 있는 기법입니다.

20
Q

정적 라이브러리와 동적 라이브러리의 차이점은 무엇인가?

A

정적 라이브러리는 컴파일 시 실행 파일에 포함되는 반면, 동적 라이브러리는 실행 시 로드되어 여러 프로그램이 공유할 수 있습니다.