All Honey Tip

[카테고리:] 개발자 기술 면접

  • [기술 면접] 6. VIEW가 무엇인가요?

    [기술 면접] 6. VIEW가 무엇인가요?

    저번 시간에 이어, 이번엔 뷰(VIEW)가 무엇인지 간단하게 알아보겠습니다. View는 실제 현업에서도 자주 사용하며, DB 면접 질문으로 빈번히 등장하곤 합니다. 저도 서비스 플랫폼 회사인 L사와 T사에서 받았던 것으로 기억되네요. Q: VIEW가 무엇인가요? 원하는 데이터들만을 보여주기 위해 기존 테이블에서 유도된 가상 테이블입니다. Q: 사용하는 이유가 무엇인가요? 대표적으로 2가지가 있습니다. 첫째로, CLIENT는 숨겨진 데이터의 존재 자체를 모르기 때문에…

  • [기술 면접] 6. 트리 자료구조에 대해 설명해 주세요

    [기술 면접] 6. 트리 자료구조에 대해 설명해 주세요

    수정 일:

    발행 일:

    저번 시간에 이어, 이번엔 트리(Tree) 자료구조에 대해 알아보겠습니다. Q: 트리 자료구조에 대해 설명해 주세요 노드와 간선들로 이루어진 자료구조로, 사이클이 없는 자료구조입니다. 즉, 루트에서 한 노드로 가는 경로는 유일합니다. Q: 트리와 그래프의 차이가 무엇인가요? 사이클의 유무입니다. 그래프는 노드, 간선으로 이루어진 자료구조로 방향과 무방향이 존재하며, 트리는 그래프의 한 종류로써 방향성 있는 비순환 그래프입니다. Q: 완전 이진 트리와…

  • [기술 면접] 7. JUnit이 무엇인가요?

    [기술 면접] 7. JUnit이 무엇인가요?

    수정 일:

    발행 일:

    저번 시간에 이어, 이번엔 JUnit이 무엇인가에 대해 알아보겠습니다. 서비스 플랫폼 기업 K사와 L사에서 저번 질문과 연속으로 등장했던 질문입니다. 사용하는 기술이 프레임워크인지, 라이브러리인지 한번 생각해보시길 바랍니다. Q: JUnit이 무엇인가요? 단위 테스트 프레임워크입니다. JUnit4는 하나의 jar파일로 의존성을 불러오고 다른 라이브러리를 참조해서 사용하는 구조였지만, JUit5부터는 그 자체로 모듈화가 되어있습니다. JUnit5의 구성 JUnit5와 JUnit4의 차이점. Q: JUnit의 생명주기에 대해…

  • [기술 면접] 6. 프레임워크와 라이브러리의 차이가 무엇인가요?

    [기술 면접] 6. 프레임워크와 라이브러리의 차이가 무엇인가요?

    수정 일:

    발행 일:

    저번 시간에 이어서, 이번엔 프레임워크와 라이브러리의 차이가 무엇인지에 대해 알아보겠습니다. 개발 전에 기초 지식을 갖추고 있는지, 혹은 라이브러리, API, JUnit 등에 대한 질문을 진행하기 전에 종종 나오곤 하는 질문입니다. 서비스 플랫폼 기업 K사와 L사에서도 마주했던 질문입니다. Q: 프레임워크와 라이브러리의 차이를 말씀해보세요. “개발자가 작성한 코드”를 제어하고 대신 실행한다면 프레임워크라 할 수 있습니다. 반면에, 개발자가 작성한 코드가…

  • [기술 면접] 5. DispatcherServlet이란 무엇인가요?

    [기술 면접] 5. DispatcherServlet이란 무엇인가요?

    수정 일:

    발행 일:

    저번 시간에 이어, 이번엔 DispatcherServlet이 무엇인지에 대해 다루어 보겠습니다. 이번 시간에는 해당 질문에 대한 답변만 짧게 파악하고, 다음 포스팅으로 넘어가겠습니다. 가볍게 읽고 가시길 권해드립니다. Q: DispatcherServlet이란 무엇인가요? Servlet/JSP에서 사용자 요청이 발생하면, 이 요청 정보를 해석하고 작성된 코드를 동작시키는 첫 번째 서블릿입니다. Spring MVC는 DispatcherServlet을 확대하여 Spring Framework의 기능을 사용할 수 있도록 해당 클래스를 재정의합니다. Q:…

  • [기술 면접] 5. Java에서 정적 호출과 동적 호출의 차이는 무엇인가요?

    [기술 면접] 5. Java에서 정적 호출과 동적 호출의 차이는 무엇인가요?

    수정 일:

    발행 일:

    저번 시간에 이어, 이번엔 Java에서 정적 호출과 동적 호출의 차이가 무엇인지에 대해 알아보겠습니다. Java의 작동 방법을 이해하고 있는지 확인하기 위해 등장하는 질문인데요. 평소 봐왔던 용어일지라도 정리하지 않았으면 말로 설명하기 쉽지 않을 것으로 생각합니다. Q: Java에서 정적 호출과 동적 호출의 차이는 무엇인가요? 정적 호출과 동적 호출의 가장 큰 차이는 메서드 호출 시기와 호출되는 메서드의 결정 시기입니다.…

  • [기술 면접] 5. www.google.com을 주소창에 검색하면 어떻게 되나요?

    [기술 면접] 5. www.google.com을 주소창에 검색하면 어떻게 되나요?

    수정 일:

    발행 일:

    저번 시간에 이어, 이번엔 주소창에 www.google.com을 검색했을 때 어떤 현상이 발생하는지, 네트워크 관점에서 알아보는 시간을 갖겠습니다. 이 질문은 한동안 유행했던 면접 질문으로, 면접자의 네트워크 지식을 면밀히 파악할 수 있습니다. 답변 유형은 다양하며 2 가지 답변을 준비했습니다. 네트워크 기초를 모른다고 생각하시면, 네트워크 카테고리의 첫번째 포스팅부터 참고하시길 권해드립니다. Q: www.google.com을 주소창에 검색하면 어떻게 되나요? 일련의 과정을 설명해보겠습니다. Q:…

  • [기술 면접] 5. 정규화(Normalization)에 대해서 설명해보세요.

    [기술 면접] 5. 정규화(Normalization)에 대해서 설명해보세요.

    저번 시간에 이어서, 이번엔 정규화(Normalization)에 대해 알아보겠습니다. 정규화는 Data를 효율적으로 구조화하여 사용하기 위한 과정으로, 중복 데이터를 최소화하고 일관성, 유지보수성, 효율성 등을 높이기 위해 사용됩니다. 이번 시간을 통해 정규화 과정에 대해 깊게 공부할 수 있으시길 바랍니다. Q: 정규화에 대해서 설명해보세요. 이상 현상이 발생하는 릴레이션을 분해하여, 이상 현상을 없애는 과정입니다. 함수 종속성의 유형에 따라 등급을 구분하고 정규형이…

  • [기술 면접] 7. 메모리 단편화가 무엇인가요?

    [기술 면접] 7. 메모리 단편화가 무엇인가요?

    수정 일:

    발행 일:

    저번 시간에 이어, 이번에는 메모리 단편화에 대해 알아보겠습니다. 메모리 단편화는 메모리 공간이 일부 조각으로 나뉘어 사용되는 상황을 나타냅니다. 메모리 단편화와 관련된 배치 정책들을 포함하여 자세히 알아보는 시간을 가지겠습니다. Q: 메모리 단편화가 무엇인가요? 메모리 내에서 사용 가능한 공간이 작은 조각으로 나뉘어져서 효율적으로 활용되지 못하는 상태를 일컫습니다. 이는 메모리 할당 및 해제로 인해 발생하며, 외부 단편화와 내부…

  • [기술 면접] 6. 교착상태(Deadlock)와 경쟁상황(Race Condition)에 대해서 설명해주세요.

    [기술 면접] 6. 교착상태(Deadlock)와 경쟁상황(Race Condition)에 대해서 설명해주세요.

    수정 일:

    발행 일:

    저번 시간에 이어, 이번 시간엔 교착상태(Deadlock)와 경쟁상황(Race Condition)에 대해 알아보겠습니다. 저번 시간에 배운 임계영역 개념과 밀접한 관련이 있으니, 이전의 포스팅을 먼저 정독하시길 권해드립니다. Q: 교착상태(Deadlock)와 경쟁상황(Race Condition)에 대해서 설명해주세요. 둘 이상의 thread가 다른 tread가 점유하고 있는 자원을 서로 기다릴 때, 무한 대기에 빠지는 상황을 말합니다. 발생 조건으로는 상호 배제(mutual exclusion), 점유 대기(hold-and-wait), 비선점(no deadlock), 순환…