일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- web
- OS
- 파이썬
- Level2
- LeetCode
- C++
- Level1
- 코테연습
- 리트코드
- VUE
- CS
- Doitvue.js입문
- 백준
- 프로그래밍
- 동적계획법
- dp
- 리액트
- Medium
- 웹프로그래밍
- 자바스크립트
- 프로그래머스
- python
- react
- 카카오
- sql
- Level3
- javascript
- 고득점Kit
- 배열
- typescript
- Today
- Total
목록CS (18)
데이터베이스 면접 대비 데이터베이스 데이터베이스를 사용하는 이유 이전 파일시스템의 데이터 종속성 문제와 중복성, 무결성 문제를 해결하기 위해 데이터 베이스를 사용한다. 데이터 베이스는 다음과 같은 특징을 가진다. 데이터 독립성 데이터의 무결성 데이터의 보안성 데이터의 일관성 데이터 중복 최소화 인덱스 빠른 데이터 검색을 위해 컬럼의 값과 해당 레코드가 저장된 주소를 key-value 쌍으로 인덱스를 만들어두는 것이다. 인덱스가 왜 필요한지 데이터는 디스크로부터 가져오게 된다. 자주 쓰일 경우 매번 조회하는 것은 비효율적이므로 컴퓨터는 자주 사용되는 테이블을 메모리에 올린다. 메모리에 데이터가 있다면 빠르게 가져올 수 있지만 없다면 디스크 전체를 스캔해야하며 이것을 풀 테이블 스캔이라고 한다. 대용량 데이..
운영체제 면접 대비 운영체제란 운영체제란 하드웨어와 응용프로그램 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어이다. 자원을 효율적으로 관리한다. (자원 관리) 추상화된 인터페이스를 통해 프로그램을 사용할 수 있도록 한다. (시스템 관리) 운영체제는 자원 관리자라고 불리며 커널 함수를 실행하면서 스위칭한다. 기능 프로세스 관리 프로세스 스케줄링 및 동기화 프로세스 생성 제거, 시작과 정지 스케줄링 IPC 통신 : 프로세스들끼리 통신하는 것 기억장치 관리 메모리 관리 가상메모리 파일시스템 네트워킹 TCP/IP 및 기타 프로토콜 지원 사용자 관리 계정관리 접근 권한 관리 디바이스 드라이버 시스템의 자원, 하드웨어를 관리한다. 프로세스와 스레드의 차이 프로세스 vs 프로그램 프로그램..
네트워크 면접 질문 대비 TCP 와 UDP 의 차이점 TCP/IP 흐름제어 & 혼잡제어 TCP 3-way-handshake HTTP 와 HTTPS 의 차이점 HTTP 의 문제점들 GET, POST 방식의 차이점 HTTP 통신 방식 설명 백과 프론트는 통신할 때 어떻게 하는지 DNS round robin 방식 웹 통신의 큰 흐름 OSI 7 계층 대칭키 & 공개키 TLS/SSL handshake 로드 밸런싱(Load Balancing) Blocking,Non-blocking & Synchronous,Asynchronous Blocking & Non-Blocking I/O HTTP란 HTTP란 HTML와 같은 하이퍼미디어 문서를 전송하기 위한 프로토콜로 서버와 클라이언트 사이에서 어떻게 메시지를 교환할지를 정..
자료구조 면접 대비 자료구조란? Array vs Linked List Stack and Queue Tree Binary Tree Full Binary Tree Complete Binary Tree BST (Binary Search Tree) Binary Heap Red-Black Tree 정의 특징 삽입 삭제 Hash Table Hash Function Resolve Collision Open Addressing Separate Chaining Resize Graph Graph 용어 정리 Graph 구현 Graph 탐색 Minimum Spanning Tree Kruskal algorithm Prim algorithm 자료구조란? 메모리를 효율적으로 사용하며 빠르고 안정적으로 데이터를 처리하는 것이궁극적인..
네트워크 보안 Confidentially : 메시지를 교환할 때 해당 내용을 다른 사람이 확인할 수 없어야 함 authentication: 내가 메시지를 주고 받는 상대방에 대한 검증 message intergrity: 메시지 내용이 변하지 말아야함 access and avaiablity 대칭키 = 개인키 암호화 (Symmetric Key, Private key) 암호화와 복호화에 같은 암호키를 사용하는 알고리즘이다. 장점 동일한 키를 주고 받기 때문에 매우 빠르다. 단점 대칭키 전달 과정에서 해킹 위험에 노출 될 수 있다. 사용자의 증가에 따라 관리해야할 키의 수가 상대적으로 많아진다. 공개키 (Public key) 암호와 복호화에 사용되는 암호키를 분리한 알고리즘이다. 자신이 가지고 있는 개인키로만 ..
교착 상태 (Dead Lock) 교착 상태란 2개 이상의 프로세스들이 서로의 자원을 얻지 못해서 진행할 수 없는 상황을 말한다. 프로세스에게 한정된 자원이 할당되었을 때 프로세스들의 자원 부족으로 더 이상 실행할 수도 없으며, 종료 후에 다른 작업을 시작하는 것도 불가능한 상태를 말한다. block된 프로세스들은 각각의 자원을 가지고 다른 프로세스가 점유한 자원을 얻기를 기다리고 있는 상태이다. 두 프로세스는 무한정 wait 상태에 빠지게 된다. 자원은 한 번에 하나의 프로세스에 의해서만 사용될 수 있고 non preemtable resource로 선점 불가능 하기 때문에 일반적으로 데드락이 발생한다. 데드락 발생 조건 하나라도 만족하지 않으면 데드락은 해결된다. 상호 배제 Mutal exclusion ..
프로세스 동기화 멀티 쓰레드 프로그램에서 쓰레드들은 자원을 공유하며 협력한다. 이때 공유 자원 접근 시에 동기화가 보장되지 않으면 Race condition이 발생할 수 있고 부정확한 결과로 이어진다. 이를 방지하기 위한 방법을 동기화라고 한다. 동기화라는 것은 공유 자원을 어떠한 프로세스가 사용하고 있을 경우 값이 반환되기 전까지 blocking 하는 것을 말한다. 즉, Critical section에 대한 상호 배제를 제공해 race condition을 회피하는 방법이다. Race condition 쓰레드에 의해서 공유 자원에 접근한 결과가 스케줄러에 의한 접근 타이밍에 의존해 결정되는 상태이다. 결과를 예측할 수 없고 싱글 프로세스이든 멀티 프로세스이든 발생할 수 있다. 임계 구역 문제 (Criti..
TCP (Transmission Control Protocol) unreliable network에서, reliable network를 보장할 수 있도록 하는 프로토콜 송신자와 수신자가 모두 소켓이라는 종단점을 생성함으로써 이루어다. TCP의 연결 설정은 3-way hand shake를 통해 이뤄진다. full-duplex : 전송이 양방향으로 동시에 일어날 수 있다. point to point : 각 연결이 정확히 2개의 소켓을 가지고 있음을 의미한다. 멀티 캐스팅이나 브로드 캐스팅을 지원하지 않는다. 소켓 사이에 바이트 스트림을 전송하도록 설계 되어 신뢰성이 보장된다. 메시지가 유실되지 않고 메시지가 내려온 순서대로 전송된다. 연결지향적이다. 흐름제어, 혼잡 제어 기능을 한다. TCP 흐름제어 상대방..