728x90
반응형

면접을 위한 CS 전공지식 노트 5

면접을 위한 CS 전공지식 노트: 5장 자료구조

5.1 복잡도: 시간복잡도, 공간복잡도 시간복잡도: 문제를 해결하는데 걸리는 시간과 입력의 함수 관계. 보통 빅오표기법으로 나타냄. ※ 빅오표기법: 입력 범위 n을 기준으로 로직이 몇 번 반복되는지 나타내는 것. -> 효율적인 코드로 개선하는 데 쓰이는 척도 공간복잡도: 프로그램을 실행시켰을 때 필요로 하는 자원 공간의 양. 자료구조에서의 시간 복잡도 - 평균 시간 복잡도 자료구조 접근 탐색 삽입 삭제 배열 O(1) O(n) O(n) O(n) 스택 O(n) O(n) O(1) O(1) 큐 O(n) O(n) O(1) O(1) 이중 연결 리스트 O(n) O(n) O(1) O(1) 해시 테이블 O(1) O(1) O(1) O(1) 이진 탐색 트리 O(log n) O(log n) O(log n) O(log n) A..

면접을 위한 CS 전공지식 노트: 4장 데이터베이스

4.1 데이터베이스의 기본 e.g., DBMS: MySQL / 응용프로그램: node.js 엔티티: 여러 개의 속성을 가진 명사. e.g., user: name, email, password, ... -> user: 엔티티, name, email, password, ...: 속성 엔티티 A가 혼자서는 존재하지 못하고 B의 존재 여부에 따라 종속적인 상태일 때 A를 약한 엔티티, B를 강한 엔티티라고 함. 릴레이션: 데이터베이스에서 정보를 구분하여 저장하는 기본 단위. RDBM에서는 테이블, NoSQL에서는 컬렉션이라고 함. ※ RDBMS - MySQL: 레코드 - 테이블 - 데이터베이스 ※ NoSQL - MongoDB: 도큐먼트 - 컬렉션 - 데이터베이스 속성: 릴레이션에서 관리하는 구체적이며 고유한 이..

면접을 위한 CS 전공지식 노트: 3장 운영체제

3.1 운영체제와 컴퓨터 운영체제의 역할 - CPU 스케줄링과 프로세스 관리 - 메모리 관리 - 디스크 파일 관리 - I/O 디바이스 관리 System Call: 시스템 콜이란 운영체제가 커널에 접근하기 위한 인터페이스이며, 유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출할 때 사용. 유저 프로그램이 I/O request로 trap을 발동하면 올바른 I/O request인지 확인한 후 유저 모드가 시스템 콜을 통해 커널 모드로 변환되어 실행됨. - CPU: Central Processing Unit. 산술논리 연산장치, 제어장치, 레지스터로 구성되어 있는 컴퓨터 장치. interrupt에 의해 단순히 메모리에 존재하는 명령어를 해석해서 실행. - 산술논리 연산장치: ALU(Arithmet..

면접을 위한 CS 전공지식 노트: 2장 네트워크

2.1 네트워크의 기초 throughput: 링크를 통해 전달되는 단위 시간당 데이터 양. 단위 bps. latency: 요청이 처리되는 시간. 어떤 메시지가 두 장치 사이를 왕복하는데 걸린 시간. 네트워크 토폴로지(network topology): 노드와 링크가 어떻게 배치되어 있는 지에 대한 방식이자 연결 형태 - 트리 토폴로지 - 버스 토폴로지 - 스타 토폴로지 - 링형 토폴로지 - 메시 토폴로지 병목현상: 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상. - 주요 원인: 네트워크 대역폭, 네트워크 토폴로지, 서버 CPU와 메모리 사용량, 비효율적인 네트워크 구성 ping: 네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어. TCP/IP 프로토..

면접을 위한 CS 전공지식 노트: 1장 디자인 패턴과 프로그래밍 패러다임

1.1 디자인 패턴 1. 싱글톤 패턴(Singleton Pattern): 하나의 클래스에 하나의 인스턴스만 가지는 패턴. 데이터베이스 연결 모듈에 많이 사용. 인스턴스 생성 비용을 줄일 수 있지만 의존성이 증가하는 문제. 1-1. 단점: TDD(Test Driven Development)시 불리: TDD 시에는 보통 테스트가 서로 독립적이어야 하는데 싱글톤 패턴은 미리 생성된 하나의 인스턴스를 기반으로 구현하는 패턴이므로 각 테스트마다 독립적인 인스턴스 생성이 어려움 1-2. 의존성 주입(DI, Dependency Injection): 의존성이 증가하는 문제를 해결 ※ 의존성 주입 원칙: 상위 모듈은 하위 모듈에서 어떠한 것도 가져올 수 없음. 둘 다 추상화에 의존해야 하며, 이때 추상화는 세부 사항에 ..

728x90
반응형