All Honey Tip

[카테고리:] IT

  • [기술 면접] 5. Stack은 어떤 자료구조인가요?

    [기술 면접] 5. Stack은 어떤 자료구조인가요?

    수정 일:

    발행 일:

    저번 시간에 이어, 이번에는 스택(Stack) 자료구조에 대해 알아보겠습니다. Stack은 Queue와 비교되며 나오는 개념이긴 하지만, Queue에 비해 상대적으로 적게 나오는 편입니다. 중요하긴 해도 Queue만큼의 질문 범위가 넓진 않다고 할 수 있죠. 어렵지 않으니 간단하게 알아보고 넘어가도록 합시다. Q: Stack은 어떤 자료구조인가요? 후입선출 LIFO(Last In First Out)의 자료구조입니다. push, pop 모두 O(1)의 시간복잡도를 가지며 후위 표기법 연산,…

  • [기술 면접] 4. Spring Bean이 무엇인가요?

    [기술 면접] 4. Spring Bean이 무엇인가요?

    수정 일:

    발행 일:

    저번 시간에 이어, 이번엔 Spring Bean에 대해 알아보도록 하겠습니다. Bean은 Spring Framework에서 관리되는 객체로 애플리케이션의 구성 요소입니다. 개발자가 생성하는 것이 아닌, 스프링 컨테이너가 생성하여 공급하는 객체를 의미하며 스프링 관련 질문으로 종종 등장하곤 합니다. Q: Spring Bean이 무엇인가요? Spring Framework에서 관리되는 객체로, Spring Container가 생성하여 관리합니다. 의존성 주입(Dependency Injection)으로 관리되며 Application의 각 Layer에 데이터 혹은 기능을…

  • [기술 면접] 4. 추상클래스와 인터페이스를 설명해보세요.

    [기술 면접] 4. 추상클래스와 인터페이스를 설명해보세요.

    수정 일:

    발행 일:

    저번 시간에 이어서, 추상클래스 / 인터페이스 / 클래스 / 객체 등의 헷갈릴 수 있는 표현들에 대해 알아보겠습니다. 각 항목을 비교하여 설명할 수 있어야합니다. 이번 기회에 한 번 정리하고 가시길 바랍니다. Q: 추상클래스와 인터페이스를 설명해보세요. 추상클래스는 미완성 메서드를 포함하고 있는 클래스로 인스턴스 생성은 불가능하며 다른 클래스인 자손 클래스를 작성하는데 도움을 줄 목적으로 작성합니다. 또한 단일 상속만…

  • [기술 면접] 4. Proxy에 대해서 알고 계신가요?

    [기술 면접] 4. Proxy에 대해서 알고 계신가요?

    수정 일:

    발행 일:

    저번 시간에 이어서, 이번엔 Proxy에 대해 알아보겠습니다. Proxy는 Server와 Client 사이에서 중계기 역할을 하는 매개체로써 웹 개발 시 성능, 보안, 데이터 변환 등 다양한 목적으로 사용되는 개념입니다. Q: Proxy에 대해서 알고 계신가요? Server와 Client 사이에서 대리로 통신을 수행하며 중계기 역할을 하는 것입니다. Proxy Server는 익명성으로 보안을 향상시키고, 캐시를 통한 속도 향상, 차단된 사이트를 IP 우회하여…

  • [기술 면접] 4. Thread가 무엇인가요?

    [기술 면접] 4. Thread가 무엇인가요?

    수정 일:

    발행 일:

    이전 시간에 이어서, Thread에 대해 알아보겠습니다. Thread는 Process와 같이 자주 등장하는 개념이며, 상대적으로 더욱 깊은 내용들이 있다고 할 수 있습니다. Process / Multi-Process / Thread / Multi-Thread 모두 핵심 개념이니, 이번 시간을 통해 자세히 배울 수 있으시길 바랍니다. Q: Thread가 무엇인가요? 한 process 내에서 실행되는 동작(기능 function)의 단위입니다. 각 Thread는 속해있는 process의 Stack 메모리를 제외한…

  • [카프카] 4. 아파치 카프카의 ISR(In-Sync-Replicas)

    [카프카] 4. 아파치 카프카의 ISR(In-Sync-Replicas)

    수정 일:

    발행 일:

    지난 시간에 이어, 아파치 카프카의 ISR(In-Sync-Replicas)에 대해 알아보겠습니다. ISR은 리더 파티션과 팔로워 파티션이 모두 Sync된 상태를 의미합니다. 복제 개수가 2인 토픽(리더 파티션 1개와 팔로워 파티션 1개가 존재)으로 가정해보면, 팔로워 파티션에 리더 파티션의 모든 오프셋이 존재해야 동기화가 완료된 상태라고 할 수 있습니다. ISR이 완전하지 못하다면? 팔로워 파티션이 리더 파티션의 오프셋을 모두 복제하지 못한 상태로 서비스가 지속된다면,…

  • [카프카] 3. 아파치 카프카의 복제(Replication)

    [카프카] 3. 아파치 카프카의 복제(Replication)

    수정 일:

    발행 일:

    지난 포스팅에 이어서, 아파치 카프카에서 가장 중요한 개념인 복제(Replication)에 대해 알아보겠습니다. 복제는 카프카를 장애 허용 시스템(Fault Tolerant System)이라고 할 수 있는 원동력입니다. 장애가 발생해도 데이터를 유지하고 안전하게 사용할 수 있게 해주죠. 카프카 브로커의 복제(Replication) 카프카의 데이터 복제는 파티션 단위로 이루어집니다. 토픽 생성 시 파티션의 복제 개수 (Replication factor)도 같이 설정 되는데, 디폴트로 브로커에 설정된 옵션…

  • [기술 면접] 4. 트랜잭션(Transaction)을 설명해주세요.

    [기술 면접] 4. 트랜잭션(Transaction)을 설명해주세요.

    지난 시간에 이어서, 이번엔 트랜잭션(Transaction)에 대해 알아보겠습니다. Transaction은 Database의 작업 단위로, 기초이면서도 필수인 개념이라고 할 수 있습니다. Transaction의 특징과 관련 개념, 그리고 제어 방법들에 대해 알아보는 시간을 갖겠습니다. Q: 트랜잭션(Transaction)을 설명해주세요. DB 내에서 수행되는 작업의 최소 단위로, DB의 무결성을 유지하며 DB의 상태를 변화시키는 기능을 수행합니다. 하나 이상의 Query를 포함해야 하고, ACID라고 칭해지는 원자성, 일관성, 고립성,…

  • [Coding Test] 1. Binary Gap

    [Coding Test] 1. Binary Gap

    1. Binary Gap 문제 A binary gap within a positive integer N is any maximal sequence of consecutive zeros that is surrounded by ones at both ends in the binary representation of N. For example, number 9 has binary representation 1001 and contains a binary gap of length 2. The number 529 has binary representation 1000010001 and contains two binary gaps:…