면접 대비6 스프링 면접질문 대비(1.3) Spring Bean Life Cycle에 대해 설명해주세요 1. 스프링 컨테이너 실행 2. 빈 생성 3. 의존 관계 주입 4. 초기화 콜백 5. 사용 6. 소멸 전 콜백 7. 스프링 종료 필터와 인터셉터의 차이는? 필터 : 디스패처 서블릿에 요청이 전달되기 전/후에 url 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 잇는 기능을 제공한다. 인터셉터 : Spring이 제공하는 기술로써, 디스패처 서블릿이 컨트롤러를 호출하기 전과 후에 요청과 응답을 참조하거나 가공할 수 있는 기능을 제공한다. JWT에 대해서 간단히 설명해주세요. JWT는 속성 정보 (Claim)를 JSON 데이터 구조로 표현한 토큰으로 RFC7519 표준이다. Base64인코딩을 사용한다. Header는 토큰의 타입과 해시 암호화.. 2022. 9. 19. 스프링 면접질문 대비(1.2) Transaction은 무엇일까? 데이터베이스의 상태를 변경시키기 위해 수행하는 작업 단위이다. ACID란? 원자성 (Atomicity) 일관성 (Consistency) 독립성 (Isolation) 지속성 (Durability) 원자성은 트랜잭션이 데이터베이스에 모두 반영되던가, 아니면 전혀 반영되지 않아야 한다는 것이다. 일관성은 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다는 것이다. 독립성은 둘 이상의 트랜잭션이 동시에 실행되고 있을 경우 어떤 하나의 트랜잭션이라도, 다른 트랜잭션의 연산에 끼어들 수 없다는 점을 가리킨다. 지속성은 트랜잭션이 성공적으로 완료됬을 경우, 결과는 영구적으로 반영되어야 한다는 점이다. View 는 무엇일까? 뷰는 사용자에게 접근이 허용되는 자료만을 제한적으로 보.. 2022. 9. 15. 스프링 면접질문 대비(1.1) List 와 Set의 차이는 무엇인가요? List는 순서가 있는 자료 구조로써 인덱스로 값을 불러올 수 있고, 중복이 허용된다. Set은 순서가 없는 자료 구조로써 중복을 허용하지 않는다. Map의 하위 구현체는 무엇인가요? HashMap : 데이터의 저장을 위해 해시 테이블을 사용한다. 키의 해싱을 통해 값을 저장한다. LinkedHashMap : HashMap 클래스의 확장으로 LinkedList를 이용해 구현된 HashMap이다. 삽입 순서를 알 수 있다. TreeMap : Map의 저장을 위해 트리를 사용한다. Set의 하위 구현체는 무엇인가요? HashSet : 데이터의 저장을 위해 해시 테이블을 사용한다. 해싱을 통해 요소를 저장한다. LinkedHashSet : HashSet 클래스의 확장으.. 2022. 9. 14. 기본 CS 질문 HashTable 은 무엇인가요? 해시함수를 사용하여 변환된 값을 인덱스로 삼아 키와 값을 저장하는 자료구조를 말한다. 해시테이블의 중점사항은 충돌을 완화하는 것이다. HashTable과 HashMap의 차이점은 무엇일까요? HashTable 은 동기화를 지원하여 멀티스레드 환경에서 사용하기 좋다. 하지만 HashMap에 비해 느리다. Key, Value에 null이 들어갈 수 없다. HashMap은 싱글스레드 환경에서 사용하기 좋다. Key, Value에 null이 들어갈 수 있다. 큐란 무엇인가요? 큐는 먼저 들어온 데이터가 먼저 나가는 구조로, 선입선출이라고 한다. 뒤에서 새로운 데이터가 추가되고 앞에서 데이터가 하나씩 삭제되는 구조를 가지고 있다. 그래프란 무엇인가요? 트리와의 차이점은 무엇인가요.. 2022. 8. 25. 스프링 면접질문 대비 스프링이란 스프링은 자바 엔터프라이즈개발을 편하게 해주는 오픈 소스 경량급 애플리케이션 프레임워크다. 특징으로는 AOP, IoC/DI, POJO 등이 있다. 스프링 AOP란 관점 지향 프로그래밍의 약자로, 기존의 객체지향 프로그래밍에서 기능별로 클래스를 분리했음에도 불구하고, 공통적으로 반복되는 중복코드가 발생하는데 이를 해결할 수 있도록 실행시 비즈니스 로직의 앞과 뒤에서 원하는 지점에 해당 공통 관심사를 수행할 수 있게 한다. 필터 / 인터셉터 / AOP 차이점 Filter, Interceptor, AOP 세 가지 기능은 모두 무슨 행동을 하기전에 먼저 실행하거나, 실행한 후에 추가적인 행동을 할 때 사용되는 기능들이다. Filter : 서블릿 필터는 DispatcherServlet 이전에 실행이 되.. 2022. 8. 16. 스프링이란? 스프링을 배우고 사용하고 있지만 스프링이 뭐냐는 질문을 받는다면 제대로 대답하기가 힘들어서 작성해본다. - 스프링의 정의 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 - 스프링의 특징 IoC 제어의 역전으로 인스턴스의 생성부터 소멸까지 개발자가 아닌 컨테이너가 대신 관리해주는 것을 말한다. DI 의존성 주입으로, 객체들 간의 의존성을 줄이기 위해 사용되는 스프링의 IOC 컨테이너의 구체적 구현 방식을 말한다. AOP 관점 지향 프로그래밍의 약자로, 기존의 객체지향 프로그래밍에서 기능별로 클래스를 분리했음에도 불구하고, 공통적으로 반복되는 중복코드가 발생하는데 이를 해결할 수 있도록 실행시 비즈니스 로직의 앞과 뒤에서 원하는 지점에 해당 공통 관심사를 수행할 수 있게 한다.. 2022. 8. 11. 이전 1 다음