목록전체 글 (68)
Let's kick it
동기분들과 스터디 진행 중에 CS 전공지식 노트를 같이 읽기 시작 후 이 책의 마지막 장을 읽고 나니 1~5장(디자인 패턴/프로그래밍 패러다임, 네트워크, 운영체제, 데이터베이스, 자료구조)에 대해 정리할 겸 "이 정도는 기억하고 있나?"를 가볍게 점검해볼 수 있는 퀴즈를 만들어봤습니다.OX/단답/사지선다 섞어서 가볍게 풀어볼 수 있게 구성했습니다.정답은 각 챕터 끝에 접어뒀으니, 먼저 풀어보고 펼쳐보시는 걸 추천합니다☺️1장. 디자인 패턴 & 프로그래밍 패러다임[OX] 1. 라이브러리는 내가 코드의 흐름을 제어하고, 프레임워크는 프레임워크가 내 코드를 호출하는 구조다. (O / X)[단답] 2. 싱글톤 패턴에서, 외부에서 new로 인스턴스를 못 만들게 막기 위해 생성자에 붙이는 접근 제어자는 무엇인가?..
📖 면접을 위한 CS 전공지식 노트 Chapter 5 정리목차5.1 복잡도5.2 선형 자료구조5.3 비선형 자료구조5.1 복잡도 (Complexity)복잡도는 시간 복잡도와 공간 복잡도로 나뉜다.시간 복잡도: 입력 크기 n에 따라 로직이 몇 번 실행되는지를 나타냄. 빅오(Big-O) 표기법으로 표현공간 복잡도: 프로그램 실행 시 사용되는 자원(메모리)의 양5.2 선형 자료구조 (Linear Data Structure)요소가 일렬로 나열된 구조.자료구조특징활용 예시연결리스트노드가 선으로 연결. 싱글 / 이중 / 원형 이중 연결리스트로 구분. 가장 앞 노드 = 헤드음악 플레이어 재생목록, 이미지 뷰어 슬라이드벡터요소를 동적으로 할당크기를 미리 알 수 없는 검색 결과 목록스택LIFO (후입선출)재귀 함수/알..
📖 면접을 위한 CS 전공지식 노트 Chapter 4 정리목차데이터베이스의 기본ERD와 정규화 과정트랜잭션과 무결성데이터베이스의 종류인덱스조인의 종류조인의 원리1. 데이터베이스의 기본데이터베이스(DB) 란 일정한 규칙 또는 규약을 통해 구조화되어 저장되는 데이터의 모음이다.이 DB를 제어·관리하는 통합 시스템을 DBMS(Database Management System) 라고 하며, DB 안의 데이터는 DBMS마다 정의된 쿼리 언어를 통해 삽입, 수정, 삭제, 조회가 가능하다.DB는 실시간 접근과 동시 공유가 가능하다.구조: DB → DBMS → 응용 시스템 순으로 데이터를 주고받는다.1.1 엔터티 (Entity)사람, 장소 등 여러 개의 속성을 지닌 명사예) 회원 엔터티 → 이름, 아이디, 주소, 전화..
📚 면접을 위한 CS 전공지식 노트 | 3장 정리3.1 운영체제와 컴퓨터운영체제(OS)란?운영체제(Operating System, OS)는 사용자가 컴퓨터를 편리하게 사용할 수 있도록 제공하는 소프트웨어 인터페이스다.펌웨어 vs 운영체제펌웨어는 운영체제와 유사하지만, 소프트웨어 추가 설치가 불가능하다는 차이점이 있다.운영체제의 역할 4가지역할설명CPU 스케줄링과 프로세스 관리어떤 프로세스에 CPU를 얼마나 할당할지 결정메모리 관리한정된 메모리를 어떤 프로세스에 얼마나 할당할지 결정디스크 파일 관리디스크 파일을 어떤 방식으로 보관할지 관리I/O 디바이스 관리마우스, 키보드 등 I/O 디바이스와 컴퓨터 간의 데이터 주고받기 관리운영체제의 구조GUI / CUI (사용자 인터페이스) ↓ 시스..
📚 면접을 위한 CS 전공지식 노트 2장을 읽고 정리한 내용입니다.이전 포스팅 → 네트워크 정리 1편 (네트워크 기초 ~ 네트워크 기기)2편: IP 주소 ~ HTTP (2.4 ~ 2.5)2.4 IP 주소ARP / RARPARP (Address Resolution Protocol): IP 주소 → MAC 주소로 변환RARP: MAC 주소 → IP 주소로 변환 (반대 방향)같은 네트워크 안에서 실제로 데이터를 전달하려면 IP 주소만으로는 부족하고, 실제 하드웨어 주소인 MAC 주소가 필요하다. ARP가 이 둘을 연결해주는 역할을 한다.홉바이홉 통신패킷이 목적지까지 가는 과정에서 라우터를 하나씩 거쳐가는 방식.각 라우터는 라우팅 테이블을 참고해서 다음으로 보낼 경로를 결정한다.라우팅: 패킷의 최적 경로를 결..
📚 면접을 위한 CS 전공지식 노트 2장을 읽고 정리한 내용입니다.이전 포스팅 → 프로그래밍 패러다임 정리2장은 분량이 많아서 2편으로 나눠 정리합니다.1편: 네트워크 기초 ~ 네트워크 기기 (2.1 ~ 2.3)2편: IP 주소 ~ HTTP (2.4 ~ 2.5)2.1 네트워크의 기초네트워크란?네트워크는 노드(Node) 와 링크(Link) 의 집합이다.노드: 네트워크 장치. 라우터, 서버, 스위치 등링크: 노드를 연결하는 통신 매체. 유선(이더넷 케이블, 광섬유)과 무선(Wi-Fi)으로 나뉜다좋은 네트워크란?지표설명지연 시간 (Latency)요청 후 응답까지 걸리는 시간. 짧을수록 좋다처리량 (Throughput)단위 시간당 처리할 수 있는 트래픽 양. 많을수록 좋다네트워크 토폴로지노드와 링크를 어떻게 ..
📚 면접을 위한 CS 전공지식 노트 1장을 읽고 정리한 내용입니다.이전 포스팅 → 디자인 패턴 정리프로그래밍 패러다임이란?프로그래머에게 프로그래밍의 관점을 갖게 해주는 개발 방법론이다.쉽게 말하면, "코드를 어떤 시각과 방식으로 작성할 것인가"에 대한 철학이다.패러다임 전체 구조프로그래밍 패러다임├── 선언형 (Declarative) ← "무엇을(What)" 중심│ └── 함수형 (Functional) ← 선언형의 한 종류└── 명령형 (Imperative) ← "어떻게(How)" 중심 ├── 객체지향 (OOP) └── 절차형 (Procedural)💡 함수형은 선언형의 일종이다. 함수형이 선언형과 "같다"는 게 아니라, 선언형이라는 큰 틀 안에 함수형이 ..
📚 면접을 위한 CS 전공지식 노트 1장을 읽고 정리한 내용입니다.디자인 패턴이란?프로그램을 설계할 때 발생하는 문제들을 객체 간의 상호 관계 등을 이용해 해결할 수 있도록 만들어 놓은 규약이자 설계 템플릿이다.들어가기 전에 자주 혼동하는 개념 하나 짚고 가자.라이브러리 vs 프레임워크둘 다 자주 쓰는 기능을 모듈화한 것이라는 공통점이 있다.라이브러리프레임워크제어권내가 필요할 때 가져다 씀프레임워크가 내 코드를 호출함규칙파일/폴더 명 규칙 없음정해진 규칙과 구조 존재예시Lombok, GsonSpring Boot, Django핵심 차이는 제어의 역전(IoC) 이다. 내가 흐름을 제어하면 라이브러리, 프레임워크가 흐름을 제어하면 프레임워크다.1. 싱글톤 패턴 (Singleton Pattern)하나의 클래스..