기술면접 준비
-
기술면접 준비5기술면접 준비 2023. 4. 20. 16:04
개발 방법론 개발 방법론이란 시스템의 효율적인 개발을 위해 각종 기법 및 가이드라인을 체계적으로 제공하는 것으로써 양질의 정보시스템을 구축하고 개발 생산형 향상 및 개발 노하우 축적의 기반이 된다. 이 개발 방법론의 종류에는 구조적 방법론, 정보공학 방법론, 객체지향 방법론, 컴포넌트 기반 방법론, 애자일 방법론이 존재한다. 구조적 방법론(Structured Development) 구조적 방법론이란 기능에 따라 나누어 개발하고 이를 분할정복 접근을 통합하는 방식의 방법론이며 프로세스 중심의 하향식 방법론이다. 정보공학 방법론(Information Engineering Development) 정보공학 방법론이란 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론으로써 개발주기를 이용해 대형 ..
-
기술면접 준비4기술면접 준비 2023. 4. 20. 15:40
자료구조와 알고리즘 중에서 자주 사용되는 것들 자료구조 Array(배열) 배열이란 연속된 메모리 공간에 순차적으로 저장하는 자료구조이다. 또한 크기가 정해진(정적) 데이터의 공간이므로 크기를 변화시키려면 메모리를 재할당 해주어야한다. 배열을 구성하는 각각의 값을 요소(element) 라고 부르고, 위치를 가리키는 인덱스(index) 라고 지칭한다. 배열의 장점으로는 인덱스를 이용해 요소에 빠르게 접근할 수 있고, 메모리가 연속적으로 할당되므로 캐시 메모리 활용이 용이하며, 요소의 크기가 동일하기 때문에 메모리 사용이 효율적이다. 배열의 단점으로는 크기가 정적으로 정해지기 때문에 크기를 변화시키려면 메모리를 다시 할당해주어야 하고, 삽입과 삭제가 발생하는 상황에서 적절한 배열의 크기를 미리 결정하기 어렵다..
-
기술면접 준비3기술면접 준비 2023. 4. 17. 14:41
HTTP 와 HTTPS 차이점 HTTP HTTP 란 HyperText Transfer Protocol 의 약자로써 웹 상에서 데이터를 주고 받는 양식을 정의한 프로토콜이며, 매우 범용적인 양식을 가지고 있어 전 세계에서 제일 널리 쓰이는 프로토콜이다. HTTP의 특징 클라이언트 / 서버 구조로써 요청과 응답형태를 가지고 있는데, 클라이언트와 서버가 연결을 맺은 후 요청에 대한 응답이 이루어 지면 맺었던 연결을 끊어버리는 비연결성(Connectionless) 의 특징을 가지고 있고, 이러한 특징 때문에 서버가 클라이언트 상태를 보존하지 않는 무상태(Stateless) 프로토콜이다. 상태를 보존하지 않는다는 의미는 클라이언트가 요청을 보내고 서버에서 응답을 한 뒤 다음 요청을 보낼 때 이전 요청은 기억하지 ..
-
기술면접 준비2기술면접 준비 2023. 4. 14. 14:31
동기(Synchronous) 와 비동기(Asynchronous) 코드 실행 방식 동기(Synchronous) 동기란 직렬적으로 태스크를 수행하는 방식이다. 요청을 받고 응답하기 전까지 다음 태스크가 동작하지 않는다. 동기방식의 장점으로는 설계가 매우 간단하고 직관적이지만 단점으로는 결과가 주어질 때까지 대기해야하는 점이 있다. 또한 요청과 결과가 한 자리에서 일어나야 하고 노드 사이의 작업 처리 단위를 동시에 맞추어야 할 때 동기방식이 필요하다. 비동기(Asynchronous) 비동기란 병렬적으로 태스크를 수행하는 방식이다. 요청을 받고 응답여부와 상관없이 다음 태스크가 동작한다. 비동기방식의 장점으로는 결과가 주어지는데 시간이 걸리더라도 그 시간동안 여러작업을 수행할 수 있어 자원을 효율적으로 사용할 ..
-
기술면접 준비기술면접 준비 2023. 4. 13. 18:54
이벤트 루프(Event Loop) 가 무엇인가 자바스크립트의 런타임 모델은 Event Loop에 기반하고 있다. 또한 자바스크립트는 싱글 쓰레드 언어로써 한번에 하나의 동작만을 할 수 있는데 실제 우리가 자바스크립트를 사용하다보면 멀티 쓰레드 처럼 동시에 여러 작업을 수행할 수 있다는 것을 알게되는데 이것이 가능한 이유는 Event Loop가 자바스크립트의 동시성을 지원해주기 때문이다. 위의 사진은 자바스크립트의 동작 과정인데 하나하나 짚어보겠다. 우선 Javascript Engine은 코드의 실행을 도와주는 역할을 하는데 그중에서 가장 대표적으로 사용하는 것이 Google의 V8 엔진이다. 이 자바스크립트 엔진은 크게 세 영역으로 나뉘어 지는데 1. Call Stack 2. Memory Heap 3. ..