[기술면접] 삽입정렬, 쿠키와 세션, MAP
업데이트:
삽입 정렬
삽입 정렬은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다. 배열이 길어질수록 효율이 떨어지지만, 구현이 간단하다는 장점이 있다. 선택 정렬이나 버블 정렬과 같은 알고리즘에 비하면 빠르다.
쿠키와 세션
쿠키
쿠키는 클라이언트 측 로컬에서 관리되는 작은 기록 정보 파일이다. 이 데이터는 Key와 Vaule로 이루어져있으며, 쿠키에는 사용자 인증이 유효한 시간을 명시할 수 있다. 한 번 유효 시간이 정해지면 브라우저를 끄더라도 인증이 된다는 특징이 있다.
세션
세션은 쿠키를 기반으로 하고 있지만, 사용자 정보 파일을 서버측에서 관리한다. 클라이언트를 구분하기 위해서 세션 ID를 부여하고, 세션 ID로 클라이언트를 구분해서 그에 맞는 서비스를 제공하낟. 세션은 웹 브라우저가 서버에 접속해서 브라우저를 종료할 때까지 인증 상태를 유지하며 접속 시간에 제한을 두어 일정 시간 응답이 없으면 세션이 끊어지도록 설정이 가능하다. 사용자에 대한 정보를 서버에 저장하기 때문에 쿠키보다 보안이 좋지만, 사용자가 많아질 수록 서버 메모리를 많이 차지하게 된다.
MAP
MAP은 Key와 Value로 구성된 객체를 저장하는 구조를 가지고 있다. 키는 중복될 수 없지만, 값은 중복 저장될 수 있다. Map에는 HashMap, TreeMap, LinkedHashMap이 있다.
HashMap은 가장 일반적으로 사용하는 Map이며 Key와 Value의 타입은 기본 타입을 사용할 수 없고, 클래스 및 인터페이스 타입만 사용이 가능하다. 중복을 허용하지 않으며 순서가 없다는 것이 특징이다.
TreeMap은 Red-Black Tree 자료구조를 이용한 Map이고, Tree 구조이기 때문에 어느정도 순서를 보장한다.
LinkedHashMap은 LinkedList로 구현된 HashMap이다. List로 구현되어 있기 때문에 순서가 보장된다. 하지만 양방향 연결 리스트이기 때문에 랜덤 접근에서는 느릴 수 있다.
댓글남기기