asdfsdaaf

면접 준비

2020. 1. 27. 20:45

JAVA의 특징

  • 자바가상머신만 설치하면 컴퓨터의 운영체제에 상관없이 작동한다.
  • 기본 자료형을 제외한 모든 요소들이 객체로 표현
  • 캡슐화, 상속, 다형성이 잘 적용된 언어
  • GC를 통한 자동적인 메모리 관리
  • 멀티쓰레드를 지원

 

OOP의 특징

  • 객체지향 프로그래밍은 코드의 재사용성이 높다.
  • 코드의 변경이 용이
  • 직관적인 코드 분석
  • 개발속도 향상
  • 상속을 통한 장점 극대화

 

오버로딩, 오버라이딩

  • 오버로딩이란 같은 이름이 메소드를 여러개 정의하는 것, 매개 변수의 타입이 다르거나 개수가 달라야 한다.
  • 오버라이딩이란 상위 클래스의 메소드를 하위 클래스에서 재정의

 

Servlet, JSP

  • Servlet이란 Container가 이해할 수 있게 구성된 순수 자바 코드로만 이루어진 것 (HTML in JAVA)
  • JSP란 html 기반에 JAVA코드를 블록화하여 삽입한 것(JAVA in HTML)

 

JDBC

  • 자바 언어를 통해 데이터 베이스에 접근하는 방법을 통일한 방법

 

Get방식, Post 방식

Get은 Idempotent, POST는 Non-Idempotent하게 설계되었습니다.

Idempotent(멱등)이란 수학이나 전산학에서 연산의 한 성질을 나타내는 것으로 여러 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질

  • Get

    • 주소 뒤에 '이름'과 '값'이 결합된 스트링 형태로 전달
    • 주소창에 쿼리스트링이 그대로 보여지기 때문에 보안성이 떨어진다.
    • 길이에 제한이 있다.
    • Post 방식보다 상대적으로 전송 속도가 빠르다.
  • Post

    • 일정 크기 이상의 데이터를 보내야 할 때 사용한다.
    • 주소창에 전송하는 데이터의 정보가 노출되지 않아 Get방식에 비해 보안성이 높다.
    • 속도가 Get 방식보다 느리다.
    • 쿼리스트링 데이터 뿐만 아니라, 라디오 버튼, 텍스트 박스 같은 객체들의 값도 전송가능

 

Session, Cookie

http 프로토콜은 연결 지향적인 성격을 버렸기 때문에 새로운 페이지를 요청할 때마다 새로운 접속이 이루어지며 이전 페이지와 현재 페이지간의 관계가 지속되지 않는다. 이를 보충하기 위해 Cookie와 Session을 이용한다.

  • Session
    • 특정 웹사이트에서 사용자가 머무르는 기간 또는 한 명의 사용자의 한번의 방문을 의미한다.
    • 웹 브라우저에 캐시에 저장되어 브라우저가 닫히거나 서버에서 삭제시 사라진다.
    • Cookie에 비해 보안성이 좋다.
  • Cookie 인터넷 사용자가 특정 웹서버에 접속할 때, 생성되는 개인 아이디와 비밀번호, 방문한 사이트의 정보를 담은 임시 파일이 생성된다.

Q. 보안성이 낮은 Cookie 대신 Session을 사용하면 되는데 안하는 이유?
A. 모든 정보를 Session에 저장하면 Server의 메모리를 과도하게 사용하게 되어 Server에 무리가 감

 

인터페이스와 추상 클래스

  • Interface

    • 추상메서드와 상수만을 멤버로 갖는다.
    • implements 키워드를 사용
    • 구현을 통일시켜 주는 장점이 있다.
  • Abstract

    • 추상 메서드를 하나 이상 가진 클래스
    • 자신의 생성자로 객체 생성 불가능
  • 공통점

    • new 연산자로 인스턴스 생성 불가능
    • 프로토타입만 있는 메서드를 갖는다.
    • 사용하기 위해서는 하위클래스에서 확장/구현해야한다.
  • 차이점

    • Abstract는 일반 메서드를 사용할 수 있지만, Interface는 메서드 선언만 가능하다.

 

Call by Reference, Call by Value

  • 자바는 전부 call by value

 

static의 의미

  • 클래스가 로딩될 때 메모리에 적재

 

GC

  • 시스템에서 더이상 사용하지 않는 동적 할당 된 메모리 블럭을 찾아 자동으로 다시 사용 가능한 자원으로 회수하는 것

 

Thread

  • 프로세스 내에서 동시에 실행되는 독립적인 실행 단위를 말함, 장점으로는 자원을 많이 사용하지 않고 구현이 쉬우며 범용성이 높다.
  • 장점
    • 적은 메모리 사용
    • 쉬운 정보 공유
  • 단점
    • 교착상태에 빠질 수 있다.

 

TCP와 UDP

  • TCP
    • 연결형 서비스 제공
    • 높은 신뢰성 보장
  • UDP

    • TCP보다 하는 게 적으니 비연결형 서비스 제공, 전송속도 빠름

 

자료구조

  • 선형 자료 구조
    • Array
      • 삽입, 삭제 : O(N) 
      • 탐색 : O(1)
    • LinkedList
      • 삽입, 삭제 : O(1)
      • 탐색 : O(N)
    • Stack
      • 후입선출의 자료구조

  • Queue
    • 선입선출의 자료구조

 

  • 비선형 자료구조
    • Tree
    • Graph

 

Database의 Index

  • 데이터베이스에서 테이블에 대한 동작 속도를 높여주는 자료구조를 일컫는다.
  • 고속의 검색 동작
  • 레코드 접근과 관련된 효율적인 순서 매김 동작에 대한 기초를 제공한다.
  • 테이블에 대한 인덱스는 3개까지가 적당하다.
      •  

 

'기타' 카테고리의 다른 글

DB 환경 설정하기  (0) 2020.01.30
Spring 환경 설정하기  (0) 2020.01.29
알고리즘용 치팅시트  (0) 2018.12.20
PrepareStatement vs Statement  (0) 2018.08.14
Merge Sort  (0) 2018.07.13

공유하기

facebook twitter kakaoTalk kakaostory naver band