-
면접 예상 질문IT 정보 기술/etc 2020. 1. 13. 02:06
1.MVC 가 무엇인지 설명 해 주실 수 있을까요?
- 객체지향 프로그래밍에서, MVC란 사용자의 인터페이스를 성공적이며 효과적으로 데이터 모형에서 관련시키기 위한 방법론 또는 설계방식중 하나이다.
Model - 소프트웨어 응용과 그와 관련된 고급 클래스 내의 논리적 데이터 기반 구조를 표현,
이 목적 모형은 사용자 인터페이스에 관한 어떠한 정보도 가지고 있지않다.
View - 사용자 인터페이스 내의 구성요소글을 표현(사용자에게 보여지는 화면, 인터페이스)
Controller - Model 과 View를 연결하고 있는 클래스를 대표 , Model 과 View 내의 클래스들 간 정보 교환하는데 사용
2.DAO 패턴이 무엇인가요?
DAO(Data Access Object)는 DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트를 말한다.
사용자는 자신이 필요한 Interface를 DAO에 던지고 DAO는 이 인터페이스를 구현한 객체를 사용자에게 편리하게 사용할 수 있도록 반환 해 줍니다.
3.JDBC
Java Data Base Connection의 약자로 JAVA언어를 통해 데이터베이스에 접근 할 수 있는 프로그래밍을 의미
4. Servlet 과 JSP의 차이
Servlet - Contrainer가 이해할 수 있게 구성된 순수 자바 코드로만 이루어 진것(Html in Java : 컴파일 필요함)
JSP(Java Server Page) - html 기반에 Java코드를 블록화 하여 삽입 한 것 (Java In Html : 컴파일이 불 필요 함, html 기반의 Java코드가 들어갔기 때문이다.)
5.Overloading 과 Overriding의 차이
Overloading(오버로딩)
- 같은 이름의 메소드를 여러개 정의하는것
- 매개변수의 타입이 다르거나 개수가 달라야 한다.
Overriding(오버라이딩)
- 상속에서 나온개념
- 상위 클래스(부모클래스)의 메소드를 하위 클래스(자식클래스) 에서 재정의 하는 것을 말한다.
6.가비지 컬렉션이란?
정리 되지 않은 메모리, 유효하지 않은 메모리 주소인 가비지를 정리 해 주는 프로그램
7. Java의 메모리 영역
메소드 영역 / 스텍 영역 / 힙영역
(메소드) 바이트 코드와 전역변수, static 변수
(스텍) 매개변수, 지역변수 / 사용이 끝나면 바로 소멸됨. 컴파일 시 메모리 할당
(힙) new로 생성된 객체, 호출이 끝나도 사라지지 않으며 프로그램 실행 시 동적으로 할당
8.추상클래스와 인터페이스 차이
*추상클래스 : 클래스 내 추상메소드 하나 이상 포함되거나 abstract로 정의된 경우,
그 추상클래스를 상속받아서 기능을 이용하고 확장하도록 함(extends)
*인터페이스 : 모든 메소드가 추상메소드인경우, 여러 개 implements가 가능하므로 다중 상속 구현 가능
함수의 껍데기만 있는 뼈대의 의미, 구현하는 모든 클래스에 대해 그함수의 구현을 강제적으로 하도록 함
9.객체지향의 특징
*폴리모피즘
하나의 메소드나 클래스가 다양한 방법으로 동작하는것
ex) 오버로딩과 오버라이딩
상속을 통해 기능을 확장하거나 변경하는것을 가능하게 해 주고, 같은 클래스 내의 코드 길이를 줄여줌
*상속
공통적으로 필요한 성격을 사장 기본적인 클래스로 정의 해두고, 상속받아 사용 , 중복최소화
*캡슐화
public, protected, private라는 접근 지정자를 통해 클래스 에 담는 내용 중 중요한 데이터나 기능을 외부에서 접근하지 못하도록함.
객체 외부에서는 내부정보를 직접 접근하거나 조작할 수 없음, getter 와 setter를 통해서만 접근 가능
.DBMS란?
DBMS(Datavase Managerment System)의 축약으로
사용자의 접근등으로 부터 데이터 안전하게 보호하고 관리하는 소프트웨어 패키지
데이터베이스관리, 효율적인 데이터 관리 , 데이터 완전성, 데이터 접근제어
10. 링크드 리스트, 배열의 차이점
*배열 : 인덱스를 가짐, 원하는 데이터를 한번에 접근하여 접근속도가 빠름 , 크기변경 불가
데이터를 삽입, 삭제 후 그 위치의 다음 위치부터 모든 데이터의 위치를 변경해야하는 단점
*연결리스트 : 인덱스 대신 현재 위치의 이전 / 다음위치를 기억 . 크기가 가변적
한번에 접근 불가, 연결되어있는 링크를 따라가야 접근 가능하여 배열에 비해 속도가 떨어짐
데이터 삽입 / 삭제는 논리적 주소만 바꿔주기 때문에 용이함
=> 데이터 양이 많지만 삽입/삭제 없으며, 데이터 접근이 빈번할 때 (배열 추천)
데이터 양이 적고, 삽입/삭제가 빈번할 때 (링크드리스트 추천)
ArrayList<>란
: 배열의 확장판. 배열의 크기를 임의적으로 변화시킬 수 있음, list에 들어갈 데이터 타입 설정 가능
(add, remove, isEmpty, size, get, indexOf 등의 메소드가 있음)
Java와 JavaScript의 차이는?
: (Java) 객체지향 프로그래밍 언어로 시스템 개발, 안드로이드용 어플리케이션 개발에 사용
(JavaScript) 사용자와 웹사이트가 상호작용하는데 도움을 주는 스크립트 언어, 사용자가 어떠한 액션을 취했을 때 다른 페이지 열지 않고 변화된 결과를 즉각적으로 보여줌. 페이지의 동적 제어.
=> node.js를 통해 서버상에서도 javascript 사용할 수 있게 됨. 컴파일 필요없고 바로 실행
Node.js는 http서버 라이브러리를 포함하고있어서 웹서버에서 아파치 등 별도 소프트웨어 없이 동작
Oracle Sequence
: UNIQUE한 값을 생성해주는 오라클 객체, 시퀀스를 생성하면 PK와 같이 순차적으로 증가하는 컬럼을 자동으로 생성할 수 있음.
(생성) CREATE SEQUENCE 시퀀스이름
START WITH n
INCREMENT BY n …
(수정) ALTER SEQUENCE 시퀀스이름 (START WITH은 수정 불가능)
(삭제)DROP SEQUENCE 시퀀스 이름
DB정규화란?
: 중복을 최대한 줄여 데이터를 구조화 하여 불필요한 데이터를 제거하고 데이터를 논리적으로 저장함으로써이상 현상이 일어나지 않도록 하는 것입니다.
DB 무결성이란?
: (개체) 테이블에있는 모든 행들이 유일한 식별자를 가질 것을 요구. 같은 값X
(참조) 외래키 값은 NULL이거나 참조테이블의 PK값이여함
(영역) 한 컬럼에 대해 NULL허용 여부와 자료형, 규칙으로 타당한 데이터 값을 지정
프레임워크란?
: 개발할 때 설계 기본이 되는 뼈대나 구조, 환경
ERP란?
: 기업 자원 관리(Enterprise Resource Planning) 기업 전체의 인적, 물적 자원을 효과적이며 통합적으로 관리하며 경영의 효율화와 기업 경쟁력을 강화하는 솔루션입니다. 생산, 판매, 인사, 회계 등 기업의 전반적인 업무 프로세스를 하나의 체계로 구축하며 정보를 공유하고 신속한 업무처리를 도와주는 시스템.
'IT 정보 기술 > etc' 카테고리의 다른 글
이클립스 단축키 꿀팁 (0) 2020.01.05