[카테고리:] IT
-
[기술 면접] 9. Sync, Async, Blocking, Non-blocking을 설명해보세요.
저번 시간에 이어, 이번엔 Sync, Async, Blocking, Non-blocking에 대한 면접 질문들을 알아보겠습니다. 출제 빈도가 조금 있는 편이라고 생각합니다. 많이 헷갈리는 부분이지만, 꼼꼼히 학습하여 대비하시길 바랍니다. Q: Sync와 Async를 설명해보세요 Q: Blocking과 Non-blocking은 무엇인가요? Q: 그렇다면 동기(Sync)와 비동기(Async)를 각각 어떤 상황에서 사용해야 하나요? 동기(Sync)는 서비스의 순서가 중요하거나, 이전 작업의 결과물이 영향을 끼칠 때 사용합니다. 비동기(Async)는 작업끼리의…
-
[기술 면접] 11. 정렬 알고리즘에서 안정성(Stability)에 대해 아시나요?
저번 시간에 이어, 이번엔 정렬 알고리즘의 안정성(Stability)에 대한 질문을 간단하게 준비했습니다. 이번 질문은 자주 등장하는 편은 아니지만, 기초 개념이라고 생각하고 준비하시길 권해드립니다. Q: 정렬 알고리즘에서 안정성(Stability)에 대해 아시나요? 같은 키를 가진 객체들의 상대적인 순서가, 정렬 이후에도 유지되는 것을 말합니다. 안정 정렬과 불안정 정렬로 구분 되는데, 마치며 이번 시간에는 정렬 알고리즘의 안정성(Stability)에 대한 질문을 짧게 알아보는…
-
[기술 면접] 10. 트라이(Trie) 자료구조에 대해서 알고 계신가요?
저번 시간에 이어, 이번엔 트라이(Trie) 자료구조에 대한 질문을 알아보도록 하겠습니다. 트라이(Trie) 자료구조는 문자열과 관련된 문제를 해결할 수 있는지, 해당 자료구조에 대한 이해를 확인하는 질문입니다. 출제 빈도가 높진 않지만, 중요한 자료구조이니 숙지하고 가시길 권해드립니다. Q: 트라이(Trie) 자료구조에 대해서 알고 계신가요? 트리 자료구조 중 하나로 문자열을 저장하고 탐색하는 데 유용한 자료구조입니다. 각 노드는 Key와 Value로 구성 되는…
-
[기술 면접] 9. 퀵소트(Quick Sort)에 대해 설명해주세요
저번 시간에 이어, 이번엔 퀵소트(Quick Sort)에 대해 알아보겠습니다. 퀵소트는 정렬 알고리즘 중 하나로, 면접 빈출도가 높은 내용은 아니지만, 등장한 이력이 있긴 해서 준비해보았습니다. Q: 퀵소트(Quick Sort)에 대해 설명해주세요 퀵소트는 정렬 알고리즘 중 하나로, 피벗(Pivot)을 기준으로 부분 배열로 나누고, 각 부분 배열을 정렬한 이후 합치는 과정을 거칩니다. 어떤 피벗을 선택하느냐에 따라 성능이 달라질 수 있습니다. Q:…
-
[기술 면접] 10. JDBC가 무엇인가요?
저번 시간에 이어, 이번엔 JDBC에 관련된 면접 질문들을 알아보겠습니다. 출제 빈도가 높진 않았지만, 중요한 개념이니 숙지하시길 권해드립니다. 이번 질문도 서비스 플랫폼 기업 K사와 L사에서 마주한 경험이 있습니다. Q: JDBC가 무엇인가요? Java Database Connectivity로 자바에서 DB에 접속할 수 있도록 하는 자바 API입니다. JDBC는 DB에서 자료를 쿼리하거나 업데이트하는 방법을 표준으로 제공하여 애플리케이션 서버의 사용 코드를 그대로 유지할…
-
[기술 면접] 9. Database Replication이 무엇인가요?
저번 시간에 이어, 이번엔 Database Replication에 관련된 질문을 알아보겠습니다. 이번 시간은 이전 시간보다 조금 어려울 수 있습니다. 심화부분이라고 생각하고 숙지하시길 권해드립니다. 해당 면접 질문은 서비스 플랫폼 기업 K사와 L사에서 출제된 적이 있습니다. Q: Database Replication이 무엇인가요? DB 복제를 의미하며 보통 Master 1개와 Slave N개의 형태로 구성합니다. Master, Slave DB 간에 데이터는 비동기로 동기화하는 특징이 있습니다.…
-
[기술 면접] 8. Index는 왜 필요한가요?
저번 시간에 이어서, 이번엔 Index에 대한 다양한 질문들을 알아보겠습니다. Index는 굉장히 자주 등장하는 면접 질문입니다. 다방면으로 준비하시길 권해드립니다. 서비스 플랫폼 기업 N, K, L, T사에서 마주한 경험이 있습니다. Q: Index는 왜 필요한가요? TABLE의 검색 성능을 높여주기 위해 필요합니다. 일반적인 RDBMS에서는 B+Tree구조로 된 index를 사용하여 검색 속도를 향상시킵니다. index는 책마다 마지막 페이지에 있는 색인과 같은 역할을…
-
[기술 면접] 8. Hash table은 어떤 자료구조인가요?
저번 시간에 이어, 이번엔 Hash table은 어떤 자료구조인지와 Collision 시 해결 방법에 대해 알아보겠습니다. 이번 시간은 자료구조 개념 중에 정말 중요하다고 할 수 있는 부분입니다. 서비스 플랫폼 기업 K사와 L사에서 마주한 기억이 있습니다. Q: Hash table은 어떤 자료구조인가요? 효율적인 탐색(빠른 탐색)을 위한 자료구조로 key-value쌍의 데이터를 입력받습니다. hash function h에 key값을 입력하여 얻은 해시값 h(k)를 위치로…
-
[기술 면접] 8. 가상 메모리에 대해 설명해주세요.
저번 시간에 이어, 이번엔 가상 메모리에 대한 질문들을 알아보겠습니다. Java 카테고리의 JVM 과도 겹치는 내용이 있습니다. 그만큼 중요하고 자주 등장하곤 합니다. 서비스 플랫폼 기업 K사와 게임 제작 기업 C사에서 마주했던 질문으로 기억합니다. Q: 가상 메모리에 대해 설명해주세요. Process 전체가 메모리에 올라오지 않아도, 실행이 가능하도록 하는 기법입니다. 가상 메모리 기법을 통해 사용자 프로그램이 물리적 메모리보다 커져도…
-
[기술 면접] 7. DB에서 DeadLock(데드락)은 무엇을 의미하나요?
저번 시간에 이어, 이번엔 DB에서 DeadLock(데드락)이 무엇을 의미하는지 알아보도록 하겠습니다. 운영체제 카테고리의 Deadlock을 보고 오셨다면, 익숙한 내용일 것으로 생각됩니다. Q: DB에서 DeadLock(데드락)은 무엇을 의미하나요? 여러 Transaction들이 각각 자신의 데이터에 대하여 lock을 획득한 상태에서 상대방 데이터에 접근하고자 대기를 할 때 교차 대기를 하게 되며 서로 영원히 기다리는 상태를 말합니다. Q: DB의 DeadLock을 해결하려면 어떻게 해야하나요? 3가지…