[면접공부하기]

suye 22·2023년 2월 27일

기술면접 준비하기

목록 보기
6/16

1. @SpringBootTest와 @WebMvcTest의 차이점을 설명해 주세요.

  • 스프링부트 테스트를 위한 어노테이션

@SpringBootTest

  • 모든 빈들을 스캔하고 애플리케이션 컨텍스트를 생성하여 테스트를 실행한다

@WebMvcTest

2. 트랜잭션이 무엇인지 설명해 주세요.

  • 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위

    상태를 변화시킨다는 것?
    SQL 질어의를 통해 DB에 접근하는 것

<원자성>

  • 트랜잭션이 데이터베이스에 모두 반영되거나, 혹은 전혀 반영되지 않아야 하는 것

<일관성>

  • 트랜잭션의 작업 처리 결과는 항상 일관성이 있어야 하는 것

<독립성>

  • 둘 이상의 트랜잭션이 동시에 병행 실행되고 있을 때 어던 트랜잭션도 다른 트랜잭션 연산에 끼어들 수 없는 것

<지속성>

  • 트랜잭션이 성공적으로 완료되면 결과는 영구적으로 반영 되어야 하는 것

3. TCP와 UDP의 공통점과 차이점을 설명해보세요.

  • TCP(Transmission Control Protocol)와 UDP(User Datagram Protocal)는 데이터를 보내기 위해 사용하는 프로토콜

TCP(Transmission Control Protocol)

  • 연결지향적 프로토콜

    클라이언트와 서버가 연결된 상태에서 데이터를 주고받는 것
    데이터를 정확하고 안정적으로 전달 할 수 있음
    신뢰성이 요구하는 애플리케이션에서는 TCP를 사용

UDP(User Datagram Protocal)

  • 비 연결지향적 프로토콜
  • 데이터를 여러개의 조각들로 나누어 전송을 하는데. 이때 조각을 패킷이라고 함

0개의 댓글