2020년 1회
*XML(eXtensible Markup Language)
*JSON(JavaScript Object Notation)
*머릿말(Header)
(코드) *JAVA언어 실행결과
*결합도(Coupling), 응집도(Cohesion)
*트랜잭션의 특징(ACID)
-원자성: 트랜잭션의 연산은 데이터베이스에 모두 반영되고 완료되든지 아니면 전혀 반영되지 않도록 복구되어야 한다 (All or Nothing)
-일관성: 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
-독립성: 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다.
-지속성: 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다
*애플리케이션 성능 측정 지표
-처리량(Throughput): 일정 시간 내에 애플리케이션이 처리하는 일의 양
-응답 시간(Response Time): 애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간
-경과시간(Turn Around Time): 애플리케이션에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
-자원 활용률: 애플리케이션이 의뢰한 작업을 처리하는 동안의 CPU, 메모리, 네트워크 등의 자원 사용률
*데이터베이스에서 비정규화: 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로, 의도적으로 정규화 원칙을 위배하는 행위
*LOC 기법에 따른 개발소요기간 계산
개발기간 = 노력(인원) / 투입 인원
노력(인원) = LOC(총 라인 수) / 1인당 월평균 생산 코드 라인 수
*MD5(Message-Digest algorithm 5): 각 512비트 입력 메시지 블록을 처리하고 나면 128 비트 스테이트의 값이 변화하는 암호화 알고리즘
*프로토콜의 기본 요소 3가지: 구문(Syntax), 의미(Semantics), 시간(Timing)
*LAND Attack(Local Area Network Denial Attack): 자신에 대해 무한히 응답하는 패킷을 계속 전송하여 컴퓨터의 실행 속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 네트워크 공격 유형
*살충제 패러독스: 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결합이 발견되지 않는 현상
*네트워크 OSI 7계층
*팬인: 모듈로 들어오는 선의 수
(코드) *switch문 실행 결과
(코드) *SQL 실행 결과
*데이터 마이닝: 데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 기법
*HRN 비선점형 스케줄링 우선순위 계산식: (대기 시간 + 서비스 시간) / 서비스 시간
(코드) *C언어 실행결과
2020년 2회
*RTO(RecoveryTime Objective, 목표 복구 시간): 재해 복구 목표 시간
(코드) *Python set add, remove, update 실행결과
*AJAX(AsynchronousJavaScriptandXML): 비동기 통신기법
*애자일(Agile): 워터폴에 대비되는 방법론으로 최근 회사에서 각광받는 방법론
(코드) *JAVA new
(코드) *SQL IN 함수 사용
*트랜잭션 Rollback: 트랜잭션 처리 중 오류가 발생했을 때, 오류 이전의 특정 시점 상태로 되돌려주는 제어어(명령어)
*IPSec(Internet Protocol Security): 무결성과 인증을 보장하는 인증헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 IP 보안 프로토콜
*정적 분석 도구: 테스트 자동화 도구 유형 설명
*Observer Pattern: 객체의 상태가 변하면 이 객체에 연결된 모든 다른 객체들에 알림이 가고 업데이트 할 수 있는 디자인패턴. 느슨한 결합과 관련된 디자인패턴, 일대다, 일부 객체가 변경되면 다른 부분이 이를 인지하여 변화 (영문 full name 기입)
*안드로이드: Linux 위에서 구동하며 휴대 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트 등)을 포함하고 있는 자바 및 코틀린을 사용하여 개발하는 운영체제
(코드) *sql create index on
*SOAP(Simple Object Access Protocol): HTTP, HTTPS, SMTP를 통해서 XML 기반의 데이터를 주고 받는 프로토콜. Envelop, Header, Body로 구성됨
*SQL Injection: 응용프로그램의 보안 취약점을 이용해서 악의적인 SQL 구문을 삽입, 실행시켜서 데이터베이스의 접근을 통해 정보를 탈취하거나 조작 등의 행위를 하는 공격기법
*유효?성: UI 설계 원칙에서 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작하는 원칙
*chmod 751 a.txt : 사용자에게는 읽기/쓰기/실행, 그룹에게는 읽기/실행, 기타에는 실행 권한을 a.txt에 부여하는 명령어
*Linked Open Data: linked data와 open data가 결합된 용어
*요구사항 분석 > 개념적 설계 > 논맂거 설계 > 물리적 설계 > 구현
(코드) JAVA super 키워드
*형상관리: 소프트웨어 개발 과정에서 변경 사항을 관리하는 기법. CVS, SVN, Git 등이 있음
2020년 3회
*리팩토링의 목적: 소프트웨어를 보다 이해하기 쉽고 수정하기 쉽도록 만드는 것. 결과의 변경 없이 코드의 구조를 재조정하는 것으로 가독성을 높이고 유지보수를 쉽게 하기 위한 목적
*OSPF
*프로토콜
*형상통제: 형상 항목의 버전 관리를 위해서 변경 여부와 변경활동을 통ㅈ하는 활동
*ICMP
*헝가리안 표기법: 프로그래밍 언어에서 변수 및 함수의 인자 이름 앞에 데이터 타입을 명시하는 코딩 규칙
*블랙박스 테스트: 동치 분할 테스트, 경계값 테스트 등의 종류가 있는 것
*DB의 스키마: 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합
(코드) *JAVA 실행결과
*EAI 유형: Point to Point, Hub&Spoke
*UI에서 직관성: 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 하고 쉬운 검색, 쉬운 사용성, 일관성의 부특성을 가지고 있는 UI 설계 원칙
*C++에서 생성자: 객체 초기화 함수. 객체 생성 시 자동호출되는 메소드로 초기화 용도로 주로 사용됨
(코드) *DB에 컬럼 추가: ALTER, ADD
2020년 4, 5회
*IPV6: IPV4의 확장형, 128비트 16비트씩 :으로 구분
*디자인 패턴 3가지: 생성, 구조, 행위
*패키지 다이어그램: <<import>> order 점선 화살표 있는 UML 다이어그램
*즉시갱신 기법: 데이터베이스 회복 기법 중 rollback 시 redo, undo가 모두 실행되는 트랜잭션 처리법. 트랜잭션 수행 중에 갱신 결과를 DB에 즉시 반영. 데이터를 변경하면 로그 파일로 저장. 모든 내용 수정 시 즉시 데이터베이스에 반영
(코드) *(JAVA) 2진수 변환 코드 채워넣기
(코드) *JAVA 코드 채워넣기
*스니핑(Sniffing): 공격대상에게 직접 공격을 하지 않고 데이터만 몰래 들여다보는 수동적 공격기법
*NAT(Network Address Transformation): 네트워크 주소 변환
(코드) *Python 채워넣기
*블록체인(Block Chain): 온라인 금융 거래 정보를 블록으로 연결하여 P2P 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자들의 개인 디지털 장비에 분산, 저장시켜 공동으로 관리하는 방식
*하둡(Hadoop): 대량의 자료를 처리할 수 있는 대형 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 오픈소스 자바 소프트에어 프레임워크
*데이터베이스 이상현상 종류 3가지: 삽입이상, 갱신이상, 삭제이상
*프로세스 상태 전이도
생성 - 준비(Ready) - Dispatch --> 실행(Run) -- 종료
<---- timeout -----
wake up I/O
<------------------- 대기(Wait)
*샘플링 오라클: 전수테스트 불가한 경우 사용, 예상값 오라클, 경계값, 구간별 예상 값 결과 작성 사용
*동치분할테스트: 0~60구간, 60~70구간, 70~80구간, 80~90구간, 90~100구간 이렇게 표를 주고 테스트에 넣을 값 각 구간마다 하나씩 제시함. 값은 정확히 기억 안 나는데 55점, 65점, 78점, 85점, 95점 이런 식으로
(코드) *SQL 코드 작성
*유닉스(Unix): 미국 벨 연구소 켄 톰슨과 데니스 리치가 1960년대에 만든 운영체제. 거의 C언어로 구현. 구조적 파일 시스템. 시스템의 파일이 하나의 트리 구조
(코드) *C 포인터 실행결과
(코드) *JAVA 상속 실행결과
*정보 보안에서 '가용성(Availability)': 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속적으로 사용할 수 있도록 보장하는 특성
2021년 1회
*RARP: MAC 주소에 해당하는 IP주소를 알아오는 프로토콜/ 역순 주소 결정 프로토콜.
*DB 설계 절차
-물리적 설계 ~~ 결과로 나오는 명세서는 테이블 정의서 등이 있음
-개념적 설계 ~~ E-R 다이어그램이 나옴
-논리적 설계 ~~ 과정에서 정규화 과정을 수행함
*WSDL: 웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보가 기술된 XML 형식으로 구현되어 있는 언어
*요구사항 종류
-기능적 요구사항
-비기능적 요구사항
(코드) *Python 실행 결과
(코드) *SQL 실행 결과
(코드) *JAVA 실행결과
*반정규화: 성능의 향상을 위해 중복, 통합 등을 허락하는 것
*블랙박스기법 2가지
-경계값 분석 테스트: 0<=x<=10 이면 -1, 0, 10, 11 검사
-동등분할 테스트: 유효값, 무효값 나누어서 검사
*테스트 종류
-단위테스트 ~~ 개별
-통합테스트 ~~ 인터페이스 간 시스템이 정상적으로 실행되는지 확인
*IPV4, IPV6
-IPV6는 128비트 길이를 가진다
-IPV4는 길이 32비트이며, 8비트씩 4분할 한다. e.g. 212.24.42.23
*IPC(Inter-Process Communication): 공유메모리 소켓 세마포어 '메서드' ???
*EAI(Enterprise Application Integration): 애플리케이션 간 ~ 시스템 통합 연계~~ pointtopoint, hub&spoke, mesagebus
*테이블 주어지고 Cardinality, Degree 구하기
(코드) *C 구조체 문제
*데이터 모델 구성 요소 3가지에 대한 설명 - 연산, 구조 (?)
1) 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구이다
2) 개체 데이터 모델에서는 ( )을 ~나타내는데 논리적인 데이터 모델에서는 ()를 어떻게 나타낼 것인지~~
3) = 제약조건 명시되어 있음
*DAC(Discretionary Access Control, 임의적 접근통제): 시스템 객체의 접근을 개인 또는 그룹의 식별자에 기반한 방법. 어떤 종류의 접근 권한을 가진 사용자가 다른 사용자에 자신의 판단에 따라 권한을 허용하는 접근제어 방식
(코드) *JAVA 실행결과
*결합도
-내용 결합도: 다른 모듈 내부에 있는 변수나 기능을 모듈에서 사용하는 경우
-공통 결합도: 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우
-외부 결합도: 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우
-제어 결합도: 단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우
-스탬프 결합도: 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우
-자료 결합도: 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어나는 경우
*세션 하이재킹: '세션을 가로채다'라는 의미로, 정상적 연결을 RST 패킷을 통해 종료시킨 후 재연결시 희생자가 아닌 공격자에게 연결
-참고문헌
https://cafe.naver.com/soojebi/20009
https://cafe.naver.com/soojebi/37520
https://cafe.naver.com/soojebi/66574
'Computer Science' 카테고리의 다른 글
[정보처리기사 실기] 4. 서버 프로그램 구현 (0) | 2021.07.15 |
---|---|
[정보처리기사 실기] 12. 제품소프트웨어 패키징 (0) | 2021.07.13 |
2021년 2회차 정보처리기사 실기 문제/답안 복기 (2021.07.10 시행) (0) | 2021.07.10 |
[git] pull request 하는 방식 2가지: write 권한이 있을 때 / 없을 때 (0) | 2021.06.09 |
CS & AI 기술 면접 질문들과 답변들 (21.06.10 updated) (0) | 2021.01.31 |