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

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

[면접을 위한 CS 전공지식 노트] 6장 포트폴리오와 면접

6.1 포트폴리오 6.1.1 첫 문장이 중요하다 한 줄로 자신을 표현하라 장점 세가지를 부연 설명으로 나타내는 것이 좋다 6.1.2 숫자로 말하라 시시콜콜한 성장 배경을 쓰지말고, 자신이 어떤 사람인지 수학적, 논리적으로 표현해야 한다. 6.1.3 기술의 숙련도를 나눠서 표기하라 기업의 요강이나 취업공고를 보고 기술들을 채워라 6.1.4 리드미를 잘 작성하라 프로젝트의 아키텍처나 ERD를 잘 표현해주는 것이 중요하다 면접관들은 깃허블르 자세히 보지 않기 때문에, '한 눈에' 봐도 잘 알 수 있도록 하는 것이 중요 6.1.5 오픈 소스 컨트리뷰터가 되자 오픈 소스 컨트리뷰터는 내가 사용하고 있는 프레임워크나 라이브러리 개발자를 말한다. 6.1.6 블로깅을 하자 6.2 면접 6.2.1 꼬리에 꼬리를 무는 질..

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

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

5.1 복잡도 5.1.1 시간 복잡도 시간 복잡도: 입력 크기에 대해 어떠한 알고리즘이 실행되는 데 걸리는 시간 빅오 표기법: 입력 범위 n을 기준으로 해서 로직이 몇번 반복되는지 나타내는 것 5.1.2 공간 복잡도 공간 복잡도: 프로그램을 실행시켰을 때 필요로 하는 자원 공간의 양 5.2 선형 자료 구조 5.2.1 연결 리스트 연결 리스트: 데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율을 극대화시킨 자료구조. 삽입 및 삭제 O(1), 탐색 O(n). - 싱글 연결 리스트: next 포인터만 가짐 - 이중 연결 리스트: next 포인터와 prev 포인터를 가짐 - 원형 이중 연결 리스트: next 포인터와 prev 포인터를 가지고 마지막 노드의 next 포인터가 head 노드를 가리킴. 5.2.2..

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

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

4.1 데이터베이스의 기본 데이터베이스는 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음입니다. DBMS: 해당 데이터베이스를 제어, 관리하는 통합 시스템 4.1.1 엔터티 엔터티는 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미 약한 엔터티: 종속적인 엔터티 강한 엔터티: 종속 받는 엔터티 4.1.2 릴레이션 릴레이션은 데이터베이스에서 정보를 구분하여 저장하는 기본 단위 릴레이션은 관계형 데이터베이스에서는 '테이블'이라고 하며 NoSQL 데이터베이스에서는 '컬렉션'이라고 한다. MySQL : 레코드 - 테이블 - 데이터베이스 MongoDB : 도큐먼트 - 컬렉션 - 데이터베이스 4.1.3 속성 속성은 릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보 4..

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

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

운영체제 (OS, Operating System)는 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스입니다. 3.1 운영체제와 컴퓨터 3.1.1 운영체제의 역할과 구조 * 운영체제의 역할 1. CPU 스케줄링과 프로세스 관리 2. 메모리 관리 3. 디스크 파일 관리 4. I/O 디바이스 관리 * 운영체제의 구조 GUI: 사용자가 전자장치와 상호 작용할 수 있도록 하는 사용자 인터페이스의 한 형태, 단순 명령어 창이 아닌 아이콘을 마우스로 클릭하는 단순한 동작으로 컴퓨터와 상호 작용할 수 있도록 해준다. 드라이버: 하드웨어를 제어하기 위한 소프트웨어 CUI: 그래픽이 아닌 명령어로 처리하는 인터페이스 * 시스템콜 시스템콜이란, 운영체제가 커널에 접근하기 위한 인터페이스이며, 유저 프로그램이 운영체제의 서비스..

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

[면접을 위한 CS 전공지식 노트] 2장 네트워크 (2)

2.3 네트워크 기기 2.3.1 네트워크 기기의 처리 범위 - 애플리케이션 계층: L7 스위치 - 인터넷 계층: 라우터, L3 스위치 - 데이터 링크 계층: 브리지, L2 스위치 - 물리 계층: NIP, 리피터, AP 2.3.2 애플리케이션 계층을 처리하는 기기 스위치는 여러 장비를 연결하고 데이터 통신을 중재하며 목적지를 연결된 포트로만 전기 신호를 보내 데이터를 전송하는 통신 네트워크 장비다. L7 스위치(=로드밸런서)는 서버의 부하를 분산하는 기기이다. 클라이언트로부터 오는 요청들을 뒤쪽의 여러 서버로 나누는 역할을 하며 시스템을 처리할 수 있는 트래픽 증가를 목표로 한다. 정기적으로 헬스 체크 (health check)를 하면서 장애 여부를 판단 *L4 스위치 vs L7 스위치 로드밸런서러는 L4..

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

[면접을 위한 CS 전공지식 노트] 2장 네트워크 (1)

2.1 네트워크의 기초 네트워크란, 노드와 링크가 서로 연결되어 있거나 연결되어 있지 않은 집합체를 의미한다. 노드: 서버, 라우터, 스위치 등 네트워크 장치 링크: 유선 또는 무선 2.1.1 처리량과 지연 시간 좋은 네트워크란, 많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크를 말한다. 처리량(throughput): 링크를 통해 전달되는 단위 시간당 데이터양, 단위 bps (bits per second) 지연 시간(latency): 요청이 처리되는 시간, 어떤 메시지가 두 장치 사이를 왕복하는 데 걸린 시간 2.1.2 네트워크 토폴로지와 병목 현상 네트워크 토폴로지는 노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태를 의미한다. 1) 트리 ..

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

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

1.1 디자인 패턴 디자인 패턴이란, 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것을 의미한다. 1.1.1 싱글톤 패턴 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴, 보통 데이터베이스 연결 모듈에 많이 사용한다. 장점: 인스턴스를 생성할 때 드는 비용이 준다. 단점: 의존성이 높아짐, TDD(Test Driven Development)시 불리하다. * 의존성 주입 싱글톤 패턴은 모듈 간의 결합을 강하게 만들 수 있다는 단점이 있다. 의존성 주입(DI, Dependency Injection)을 통해 모듈 간의 결합을 조금 느슨하게 만들어 해결할 수 있다. DI를 통해 메인 (상위) 모듈은 하위 모듈에 대한 의존성..

바규냐하
'면접을위한CS전공지식노트' 태그의 글 목록