※ 나왔던 문제에서 변형되어 나올거같아서 내맘대로 정리함. 안나올 수도 있음 ※
1번 문제 : 리팩토링 목적을 묻는 문제
* 리팩토링의 정의와 목적을 같이 알아두자
1) 리팩토링 정의 : 프로그램 동작은 변경하지 않고 프로그램 내부구조를 개선
2) 리팩토링 목적 : 프로그램을 쉽게 이해하고 수정하여 빠르게 개발할 수 있도록 하기 위한것이다.
2번 문제 : JAVA 실행결과에 대해 묻는 문제
* main메서드는 JAVA 구현 프로그램이 시작될 때 가장 먼저 실행되는 메서드이다.
3번 문제 : SQL DML 중 DELETE문 작성하는 문제
* 필수 알아야할 DML, DDL 숙지할 것
1) CREATE TABLE 테이블명 (속성명 데이터타입) ...
2) INSERT INTO 테이블명(속성1,속성2) VALUES(값1,값2)
3) DELETE FROM 테이블명 WHERE 삭제할조건 ...
4) UPDATE 테이블명 SET 컬럼명 = 값 WHERE 수정할조건 ...
5) SELECT 속성1, 속성2, ... FROM 테이블명 WHERE 조건 ...
6) CREATE VIEW 뷰테이블명 (속성1, 속성2) AS SELECT 속성1, 속성2 FROM 테이블명
4번 문제 : ICMP를 묻는 문제
* ICMP는 TCP/IP의 인터넷계층 프로토콜 중 하나이다. TCP/IP 계층 프로토콜을 숙지할 것(키워드 중심으로만 정리함)
1) TCP/IP 응용계층 프로토콜
(1) FTP : 원격파일 전송
(2) SMTP : 전자우편(메일)
(3) TELNET : 원격(멀리떨어져 있는 컴퓨터)
(4) SNMP : TCP/IP 네트워크관리
(5) DNS : 도메인네임 IP주소로 매핑 시스템
(6) HTTP : HTML 송수신
2) TCP/IP 전송계층 프로토콜
(1) TCP : 신뢰성, 양방향, 순서ㆍ요류ㆍ흐름제어
(2) UDP : 비연결형, 빠른속도(속도중시)
(3) RTCP : 패킷의 다중화, 32비트
3) TCP/IP 인터넷계층 프로토콜
(1) IP : 비연결형, 속도중시
(2) ICMP : 제어메세지관리, IP와 조합
(3) IGMP : 멀티캐스트 그룹유지를 위해 사용
(4) ARP : IP주소를 물리적 주소 (MAC Address)
(5) RARP : APR반대, 물리적주소를 IP주소로
4) TCP/IP 네트워크액세스 프로토콜
(1) Ethernet(IEEE 802.3) : CSMA/CD
(2) IEEE802 : LAN을 위함
(3) HDLC : 비트
(4) X.25 : 패킷교환망
(5) RS-232 : 공중 전화교환망,전화선
5번 문제 : 데이터베이스의 스키마에 대해 서술하는 문제
* 정의에 구조와 제약조건이 키워드
답 : 스키마는 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것이다.
6번 문제 : 프로토콜에 대한 내용을 제시하고 정의를 묻는 문제
* 정의와 프로토콜의 3요소 암기
1) 정의 : 컴퓨터가 메세지를 전달하고, 메세지가 제대로 도착했는지 확인하여, 도착하지 않은 경우 메세지 재전송
2) 프로토콜의 3요소 : 구문,의미,타이밍
7번 문제 : 관계대수 연산자 기호를 묻는 문제
* 관계대수 정의와 각 연산자에 대해 확인하기
1) 관계대수 정의 : 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해 어떻게 유도하는가를 기술하는 절차적인 단어
2) 종류
(1) 순수관계 연산자(#셀프로디)
① SELECT : δ : 조건 만족하는 튜플 집합
② PROJECT : π : 속성 부분 집합, 중복제거
③ JOIN : ▷◁ : 두 릴레이션의 공통 속성으로 두 릴레이션을 하나로 합쳐 새로운 릴레이션 만듦
④ Division : ÷ : R릴레이션에서 S릴레이션의 속성 도메인 값과 일치하는 R릴레이션의 튜플을 찾아냄
(2) 일반집합 연산자(#합교차카)
① Union : ∪ : 합추출, 중복제거
② Intersection : ∩ : 중복 값 추출
③ Difference : - : 중복 안되는 것만 추출
④ Cartesian Product : X : 두릴레이션 가능한 모든 튜플 집합
8번 문제 : 화이트박스 테스트 분기 커버리지 경로 순서 묻는 질문
* 분기 커버리지는 ①yes쪽으로만 이동한다. ②no쪽으로만 이동한다.
9번 문제 : SQL문에서 group by 와 having절 사용하면 SELECT문을 작성하는 문제
* GROUP BY ~ HAVING은 짝궁이다.
* GROUP BY : 특정 속성을 묶는다고 생각하면 됨
* HAVING : GROUP BY의 조건절
예시 :
SELECT 과목, MAX(점수)
FROM 성적
GROUP BY 과목
HAVING AVG(점수) >= 90
=> MAX는 그룹함수이므로 점수는 그룹이 지어져있는데 GROUP BY에서는 임의로(?)그룹을 지어주니 SELECT에서 과목은 그룹함수를 사용하지 않아도 가능.
10번 문제 : C언어 함수 호출 및 리턴값 계산문제
11번 문제 : JAVA의 상속, 객체생성, 다형성관련 문제
* Class명과 Class안 메서드 명이 같으면 생성자 메서드다
* 상속받은 부모를 부를때 'super.대상명'으로 부른다
* 객체 생성을 위해 생성자 호출 키워드는 'new'다
* 인터페이스 키워드 : interface 인터페이스명 implements
* 클래스 안에 abstract 키워드 있으면 해당클래스는 추상클래스로 abstract class { } 가 되어야함
* Python에서는 메서드 정의시 'def 메서드명' 형태로 써야함
* 오버라이딩/오버로딩 정의 (서술 나올수도)
1) 오버라이딩 : 상속관계에서 하위클래스가 상위클래스의 메서드를 재정의하여 사용하는 것
2) 오버로딩 : 메서드 이름은 같지만 파라미터타입, 개수에 따라 여서 메서드 정의하는 것
12번 문제 : 형상통제에 대해 서술하는 문제
* 형상통제는 형상관리 기능 중 하나이다. 형상관리 기능에 대해 알기
1) 형상관리 정의 : 소프트웨어 개발과정에서 소프트웨어 변경 사항을 관리하기위해 개발된 일련의 활동.
2) 형상관리 기능
(1) 형상식별 : 관리 대상에 이름과 관리번호부여
(2) 비전제어 : 다른 버전 형상항목 관리. 특정 절차와 도구 결합시키는 작업.
(3) 형상통제(변경관리) : 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선이 잘 반영될 수 있도록 조정하는 작업
(4) 형상감사 : 기준선의 무결성을 평가하기 위해 확인,검증,검열 과정을 통해 공식적으로 승인하는 작업
(5) 형상기록(상태보고) : 형상의 식별, 통제, 감사작업의 결과를 기록, 관리하고 보고서 작성하는 작업
13번 문제 : 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트로, 동치 클래스 분해 및 경계값 분석을 이용하는 테스트 기법은?
답 : 블랙박스 테스트
* 화이트박스 테스트와 블랙박스 테스트 정의와 종류 알기
1) 화이트박스 테스트
(1) 정의 : 모듈의 원시코드를 오픈시킨 상태에서 원시코드의 논리적인 모든 경로를 테스트하여 테스트케이스를 설계하는 방법(화이트라서 다보인다. 소스코드까지 모듈안 볼 수 있다)
(2) 종류 : 기초경로검사, 제어구조검사
2) 블랙박스 테스트
(1) 정의 : 소프트웨어가 수행할 특정 기능을 알기위해 각 기능이 완전히 작동되는 것을 입증하는 테스트 기법(블랙이라깜깜해서 안에를 볼 수 없다)
(2) 종류 : 동치분할검사, 경계값 분석
14번 문제 : 헝가리안 기법 서술
답 : 변수명 작성시 자료형 알 수 있도록 의미하는 문자 포함
* 헝가리안 기법은 안쓴다는데 왜나온건지 알수없음.. 이외 변수명 작성 규칙 한번 훑기
1) 카멜 표기법(camel case) : 단어가 여러개일 때 앞단어는 소문자 그외에 단어 첫글자는 전부 대문자
ex) computerStudy
2) 파스칼표기법(pascal case) : 모든 단어 앞글자 대문자
ex) ComputerStudy
3) 스네이크표기법(snake case) , 팟홀 표기법(pothole case) : 모든 단어 소문자, 단어들 조합시(_) 언더바로 연결
ex) computer_study
15번 문제 : JAVA 실행결과 묻는 문제
* 코드가 어려운게 아닌데 나머지하는 법을 잊어버림.. 1%10=1 , 10000%1200000=10000이다. 못나누는건 나누는 대상이 나머지값임ㅠㅠ
16번문제 : 라우팅 프로토콜 중 OSPF 묻는 문제
* 라우팅 정의랑 라우팅 대표적 프로토콜 보자
1) 정의 : 송수신측 간의 전송 경로 중에서 최적 패킷 교환 경로를 결정하는 기능을 가짐
2) 라우팅 대표 프로토콜들
(1) RIP : 현재 가장 알려진 라우팅 프로토콜. 소규모 동종 네트워크 내에서 효율적임
(2) IGRP : RIP 단점 보완. 네트워크상태 고려해줌. 중규모 네트워크에 적합
(3) OSPF : 대규모 네트워크에서 사용. 라우팅 정보에 변화가 생길 경우 변화된 정보만 네트워크 내 모든 라우터에게 알린다.
(4) BGP : 자율시스템 간 라우팅 프로토콜. EGP의 단점 보완.
17번 문제 : EAI 구축 유형에 대해 묻는 문제
* EAI 정의랑 구축유형에 대하여 알기
1) 정의 : 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계 통합 등 상호 연동이 가능하게 해주는 솔루션
2) 구축유형 :
(1) Point-to-Point : 가장 기본방식. 1:1연결. 변경 및 재사용 어렵
(2) Hub & Spoke : 단일 접점인 허브시스템을 통해 데이터를 전송하는 중앙집중형방식. 확장 및 유지보수 용이. 허브 장애 발생시 시스템 전체 영향
(3) Message Bus(ESB방식) : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식. 확장성이 뛰어나며 대용량 처리 가능.
(4) Hybrid : Hub & Spoke와 Message Bus의 혼합방식. 그룹 내에서 Hub & Spoke방식을 사용하고 그룹간에는 Message Bus방식을사용.병목현상 최소화.
18번 문제 : UI설계원칙 중 직관성에 대한 서술을 요하는 문제
* 설계원칙 4가지 알아두기
1) 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야한다.
2) 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야함
3) 학습성 : 누구나 쉽게 배우고 익힐 수 있어야함
4) 유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화 해야한다.
cf. 이 문제랑 관련없지만 알아둬야할 것. [웹3요소:웹표준,웹접근성,웹호환성/보안3요소:무결성,기밀성,가용성]
19번 문제 : 생성자에 대한 서술
답 : 객체 변수 생성에 사용되는 메소드로 객체변수를 생성하면서 초기화를 수행
20번 문제 : 속성 추가하는 SQL문 작성
* ALTER TABLE 테이블명 ADD 컬럼명 데이터타입