전체 글

트리 계층적 구조 표현 트리 관련 용어 노드(node): 실제로 저장하는 데이터 루트(root) 노드: 최상위에 위치한 데이터 시작 노드 모든 노드와 직간접적으로 연결됨 리프(leaf) 노드: 마지막에 위치한 데이터들 더 이상 가지 치지 않음 부모-자식: 연결된 노드들 간의 상대적 관계 자식은 없을 수도, 많이 있을 수도 부모는 언제나 1개 트리가 그래프보다 더 제약이 있다. 조부모. 삼촌(uncle). 형제자매(sibling) 등도 있다. 깊이(depth): 노드 -> 루트 경로의 길이 높이(height): 노드-> 리프 경로의 최대 길이 레드 블랙트리에서 사용 하위 트리(subtree): 어떤 노드 아래의 모든 것을 포함하는 트리 재귀적: 하위 트리 그 자체가 트리 트리의 속성 부모와 자식 모두 노드..
본 포스팅은 '면접을 위한 CS 전공지식 노트'를 기반으로 작성되었습니다. ARP (Address Resolution Protocol) 컴퓨터와 컴퓨터 사이 통신은 IP주소 기반으로 통신한다고 알고 있지만 정확히 이야기하면 ARP를 통해 MAC 주소를 찾아 MAC 주소 기반으로 통신 가상 주소인 IP주소를 실제 주소인 MAC주소로 변환 반대로 RARP를 통해 실제 주소인 MAC주소를 가상 주소인 IP주소로 변환하기도 함. ARP Request 브로드캐스트를 보내 IP주소에 해당하는 MAC 주소를 찾음. 그리고 해당 주소에 맞는 장치 B가 ARP Reply 유니캐스트를 통해 MAC 주소를 반환하는 과정을 거침 hop by hop 통신 IP주소를 통해 통신하는 과정을 홉바이홉 통신이라고 함 통신망에서 각 패..
본 포스팅은 '면접을 위한 CS 전공지식 노트'를 기반으로 작성되었습니다. 네트워크 기기의 처리 범위 상위 계층을 처리하는 기기는 하위 계층은 처리할 수 있으나 반대는 불가 예를들어 L7 스위치는 밑의 모든 계층의 프로토콜을 처리할 수 있으나 , AP는 물리계층밖에 처리하지 못함 애플리케이션 계층: L7 스위치 인터넷 계층: 라우터, L3 스위치 데이터 링크 계층: L2 스위치, 브리지 물리 계층: NIC, 리피터, AP 애플리케이션 계층 L7 스위치 로드 밸런서 라고도 함. 서버의 부하를 분산하는 기기 클라이언트로 부터 오는 요청들을 뒤쪽의 여러 서버로 나누는 역할 로드 밸런서를 이용한 서버 이중화 2대 이사의 서버를 기반으로 가상 IP를 제공하고 이를 기반으로 안정적인 서비스 제공 인터넷 계층 라우터..
Hash Table key, value로 데이터를 저장하는 자료구조 빠르게 검색가능한 자료구조 -> 내부적으로 배열(버킷)을 사용하여 데이터를 저장하기 때문 각각의 key값에 대해 해시함수를 적용해 배열의 고유한 index를 생성하고, index를 활용해 값을 저장하거나 검색 저장/삭제/조회 -> O(1) 해시 함수 임의의 크기를 가진 데이터를 '고정크기'의 값에 대응하게 하는 함수 함수이기 때문에 입력값이 같은면 출력값은 항상 같다. 입력값이 달라도 출력값이 다를 수 있다. 해시 값 어떤 데이터를 해시함수에서 넣어서 나온 결과 해시 충돌 입력값이 같은데 출력값이 같은 경우 없을 수록 좋다 최악의 경우 검색속도 O(n)으로 느려질 수 있다. 1. Seperate Chaining(분리 연결법) 같은 공간에..
본 포스팅은 '면접을 위한 CS 전공지식 노트'를 기반으로 작성되었습니다. 계층구조 OSI와 다른점 애플리케이션 계층을 3가지로 쪼갬 인터넷 계층을 네트워크 계층이라고 부름 링크 계층이 데이터링크, 물리로 나뉨 각 계층은 특정 꼐층이 변경되었을 때 다른 계층이 영향을 받지 않도록 설계되었다. 1. 애플리케이션 계층 응용 프로그램이 사용되는 프로토콜 계층 웹 서비스, 이메일 전송 등 서비스를 실질적으로 사람들에게 제공 FTP, HTTP, SSH, SMTP, DNS FTP: 장치와 장치 간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜 SSH: 보안되지 않은 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜 HTTP: World Wide Web을 위한 데이터 통신의 기초이자 ..
본 포스팅은 '면접을 위한 CS 전공지식 노트'를 기반으로 작성되었습니다. 네트워크 네트워크: 컴퓨터 등 장치들이 통신 기술을 이용하여 구축하는 연결망 네트워크는 노드와 링크로 연결되어 있다. 노드: 서버, 라우터, 스위치 등 네트워크 장치 링크: 유선 혹은 무선 좋은 네트워크란?? 많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 가진 네트워크 처리량(throughput) 링크 내에서 성공적으로 전달된 데이터의 양 보통 얼만큼의 트래픽을 처리했는지를 나타냄 단위: bps(bits per second) 대역폭 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수 지연 시간(latency) 어떤 메시지가 두 장치 사이를 왕복하는 데 걸린 시간 매체 타입(유선,..