객체지향 신입 CS 기초 기술면접
새 면접Q. 스택(Stack)과 큐(Queue)의 차이점을 설명하고, 각각의 실제 사용 예시를 말씀해주세요.
데이터가 들어가고 나오는 순서에 주목해보세요.
스택은 LIFO(Last In First Out) 구조로 마지막에 들어간 데이터가 먼저 나오는 자료구조입니다. 큐는 FIFO(First In First Out) 구조로 먼저 들어간 데이터가 먼저 나옵니다. 스택은 함수 호출 스택, 브라우저의 뒤로가기 기능, 실행 취소(Undo) 기능에 사용됩니다. 큐는 프린터 대기열, 프로세스 스케줄링, BFS 알고리즘 구현에 활용됩니다.
- • 스택은 LIFO 구조
- • 큐는 FIFO 구조
- • 각각의 실무 활용 사례 이해
웹 브라우저의 방문 기록 관리나 메시지 큐 시스템 구현 시 필수적으로 사용됩니다.
스택을 배열로 구현할 때와 연결 리스트로 구현할 때의 장단점은 무엇인가요?
Q. HTTP와 HTTPS의 차이점을 설명하고, HTTPS가 보안을 제공하는 방식을 간단히 설명해주세요.
데이터 전송 시 암호화 여부와 사용하는 프로토콜을 생각해보세요.
HTTP는 평문으로 데이터를 전송하는 프로토콜이고, HTTPS는 SSL/TLS 프로토콜을 사용해 암호화된 통신을 제공합니다. HTTPS는 대칭키와 비대칭키 암호화를 조합하여 데이터를 암호화합니다. 클라이언트와 서버는 핸드셰이크 과정에서 공개키로 대칭키를 안전하게 교환하고, 이후 통신은 대칭키로 암호화합니다. 이를 통해 중간자 공격을 방지하고 데이터 무결성을 보장합니다. HTTPS는 443번 포트를 사용하며, HTTP는 80번 포트를 사용합니다.
- • HTTP는 평문 전송, HTTPS는 암호화 통신
- • SSL/TLS 프로토콜 사용
- • 대칭키와 비대칭키의 조합
로그인, 결제 등 민감한 정보를 다루는 모든 웹 서비스에서 필수적으로 사용됩니다.
대칭키 암호화와 비대칭키 암호화의 차이점과 각각의 장단점은 무엇인가요?
Q. 데이터베이스의 인덱스(Index)가 무엇인지 설명하고, 인덱스를 사용했을 때의 장점과 단점을 말씀해주세요.
책의 색인과 비슷한 개념으로, 조회 성능과 저장 공간의 트레이드오프를 생각해보세요.
인덱스는 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조로, 특정 컬럼의 값과 해당 레코드의 위치를 저장합니다. 장점으로는 WHERE 절이나 JOIN 조건에서 검색 속도가 크게 향상되고, ORDER BY나 GROUP BY 연산의 성능도 개선됩니다. 단점으로는 인덱스를 저장할 추가 저장 공간이 필요하고, INSERT, UPDATE, DELETE 작업 시 인덱스도 함께 수정해야 해서 쓰기 성능이 저하됩니다. 따라서 조회가 많고 수정이 적은 컬럼에 인덱스를 설정하는 것이 효과적입니다.
- • 검색 속도 향상을 위한 자료구조
- • 조회 성능 향상의 장점
- • 저장 공간과 쓰기 성능 저하의 단점
대용량 데이터를 다루는 서비스에서 검색 쿼리 최적화를 위해 필수적으로 고려해야 하는 요소입니다.
인덱스를 생성하기에 적합한 컬럼의 특징은 무엇인가요?
아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요!