[카테고리:] IT
-
[기술 면접] 5. Java에서 정적 호출과 동적 호출의 차이는 무엇인가요?
저번 시간에 이어, 이번엔 Java에서 정적 호출과 동적 호출의 차이가 무엇인지에 대해 알아보겠습니다. Java의 작동 방법을 이해하고 있는지 확인하기 위해 등장하는 질문인데요. 평소 봐왔던 용어일지라도 정리하지 않았으면 말로 설명하기 쉽지 않을 것으로 생각합니다. Q: Java에서 정적 호출과 동적 호출의 차이는 무엇인가요? 정적 호출과 동적 호출의 가장 큰 차이는 메서드 호출 시기와 호출되는 메서드의 결정 시기입니다.…
-
[기술 면접] 5. www.google.com을 주소창에 검색하면 어떻게 되나요?
저번 시간에 이어, 이번엔 주소창에 www.google.com을 검색했을 때 어떤 현상이 발생하는지, 네트워크 관점에서 알아보는 시간을 갖겠습니다. 이 질문은 한동안 유행했던 면접 질문으로, 면접자의 네트워크 지식을 면밀히 파악할 수 있습니다. 답변 유형은 다양하며 2 가지 답변을 준비했습니다. 네트워크 기초를 모른다고 생각하시면, 네트워크 카테고리의 첫번째 포스팅부터 참고하시길 권해드립니다. Q: www.google.com을 주소창에 검색하면 어떻게 되나요? 일련의 과정을 설명해보겠습니다. Q:…
-
[기술 면접] 5. 정규화(Normalization)에 대해서 설명해보세요.
저번 시간에 이어서, 이번엔 정규화(Normalization)에 대해 알아보겠습니다. 정규화는 Data를 효율적으로 구조화하여 사용하기 위한 과정으로, 중복 데이터를 최소화하고 일관성, 유지보수성, 효율성 등을 높이기 위해 사용됩니다. 이번 시간을 통해 정규화 과정에 대해 깊게 공부할 수 있으시길 바랍니다. Q: 정규화에 대해서 설명해보세요. 이상 현상이 발생하는 릴레이션을 분해하여, 이상 현상을 없애는 과정입니다. 함수 종속성의 유형에 따라 등급을 구분하고 정규형이…
-
[JAVA] 1. Queue 설명 및 예시
Queue란? 자바에서 Queue란, 간단히 말해 데이터를 일렬로 나열하여 관리하는 자료 구조 중 하나로, “선입선출” (First-In-First-Out, FIFO) 원칙을 따릅니다. FIFO란 쉽게 말해, 큐에 쌓인 데이터들 중, 먼저 들어온 데이터가 먼저 빠져나가게 되는 형식을 일컫습니다. 그럼 JAVA에서 큐(Queue)를 어떤 식으로 사용하는지 알아보도록 하겠습니다. Queue 사용법 우선 Queue를 사용하기 위해서는 Queue와 LinkedList 모두 Import가 필요합니다. Queue 주요 함수 일부 주요한 Queue 인터페이스의…
-
[기술 면접] 7. 메모리 단편화가 무엇인가요?
저번 시간에 이어, 이번에는 메모리 단편화에 대해 알아보겠습니다. 메모리 단편화는 메모리 공간이 일부 조각으로 나뉘어 사용되는 상황을 나타냅니다. 메모리 단편화와 관련된 배치 정책들을 포함하여 자세히 알아보는 시간을 가지겠습니다. Q: 메모리 단편화가 무엇인가요? 메모리 내에서 사용 가능한 공간이 작은 조각으로 나뉘어져서 효율적으로 활용되지 못하는 상태를 일컫습니다. 이는 메모리 할당 및 해제로 인해 발생하며, 외부 단편화와 내부…
-
[기술 면접] 6. 교착상태(Deadlock)와 경쟁상황(Race Condition)에 대해서 설명해주세요.
저번 시간에 이어, 이번 시간엔 교착상태(Deadlock)와 경쟁상황(Race Condition)에 대해 알아보겠습니다. 저번 시간에 배운 임계영역 개념과 밀접한 관련이 있으니, 이전의 포스팅을 먼저 정독하시길 권해드립니다. Q: 교착상태(Deadlock)와 경쟁상황(Race Condition)에 대해서 설명해주세요. 둘 이상의 thread가 다른 tread가 점유하고 있는 자원을 서로 기다릴 때, 무한 대기에 빠지는 상황을 말합니다. 발생 조건으로는 상호 배제(mutual exclusion), 점유 대기(hold-and-wait), 비선점(no deadlock), 순환…
-
[기술 면접] 5. Multi process/thread 환경에서 임계영역의 동기화 문제를 어떻게 해결하나요?
[기술 면접] 5. Multi process/thread 환경에서 임계영역의 동기화 문제를 어떻게 해결하나요?
-
[기술 면접] 5. Stack은 어떤 자료구조인가요?
저번 시간에 이어, 이번에는 스택(Stack) 자료구조에 대해 알아보겠습니다. Stack은 Queue와 비교되며 나오는 개념이긴 하지만, Queue에 비해 상대적으로 적게 나오는 편입니다. 중요하긴 해도 Queue만큼의 질문 범위가 넓진 않다고 할 수 있죠. 어렵지 않으니 간단하게 알아보고 넘어가도록 합시다. Q: Stack은 어떤 자료구조인가요? 후입선출 LIFO(Last In First Out)의 자료구조입니다. push, pop 모두 O(1)의 시간복잡도를 가지며 후위 표기법 연산,…
-
[기술 면접] 4. Spring Bean이 무엇인가요?
저번 시간에 이어, 이번엔 Spring Bean에 대해 알아보도록 하겠습니다. Bean은 Spring Framework에서 관리되는 객체로 애플리케이션의 구성 요소입니다. 개발자가 생성하는 것이 아닌, 스프링 컨테이너가 생성하여 공급하는 객체를 의미하며 스프링 관련 질문으로 종종 등장하곤 합니다. Q: Spring Bean이 무엇인가요? Spring Framework에서 관리되는 객체로, Spring Container가 생성하여 관리합니다. 의존성 주입(Dependency Injection)으로 관리되며 Application의 각 Layer에 데이터 혹은 기능을…
-
[기술 면접] 4. 추상클래스와 인터페이스를 설명해보세요.
저번 시간에 이어서, 추상클래스 / 인터페이스 / 클래스 / 객체 등의 헷갈릴 수 있는 표현들에 대해 알아보겠습니다. 각 항목을 비교하여 설명할 수 있어야합니다. 이번 기회에 한 번 정리하고 가시길 바랍니다. Q: 추상클래스와 인터페이스를 설명해보세요. 추상클래스는 미완성 메서드를 포함하고 있는 클래스로 인스턴스 생성은 불가능하며 다른 클래스인 자손 클래스를 작성하는데 도움을 줄 목적으로 작성합니다. 또한 단일 상속만…