cs - RAM 과 ROM의 차이점에 대해서 간단하게 설명할 수 있으신가요?
- RAM - 휘발성 + 프로그램을 실행하면 임시로 적재하여 사용하는 기억장치
ROM - 비휘발성 + Bios 등 변할일이 없는 기억장치
cs - 컴퓨터에서 실수를 표현하는 방법 중 하나인 부동소수점은 오차가 발생할 수 있는데 그 이유에 대해서 설명할 수 있으신가요?
- 숫자를 2진으로 표현을 함으로써, 소수들은 2진수로 표현할 수 없기에, 소수점 몇번 째 자리 아래에서 반올림해서 근사값을 반환하기 때문에.
OS - 멀티 쓰레드를 사용할 때 주의점이 무엇일까요?
- 다수의 쓰레드가 공유 데이터에 동시에 접근하는 경우에 상호배제 또는 동기화 기법을 통해 동시성 문제 또는 교착 상태가 발생하지 않도록 주의해야 합니다.
OS - 프로세스 메타데이터들을 저장해 놓는 곳인 PCB가 사용하는 데이터 구조 방식과 이유를 말씀해주세요.
- Linked List - CPU에서는 프로세스의 상태에 따라 교체작업이 일어나는데, PCB를 이용하여 삽입 삭제를 함. 삽입 삭제에 유용한 데이터 구조인 LinkedList 사용
DB - 정규화의 궁극적인 목표가 무엇일까요?
- 중복된 테이블을 허용하지 않음으로써, 무결성 유지를 통해, 이상 현상을 줄이고, 중복이 없어 DB 저장 용량 효율적으로 관리 가능.
DB - DB에서의 트랜잭션 뜻이 무엇일까요?
- DB 관련 수행하는 작업 단위
- 그럼 조회와 생성을 같이 하는 것은 2개의 트랜잭션인가요?
- 같이하는 조회와 생성을 하나의 작업단위로 보기 때문에, 하나의 트랜잭션
DB - 트랜잭션이 필요한 이유를 송금으로 예를들어 설명해 줄 수 있나요?
- A가 B에게 만원을 송금을 할 때, A가 만원이 차감된 후, B에 만원이 추가할 때, 오류가 발생하면, A는 만원이 사라졌지만, B는 만원을 못받는 현상이 일어나기 때문.
NetWork - 4 way handshake에서 왜 4번의 통신을 해야할까요?
- server에서 종료 데이터를 보낼 때, time-wait상태로 걸어 일정시간이 지나면 닫게 만듬으로써, 데드락을 방지해야하기 때문.
프로세스 와 쓰레드에 대해서 간단하게 말씀해주세요
- 프로세스는 메모리 상에서 실행중인 하나의 작업이고, 스레드는 프로세스 안에서 실행되는 여러 흐름 단위
캐시메모리에 대해 말씀해주세요