본문 바로가기
기술면접

[기술면접] 240124 테스코드 설명, Array, LinkedList

by studymode 2024. 1. 24.

27. 테스트코드에 대해서 아는대로 설명해주시고 활용 경험에 대해서 답변해주세요.

  • 작성 이유:
    • 개발 단계 초기에서 문제를 발견할 수 있음
    • 코드를 리팩토링하거나 라이브러리 업그레이드 시 기존 기능이 잘 작동하는지 확인 가능
    • 기능에 대한 불확실성 감소
    • 단위테스와 통합테스트 등이 있습니다.
  • 황용 경험
    • Mockito 프레임워크를 이용하여 가짜 객체인 Mock을 만들어 단위 테스트를 진행한 경험이 있습니다.
    • Spring 웹 어플리케이션 개발시 여러 객체들 간의 의존성이 존재하기 때문에, 이를 해결하기 위해 가짜 객체(Mock)을 주입시켰습니다. 
    • AssertThat 메서드를 이용하여 기대하는 값이 실제 출력 값과 같은지 비교하는 테스트를 진행했다

 

 

 

28. Array, LinkedList에 대해 설명해주시고 각각 어떻게 사용하는지 말씀해주세요.

  • Array는 index로 빠르게 값을 찾는 것이 가능합니다. 하지만 처음 선언할 때 데이터 크기와 타입을 지정하기 때문에 중간에 테이블을 삽입하거나 삭제하는데 매우 비효율 적이니다.
  • List는 array처럼 크기를 정해주지 않아도 됩니다. 크기가 정해져 있지 않아, 데이터를 추가하거나 삭제할 수 있으며, index로 검색도 빠릅니다. 하지만 중간에 테이블을 추가 및 삭제할 때 오래 걸린다는 단점이 있습니다.
  • LinkedList는 단일, 다중 등 여러가지가 존재합니다. 한 노드에 연결될 노드의 포인터 위치를 가리키는 방식으로 되어 있습니다. 이런 방식을 활용해서, 데이터의 중간에 삽입 및 삭제가 빠르게 가능합니다. 하지만 index가 없어, n번째 값을 찾을 경우, 처음부터 순차적으로 검색해야 하기 때문에 시간이 오래걸린다는 특징이 있습니다.
  • 출처: https://gyoogle.dev/blog/computer-science/data-structure/Array%20vs%20ArrayList%20vs%20LinkedList.html
 

Array vs ArrayList vs LinkedList | 👨🏻‍💻 Tech Interview

Array vs ArrayList vs LinkedList 세 자료구조를 한 문장으로 정의하면 아래와 같이 말할 수 있다. Array는 index로 빠르게 값을 찾는 것이 가능함 LinkedList는 데이터의 삽입 및 삭제가 빠름 ArrayList는 데이터

gyoogle.dev