Engineer Information Processing flashcards
Engineer Information Processing · Build recall with a focused review session.
31 cards. Read the term and the definition here. The deck at the top of this page is optional.
- 카디널리티와 차수
- 차수(Degree)는 릴레이션의 속성(열) 수, 카디널리티(Cardinality)는 튜플(행) 수다. 카티션 프로덕트 결과의 차수는 두 차수의 합, 카디널리티는 두 카디널리티의 곱이다.
- BCNF 정의
- 릴레이션의 모든 결정자가 후보키인 정규형이다. 3NF를 만족하면서 결정자이지만 후보키가 아닌 속성이 존재하지 않아야 하며, 강한 3정규형이라고도 한다.
- 부분 함수 종속
- 기본키가 여러 속성으로 구성된 복합키일 때, 일부 속성에만 종속되는 관계다. 예를 들어 (학번, 과목) 기본키에서 학번만으로 학생 이름이 결정되면 부분 함수 종속이며 2NF 위반이다.
- 이행 함수 종속
- A가 B를 결정하고 B가 C를 결정할 때 A가 C를 결정하게 되는 간접 종속 관계다. 3NF는 기본키가 아닌 속성이 다른 비키 속성을 결정하지 않도록 이행 종속을 제거한다.
- HAVING과 WHERE 차이
- WHERE는 그룹화 전 개별 행을 걸러내고 집계 함수를 사용할 수 없다. HAVING은 GROUP BY 이후 그룹에 조건을 적용하므로 COUNT, SUM 같은 집계 함수를 조건으로 쓸 수 있다.
- 트리거(Trigger)
- 테이블에 INSERT, UPDATE, DELETE 이벤트가 발생할 때 데이터베이스가 자동으로 실행하는 프로시저다. 무결성 유지와 이력 기록에 쓰이며, 연쇄 실행으로 성능 저하가 생길 수 있다.
- 뷰(View)의 특징
- 물리적으로 저장되지 않는 가상 테이블로, 기본 테이블에서 유도된다. 논리적 독립성과 보안을 제공하지만 정의 변경이 제한되고 인덱스 생성이 불가능하며 삽입·갱신·삭제에 제약이 있다.
- 오버로딩과 오버라이딩
- 오버로딩은 같은 이름의 메서드를 매개변수 개수·타입만 다르게 정의하는 정적 디스패치다. 오버라이딩은 상속 관계에서 상위 메서드를 하위 클래스가 재정의하는 동적 디스패치다.
- 블랙박스 테스트 기법
- 내부 구조를 보지 않고 기능만 검사한다. 대표 기법은 동등 분할, 경계값 분석, 결정 테이블, 상태 전이, 원인-결과 그래프, 오류 추측이며 인수·회귀 테스트에 활용된다.
- 형상 관리 절차
- 소프트웨어 변경을 체계적으로 관리하는 활동이다. 식별 → 통제 → 감사 → 기록(기준선 설정) 순으로 진행되며, 산출물의 버전과 변경 이력을 추적해 무결성을 보장한다.
- 모듈 응집도 순서
- 기능적 응집도가 가장 높고 우연적 응집도가 가장 낮다. 낮은 순서는 우연, 논리, 시간, 절차, 통신, 순차, 기능이며 응집도가 높을수록 모듈 독립성이 좋다.
- 모듈 결합도 순서
- 자료 결합도가 가장 낮아 좋고 내용 결합도가 가장 높아 나쁘다. 낮은 순서는 자료, 스탬프, 제어, 외부, 공통, 내용 결합도이며 결합도가 낮을수록 유지보수가 쉽다.
- DFS와 BFS
- DFS는 스택이나 재귀로 한 경로를 끝까지 탐색하고, BFS는 큐로 인접 노드를 레벨 순서로 탐색한다. 가중치 없는 최단 경로는 BFS, 경로 존재 여부 탐색은 DFS가 적합하다.
- 버블 정렬 복잡도
- 인접한 두 원소를 비교해 큰 값을 뒤로 보내는 정렬이다. 평균과 최악 시간 복잡도는 O(n²)이고, 추가 메모리가 거의 필요 없는 제자리 정렬이며 안정 정렬에 속한다.
- 이진 탐색 조건
- 데이터가 정렬되어 있어야 사용할 수 있는 탐색 알고리즘이다. 중간값과 비교해 탐색 범위를 절반으로 줄이므로 시간 복잡도는 O(log n)이고, 매 단계마다 범위가 절반이 된다.
- 재해 복구 RTO와 RPO
- RTO는 재해 발생 후 서비스가 복구되어 정상 가동되기까지 허용되는 최대 시간이다. RPO는 재해 시점 기준으로 허용 가능한 데이터 손실의 최대 범위, 즉 마지막 백업 시점과의 차이다.
- TCP 3-way handshake
- 연결 설정 절차로 SYN → SYN+ACK → ACK 순서로 진행된다. 종료 시에는 FIN과 ACK를 주고받는 4-way handshake를 사용하며, 신뢰성 있는 전송과 흐름 제어를 보장한다.
- UDP 특징
- 비연결형 전송 계층 프로토콜로 핸드셰이크 없이 데이터그램을 전송한다. 순서 보장과 재전송이 없어 신뢰성은 낮지만 오버헤드가 작아 실시간 스트리밍, DNS, DHCP에 사용된다.
- ARP와 RARP
- ARP는 IP 주소를 이용해 같은 네트워크의 MAC 주소를 알아낸다. RARP는 반대로 MAC 주소로 IP 주소를 요청하며, 현재는 DHCP가 RARP 역할을 대체한다.
- 서브넷 마스크 계산
- /24는 255.255.255.0으로 호스트 8비트, 사용 가능 호스트 수는 2^8−2=254다. /26은 255.255.255.192로 서브넷 4개, 각 서브넷당 사용 가능 호스트는 62개다.
- 대칭키와 비대칭키
- 대칭키는 암복호화에 같은 키를 써서 속도가 빠르지만 키 분배가 어렵다. 비대칭키는 공개키와 개인키 쌍을 사용해 키 교환과 전자서명에 적합하나 연산 속도가 느리다.
- 전자서명 절차
- 송신자가 메시지 해시값을 자신의 개인키로 암호화해 서명을 생성한다. 수신자는 송신자의 공개키로 서명을 복호화하고 해시를 재계산해 비교함으로써 인증, 무결성, 부인방지를 확인한다.
- 해시 함수 특성
- 임의 길이 입력을 고정 길이 출력으로 변환하는 단방향 함수다. 일방향성, 충돌 저항성, 눈사태 효과를 가지며 MD5, SHA 시리즈가 대표적이고 무결성 검증에 사용된다.
- 스머프 공격
- 공격자가 출발지 IP를 피해자 주소로 위조한 ICMP 에코 요청을 브로드캐스트로 보내 다수 호스트의 응답을 피해자에게 집중시켜 서비스 거부를 유발하는 증폭 공격이다.
- XSS 공격
- 웹 페이지에 악성 스크립트를 삽입해 다른 사용자의 브라우저에서 실행되게 하는 공격이다. 쿠키와 세션 탈취가 목적이며 입력값 검증, 출력 인코딩, HttpOnly 쿠키 설정으로 방어한다.
- 폭포수 모델
- 요구사항 분석, 설계, 구현, 테스트, 유지보수를 순차적으로 진행하는 선형 모델이다. 단계별 산출물과 검토가 명확하지만 요구 변경이 어렵고 개발 후반에 오류 발견이 집중된다.
- 나선형 모델
- 계획, 위험 분석, 개발, 고객 평가의 네 단계를 반복하는 점진적 모델이다. 위험 분석을 강조해 대규모 프로젝트에 적합하지만 관리가 복잡하고 비용이 높다.
- 팬인과 팬아웃
- 팬인은 특정 모듈을 호출하는 상위 모듈의 수, 팬아웃은 특정 모듈이 호출하는 하위 모듈의 수다. 팬인이 높으면 재사용성이 좋고, 팬아웃이 높으면 관리와 제어가 복잡해진다.
- HRN 스케줄링 우선순위
- 비선점 스케줄링으로 우선순위 =(대기 시간+서비스 시간)/서비스 시간으로 계산한다. 값이 클수록 먼저 실행되어 SJF의 기아 문제를 완화하고 평균 응답 시간을 개선한다.
- 교착상태 4조건
- 상호 배제, 점유와 대기, 비선점, 환형 대기의 네 조건이 모두 성립할 때 교착상태가 발생한다. 예방은 조건 중 하나를 부정하고, 회피는 은행가 알고리즘으로 안전 상태를 유지한다.
- 페이지 교체 알고리즘
- 페이지 부재 시 교체 대상을 정하는 기법이다. FIFO는 벨레이디 모순으로 성능이 나빠질 수 있고, LRU는 최근 사용 시각, LFU는 참조 횟수, OPT는 미래 참조를 기준으로 한다.