#stack과 Queue / Array와 Linked List의 차이점 stack은 후입선출 (Last in first out) -> java에서는 push, pop으로 값을 꺼내거나 넣을 수 있다. Queue는 선입선출 (first in first out) ->offer, poll을 이용해서 값을 꺼내거나 넣을 수 있다. Array는 크기 변경 할 수없다. 배열에 원소 추가시 새로운 배열을 생성하여 데이터 복사를 진행한다, 다차원 배열이 가능하다 ArrayList는 크기가 변경 가능하지만 수정/삭제시 O(n)의 시간복잡도가 소요된다. 인덱스 조회시 순차적으로 존재하기에 O(1)의 시간복잡도가 소요된다. LinkedList는 각 원소에 노드를 가지고 있고 노드안에 다음 노드 주소를 가지고 있다. 이를 통..
오늘의 면접 질문 정리 #트렌젝션이란 무엇인지. - 메서드가 끝나기 전에 오류가 있다면 진행된 상황을 진행 전으로 롤백하는 기능. 이를 ACID라는 특성을 가지고 있다. A ( Atomicity) -> 성공, 실패 두 가지의 경우만 가지고 있고 중간에 실패한 경우는 실패로 간주. C ( Consistency) -> Transaction 전, 후 DB 타입이 변하지 않는다. I ( Isolation) -> Transaction 끼리 간섭하지 않는다. D (Durability) -> Transaction이 성공하든, 실패하든 로그가 남는다. #웹 서버와 WAS의 차이는? Web server와 Web Application Server의 차이는 정적웹사이트와 동적웹사이트라고 생각한다. 웹서버는 HTML, CSS..
면접 질문 #@SpringBootTest와 @WebMvcTest의 차이점을 설명해 주세요. @SpringBootTest는 Spring 애플리케이션의 통합 테스트에 사용되고 @WebMvcTest는 Spring MVC 컨트롤러의 단위 테스트에 사용됩니다. @SpringBootTest는 전체 애플리케이션 컨텍스트를 로드하는 반면 @WebMvcTest는 웹 레이어 테스트를 위해 애플리케이션 컨텍스트의 필요한 부분만 로드합니다. #TCP와 UDP의 공통점과 차이점을 설명해보세요. TCP는 데이터 전달을 보장하는 신뢰할 수 있는 연결 지향 프로토콜인 반면 UDP는 최선의 데이터 전달을 제공하는 신뢰할 수 없는 비연결 프로토콜입니다. TCP는 안정적인 데이터 전송이 필요한 응용 프로그램에 사용되는 반면 UDP는 정확..
프론트엔드 HTTP에 대해 설명하고, 알고있다면 HTTP 메세지 구조에 대해 더 자세히 설명해주세요 HTTP는 서버와 클라이언트 간의 정보를 교환할 수 있는 프로토콜입니다. 특징으로는 무상태성(stateless), 비 연결성(Connectionless) 메세지 구조로는 요청과 응답이 있습니다. 백엔드 List, Set, Map, HashMap의 차이에 대해서 설명해주세요. List - 데이터를 순서대로 저장하며 중복을 허용한다. 인덱스를 사용하여 요소에 접근할 수 있습니다. Set - 중복을 허용하지 않으며 순서대로 저장되어 있지 않다. Map - key-value 형식으로 저장되어 있고 key는 중복 값이 될 수 없지만 서로 다른 key의 value값은 동일할 수 있다. 새로운 key-value를 저장..