TIL
컴퓨터공학 기초 문제
리액트바오
2022. 2. 22. 00:07
ha를 앞두고 지금까지 공부했던 내용중 이론부분을 복습했다. 체크포인트를 다시 보며 공부했다.
Checkpoint - 컴퓨터 공학 기초
1. 프로그램과 프로세스, 스레드에 대한 설명으로 틀린 것을 고르세요.
A.하나의 프로그램이 여러 프로세스를 가질 수 있다.
B.프로세스는 싱글 스레드 또는 멀티 스레드로 작동할 수 있다
C.프로세스는 프로그램이 메모리에 적재되어 운영체제로부터 필요한 공간, 파일, 메모리를 할당받는다.
D.node.js는 싱글 스레드로만 작동한다. 정답
해설: node.js의 Event loop는 싱글 스레드로 작동되지만, Worker pool은 멀티 스레드로 작동됩니다. 즉, node.js의 초기화와 callback은 Event loop라는 하나의 프로세스, 하나의 스레드에서 작동되지만 I/O intensive, CPU intensive한 모듈은 Worker pool에서 작동합니다.
2. 스레드에 대한 설명으로 틀린 것을 고르세요.
A.프로세스 내에서 실행되는 흐름의 단위를 의미한다.
B.프로세스 내 스레드는 call stack을 공유한다. 정답
C.스레드는 다른 스레드와 독립적으로 작동한다.
D.싱글 코어에서 동시에 돌릴 수 있는 스레드 수는 한 개뿐이다.
해설: 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받습니다. 스레드는 프로세스 내에서 각각 Stack만 따로 할당받고 Code, Data, Heap 영역은 공유합니다.
3. 메모리에 대한 설명으로 틀린 것을 고르세요.
A.메모리 주소는 16진법으로 표현한다.
B.32비트 운영체제에서는 최대 4GB만을 사용할 수 있다.
C.메모리는 하드디스크보다 읽기/쓰기 속도가 빠르다.
D.32비트 운영체제와 64비트 운영체제의 포인터의 크기는 같다. 정답
해설: 다릅니다. 32bit 운영체제와 64bit 운영체제는 처리할 수 있는 데이터의 단위가 32bit, 64bit로 차이가 나기 때문에 사용할 수 있는 최대 메모리의 용량도 다르고, 메모리 주소의 값의 크기도 다릅니다.
4. 가비지 컬렉션에 대한 내용으로 틀린 것을 고르세요.
A.가비지 컬렉션은 프로그램에서 더 이상 쓰지 않는 메모리를 찾아서 회수하는 기능이다.
B.C++, C에는 가비지 컬렉터가 내장되어 있다. 정답
C.가비지 컬렉션의 방법으로는 트레이싱, 레퍼런스 카운팅 등의 방법이 있다.
D.가비지 컬렉션은 개발자가 직접 메모리를 다룰 때에 생길 수 있는 메모리 누수를 방지할 수 있다.
해설: 가비지 컬렉터가 내장되어 있는 프로그래밍 언어로는, C#, 자바, 자바스크립트(v8) 등이 있습니다.
5. 이진 파일과 텍스트 파일의 차이점으로 틀린 것은?
A.텍스트 파일이 아닌 파일은 전부 이진 파일로 취급된다.
B.이진 파일의 대표적인 예로는, HTML, JS 등의 소스코드가 있다. 정답
C.메모장으로 파일을 열었을 때 깨져 보이는 경우, 인코딩의 문제이거나 혹은 해당 파일이 이진 파일이기 때문이다.
D.텍스트 파일은 운영체제별로 개행 문자 처리가 다르다.
해설: 대표적인 이진 파일로는 비트맵 이미지 파일이나 사운드 파일, 또는 실행 가능한 파일 등이 있습니다.
6. 컴 이라는 문자열을 UTF-8로 인코딩한 경우, 몇 바이트를 사용하나요?
A.1
B.2
C.3 정답
D.4
해설:
let encoder = new TextEncoder()
encoder.encode('컴') // Uint8Array(3) [236, 187, 180]
UTF-8에서 한글은 보통 3바이트를 사용합니다.