일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Level1
- LeetCode
- typescript
- VUE
- javascript
- dp
- 파이썬
- C++
- python
- 배열
- 리액트
- 동적계획법
- 프로그래밍
- 웹프로그래밍
- web
- 리트코드
- 백준
- 카카오
- Doitvue.js입문
- sql
- react
- Level3
- 코테연습
- 자바스크립트
- Medium
- Level2
- OS
- 고득점Kit
- CS
- 프로그래머스
- Today
- Total
목록CS/면접 대비 (7)
React Virtual DOM 작동원리 react는 뒤에서 실제 DOM을 모두 복사해서 virtual DOM을 만든다. 만약 리액트를 이용해서 virtual dom의 어떤 노드를 수정한다면 리액트는 새로운 virtual dom(updated virtual dom)을 만들고 이전 virtual dom 트리와 비교한다. 만약 일치하지 않는 노드를 발견한다면 리액트는 실제 dom 트리에서 해당 노드만 업데이트 시켜준다. https://youtu.be/RquK3TImY9U Virtual DOM이란 브라우저의 렌더링 엔진은 DOM 트리가 수정될 때마다 새로운 렌더 트리와 레이아웃을 생성하고 repaint 해야하기 때문에 동적 UI의 경우 성능이 저하될 수 있다. 이러한 이슈를 해결하기 위해 나온 것이 Virtu..
기초 개발상식 객체 지향 프로그래밍이란 무엇인가? RESTFul API 란? API, 라이브러리, 프레임워크 TDD 란 무엇이며 어떠한 장점이 있는가? 함수형 프로그래밍이란? MVC 패턴이란 무엇인가? Git 과 GitHub 에 대해서 객체 지향 프로그래밍이란 무엇인가? 객체지향프로그래밍이란? 프로그래밍 개발방법론 사람이 현실을 바라보는 방법을 개발에 접목 직관적으로 이해하기 쉽다 유지 보수를 용이하게 만든다. 객체들은 서로 협력하고, 역할을 맡아 책임을 수행하여 문제 상황을 해결한다. 객체가 자율적으로, 능동적으로 행동할 수 있다. 자율적으로 메시지를 처리하기 위해서 자신의 책임을 수행하는데 필요한 데이터와 프로세스를 가지고 있다. 객체란? 객체는 현실의 무언가에 대응하는 개념 class는 객체를 표현..
데이터베이스 면접 대비 데이터베이스 데이터베이스를 사용하는 이유 이전 파일시스템의 데이터 종속성 문제와 중복성, 무결성 문제를 해결하기 위해 데이터 베이스를 사용한다. 데이터 베이스는 다음과 같은 특징을 가진다. 데이터 독립성 데이터의 무결성 데이터의 보안성 데이터의 일관성 데이터 중복 최소화 인덱스 빠른 데이터 검색을 위해 컬럼의 값과 해당 레코드가 저장된 주소를 key-value 쌍으로 인덱스를 만들어두는 것이다. 인덱스가 왜 필요한지 데이터는 디스크로부터 가져오게 된다. 자주 쓰일 경우 매번 조회하는 것은 비효율적이므로 컴퓨터는 자주 사용되는 테이블을 메모리에 올린다. 메모리에 데이터가 있다면 빠르게 가져올 수 있지만 없다면 디스크 전체를 스캔해야하며 이것을 풀 테이블 스캔이라고 한다. 대용량 데이..
프론트엔드 면접 대비 (자바스크립트) var, let, const 차이 Var var는 이전에 변수를 선언하는 방식으로 더 이상 권장되지 않는다. var는 기존에 선언된 변수의 값을 덮어쓰며, 함수 스코프를 기준으로 동작한다. 문제점 var의 경우 변수를 선언할 때 선언과 초기화가 동시에 이뤄지기 때문에 호이스팅이 가능하게 된다. 블록 스코프를 무시하기 때문에 문제를 일으킬 수 있다. let es6에 새롭게 추가된 변수 선언 방식으로 블록 스코프를 가지며 선언, 초기화, 할당이 따로 이루어지기 때문에 호이스팅이 불가능하다. 재선언을 허용하지 않는다. const es6에 새롭게 추가된 변수 선언 방식으로 불변값을 가진다. let과 마찬가지로 블록 스코프를 가지며 호이스팅이 불가능하고 재선언을 허용하지 않는..
운영체제 면접 대비 운영체제란 운영체제란 하드웨어와 응용프로그램 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어이다. 자원을 효율적으로 관리한다. (자원 관리) 추상화된 인터페이스를 통해 프로그램을 사용할 수 있도록 한다. (시스템 관리) 운영체제는 자원 관리자라고 불리며 커널 함수를 실행하면서 스위칭한다. 기능 프로세스 관리 프로세스 스케줄링 및 동기화 프로세스 생성 제거, 시작과 정지 스케줄링 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 자료구조란? 메모리를 효율적으로 사용하며 빠르고 안정적으로 데이터를 처리하는 것이궁극적인..