본문 바로가기

개념정리/기술면접대비

(10)
[기술면접 대비] 6. 모던 프레임워크 - node, vue, react [모던 프레임워크] 1. 라이브러리와 프레임워크 라이브러리는 내가 제어권을 가지고 호출해 사용하는 도구라면 프레임워크는 어떠한 환경. 제어의 역전이 일어나 프레임워크가 내 코드를 호출 할 제어권을 가짐. 여기서 의문. 리액트, 뷰, 앵귤러는 프레임워크인가 라이브러리인가? 리액트는 자신을 '사용자 인터페이스를 만들기 위한 JavaScript 라이브러리' 라고 소개한다. 뷰는 '사용자 인터페이스를 만들기 위한 프로그레시브 프레임워크' 라고 소개한다. 어째서? 유의미한 차이가 있는지 궁금함. 1. js의 모듈화 사용방법 7. require와 import 차이 require는 commonJS에서 명명한 규칙으로 node.js에서 사용하는 카워드, (내보내기도 node는 module.exports 씀) impor..
[모의면접 2차] [자료구조 및 알고리즘] Array vs LinkedList Stack and Queue Tree Binary Tree Full Binary Tree Complete Binary Tree BST(Binary Search Tree) Sorting Algorithm에서 stable 하다는 것은 무엇을 의미하나요? Sorting Algorithm이 가짓수가 많은데 그 이유가 무엇일 것 같나요? Quick sort에 대해서 설명해 줄 수 있나요? [OS] 프로세스와 스레드의 차이 프로세스는 커널의 관리 하에 실행중인 프로그램을 의미한다. 프로그램 수행에 필요한 CPU 사용 정보 (Program Counte, register set), 메모리 자원(code, data, heap, stack), 커널 스택을 독립적..
[기술면접 대비] 6. 기타 1. 객체지향 https://pizzasheepsdev.tistory.com/11?category=849060 SOLID : 의존 역전 원칙 의존 역전 원칙 (DIP : Dependency Inversion Principle) SOLID 원칙의 마지막 원칙이다. 이 원칙을 지키기 위해 해야할 행동은 꽤나 심플하기 때문에 그리 어렵지 않은 원칙이다. 우선, 사전적으로 이 원칙은 pizzasheepsdev.tistory.com 특징 1) 추상화 : 객체화 자체가 추상적인 의미. 세부적인 사물의 공통 특징을 파악해 하나의 객체로 추상화 하는 것. 2) 캡슐화 : 의존성을 해결하고 재사용성을 높이기 위함. 세부 구현내용을 은닉함. 3) 상속 : 부모-자식 간의 상속으로 확장성 4) 다형성 : 메소드 오버라이딩 ..
[모의면접 1차] [질문1] 1. 프로세스와 스레드의 차이 프로세스는 커널에 등록, 독립적인 메모리 영역 할당(code, data, heap, stack), 각각 PCB를 가짐, 스레드는 프로세스를 실행단위로 나눈 것, 프로세스의 자원을 공유함, register와 stack 영역은 독립적으로 가짐(독립적인 함수 호출, 실행 흐름을 보장하기 위해), - 멀티 스레드의 장점과 유의점 자원공유, 프로세스간 context switching 오버헤드 감소, 사용자 응답시간 단축, 병렬처리를 통한 성능 향상 concurrency problem, 서로 의존성을 가지는 스레드, 실행 순서나 context switching 시점에 따라 결과가 달라짐, critical section 보호 필요 - context switching 이란? i..
[기술면접 대비] 5. CS 공통 - 데이터베이스 Database - schema (구조&제약 조건) + instance (내용, 실제 데이터) - 연관 있는 데이터들의 집합 - 지속적인 변화와 운영 : retrieve(검색), insert, delete, update - 다중 사용자가 동시에 공유 가능 - 사용자의 요구 내용에 따라 데이터를 참조 가능 DBMS - 데이터 추상화 : 일반 사용자에게 편의성 제공 및 데이터 보호 - 운영을 위한 query language 제공 - 다중 사용자의 데이터 공유 - transaction control : 동시성 제어 - 권한 제어 - 시스템 실패로 인한 에러 복구 - 쿼리 최적화 - 사용자 클래스 별 다양한 인터페이스 제공 Query Language - DDL (Data Definition Lang) : sch..
[JS 기초탄탄 프로젝트] 브라우저 이해하기 - 문서, 이벤트, 인터페이스 참고 https://ko.javascript.info/ui 브라우저: 문서, 이벤트, 인터페이스 ko.javascript.info 1. 호스트 자바스크립트가 돌아가는 환경. 옛날에는 웹브라우저만 존재했지만 오늘날에는 Node.js 기반의 서버를 비롯해 다양한 범용 어플리케이션이 될 수 있다. 플랫폼 특정 기능은 브라우저일 경우 웹페이지 제어수단, node일 경우는 서버 사이드 기능 등이 있다. 2. 브라우저 환경 호스트가 웹브라우저일 때 사용 가능한 최상단의 기능은 winodw 객체이다. (DOM, BOM, JS를 포함한다) window 객체는 자바스크립트 코드의 전역 객체가 되며, 브라우저(호스트)를 제어할 수 있는 기능을 제공한다. 3. DOM 문서객체모델. 웹 페이지 내 콘텐츠를 객체화한 것. wi..
[기술면접 대비] 4. CS 공통 - 네트워크 네트워크, 인터넷, 웹 여러 통신 장비가 데이터를 공유할 수 있게 연결된 디지털 통신망 네트워크가 있고, 이를 이용하는 가장 큰 네트워크 통신망이 인터넷. 웹은 인터넷을 통해 이용하는 서비스 중 하나이다. 인터넷 상의 데이터 전달 packet switching : 중간중간 라우터를 거쳐가며 패킷을 전달. - 회선을 점유하지 않고 바로 다음 라우터에 보내가면서 최종 목적지로 도달. - 패킷 단위로 움직여야 함. 라우터는 패킷의 끝부분까지 다 도달할 동안 기다린 다음 단계로 이동을 시작함. - 인터넷 사용자 수의 제한이 없다. (동시에 네트워크 요청을 하는 접속자가 터지면 문제가 생기긴 함 ex 수강신청) *circuit switching : 출발지부터 최종 목적지까지 미리 길을 다 닦아놓음. 점유함. 옛날..
[기술면접 대비] 3. CS 공통 - 운영체제 [프로세스 관련] 프로세스란? 커널의 관리 하에 실행 중인 프로그램. 한 시스템 내의 작업의 단위. 프로그램은 디스크에 저장된 파일의 내용과 같은 수동적 개체라면 프로세스는 능동적인 개체. 프로세스 문맥 : CPU 상태(Program Counter, Register), 메모리 영역(code, data, heap, stack), 관련 커널 데이터(PCB, kernel stack-커널 영역에 프로세스 별로 별도의 커널스택을 생성) 각종 자원(H/W 또는 S/W resource)을 요청하고 받을 수 있음 PCB란? 프로세스 생성시 생성됨. 프로세스 관리에 필요한 정보 저장(Linked List 형태로 구성되어있음) PID, Parent PID. 프로세스 상태, CPU 정보(CPU register context..