🎤 Tech Interview
[Tech Interview] Part 5. Network
💡 HTTP 프로토콜에 대해 설명해주세요. HTTP(Hyper Text Transfer Protocol)란 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜로써, 웹에서 이루어지는 모든 데이터 교환의 기초가 되는 프로토콜입니다. HTTP는 상태 정보를 저장하지 않는 Stateless의 특징과 클라이언트의 요청에 맞는 응답을 보낸 후 연결을 끊는 Connectionless의 특징을 갖고 있습니다. 통신간의 연결 상태 처리나 상태 정보를 관리할 필요가 없어 서버 디자인이 간단하다는 장점이 있으나 이전 통신의 정보를 모르기 때문에 매번 인증을 해줘야 하며, 이를 해결하기 위해서는 쿠키(cookie)나 세션(session)을 추가로 사용해서 데이터를 처리해야 한다는 불편함도 있습니다. 💡 HTT..
[Tech Interview] Part 4. Algorithm
💡 동적 계획법(DP, Dynamic Programming)에 대해 설명해주세요. 동적 계획법이란 주어진 문제를 풀기 위해, 문제를 여러 개의 하위 문제로 나누어 푸는 방법을 말합니다. 동적 계획법에서는 어떤 부분 문제가 다른 문제들을 해결하는데 사용될 수 있을 때, 답을 여러 번 계산하는 대신 한 번만 계산하고, 그 결과를 재활용하는 메모이제이션(Memoization)기법으로 속도를 향상시킬 수 있습니다. 메모이제이션 : 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 재사용함으로써 동일한 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술 💡 동적 계획법(DP, Dynamic Programming)이 갖는 2가지 조건은 무엇인가요? 동적 계획법의 조건에는 중복되는 부분 문제와 최적..
[Tech Interview] Part 3. Data Structure
💡 Array(List)의 가장 큰 특징과 그로 인해 발생하는 장점과 단점에 대해 설명해주세요. Array의 가장 큰 특징은 순차적으로 데이터를 저장한다는 점입니다. 데이터에 순서가 있기 때문에 0부터 시작하는 index가 존재하며, index를 사용해 특정 요소를 찾거나 조작이 가능하다는 것이 Array의 장점입니다. 다만 순차적으로 존재하는 데이터의 중간에 요소가 삽입되거나 삭제되는 경우 그 뒤의 모든 요소들을 한 칸씩 뒤로 밀거나 당겨줘야 한다는 단점도 있습니다. 이러한 이유로 Array는 정보가 자주 삭제되거나 추가되는 데이터를 담기에는 적절치 않습니다. 💡 Array를 적용시키면 좋을 데이터의 구체적 예시와 함께 Array를 적용하면 좋은 이유, 그리고 Array를 사용하지 않으면 어떻게 되는지..
[Tech Interview] Part 2. Database
💡 데이터베이스의 특징에 대해 설명해주세요. 데이터베이스는 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능해야 하며(실시간 접근성) 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지해야 합니다(지속적인 변화). 또한 데이터베이스는 서로 다른 목적을 가진 여러 응용자들을 위한 것이므로 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 하고(동시 공용) 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터의 내용으로 참조할 수 있어야 합니다(내용에 의한 참조). 💡 데이터베이스 언어(DDL, DML, DCL)에 대해 설명해주세요. 정의어(DDL; Data Definition Language)란 데이터베이스의..