studyHard
article thumbnail
기술 면접: 쿠키, 세션, 토큰

쿠키에 대해 설명해주세요. 쿠키는 클라이언트(웹 브라우저)에 저장되는 작은 데이터 조각입니다. 웹 서버에서 클라이언트에게 전송되어 클라이언트 측에서 유지됩니다. 쿠키는 주로 세션 관리, 사용자 인증, 개인화 등을 위해 사용됩니다. 웹 서버는 쿠키를 생성하고 HTTP 응답 헤더를 통해 클라이언트에게 전달하며, 클라이언트는 이후 요청에서 쿠키를 함께 전송하여 서버가 클라이언트를 식별하고 상태를 유지할 수 있게 합니다. 세션에 대해 설명해주세요. 세션은 서버 측에서 클라이언트의 상태를 유지하기 위한 방법입니다. 클라이언트가 웹 서버에 접속하면 서버는 해당 클라이언트에 대한 고유한 세션 식별자를 생성하고 이를 클라이언트에게 전달합니다. 클라이언트는 이 세션 식별자를 쿠키 또는 URL 매개변수를 통해 서버에 전달..

article thumbnail
기술 면접: OSI 7계층

OSI 7 계층을 설명해 주세요. OSI 7 계층은 통신이 일어나는 과정을 7단계로 정의한 국제 통신 표준 규약이다. 각 계층은 물리, 데이터 링크, 네트워크, 전송, 세션, 표현, 응용 계층으로 구성되어 있다. 물리 계층의 통신단위는 비트로, 0과 1로 구성된 데이터를 선으로 전달할 수 있도록 전기적인 신호로 변환시켜 주는 역할을 합니다. 대표적인 장치로 통신 케이블, 리피터, 허브 등이 있다. 데이터 링크 계층은 같은 LAN안의 연결된 컴퓨터들끼리 MAC (Media Access Control Address) 주소로 통신이 가능하게 해 줍니다. 데이터 전송은 Point-To-Point의 신뢰성을 보장하고, 전송되는 단위를 프레임이라 한다. 이더넷, 투 포인트 프로토콜, 근거리 네트워크 프로토콜 등이 ..

article thumbnail
기술 면접: Flux 패턴

Flux 패턴에 대해 설명해 주세요 Flux 패턴과 MVC 패턴의 차이점에 대해 설명해 주세요 Flux 패턴의 장점과 단점은 무엇인가요? Flux 패턴을 구현할 때 어떤 라이브러리를 사용할 수 있나요? 가장 널리 사용 되는 것은 Redux이다. Redux는 Flux 패턴을 기반으로 만들어 졌으며, React와의 통합이 매우 쉬워 많은 개발자들이 사용하고 있다. 그 외에도 Mobx, Fluxible, Reflux등이 있다. Redux의 작동 원리를 간단하게 설명해 주세요 액션(Action): 액션의 종류와 액션에 필요한 데이터를 전달하는 함수를 생성합니다. 스토어(Store): 애플리케이션의 상태와 액션을 처리하는 로직이 들어있는 객체입니다. 리듀서(Reducer): 이전 상태와 액션을 받아서 다음 상태를..

article thumbnail
기술 면접: MVC 패턴

MVC 패턴이 무엇인가요? 더보기 Model-View-Controller는 소프트웨어 디자인 패턴 중 하나로 애플리케이션을 모델, 뷰, 컨트롤러로 구성한다. 이때 모델은 데이터를 관리, 데이터베이스와의 상호 작용 등을 처리. 뷰는 사용자 UI를 구성, 모델에서 가져온 데이터를 표시. 컨트롤러는 모델과 뷰간의 상호 작용을 관리, 사용자 입력을 처리하며, 모델의 데이터를 업데이트하고 뷰에 반영. MVC 패턴은 각각의 구성요소가 독립적으로 작동하여 유지보수와 확장성을 향상하고 애플리케이션의 논리적인 구조를 분리함으로써 유연성을 높이고 개발 속도를 빠르게 할 수 있다. MVC 패턴을 사용하는 이유는 무엇인가요? 더보기 MVC 패턴은 웹 개발에서 많이 사용되는데, 이는 웹 애플리케이션에서 데이터, UI 및 비즈니..

article thumbnail
기술 면접: React

많은 개발자들이 React를 사용하고 있는데, 그 이유에 대해서 설명해주세요. 더보기 React는 Facebook에서 만든 오픈소스 라이브러리로, 웹 애플리케이션을 빠르고 쉽게 개발하도록 도와줍니다. Virtual DOM React는 Virtual DOM을 사용하여 페이지 갱신 속도를 높입니다. Virtual DOM은 React에서 UI를 업데이트할 때 사용되는 메모리상의 가상 DOM입니다. 실제로는 DOM을 업데이트하지 않고, 이를 효율적으로 처리하여 성능을 개선합니다. Component-Based Architecture React는 컴포넌트 기반 아키텍처를 사용하여 애플리케이션의 복잡성을 낮춥니다. 컴포넌트는 재사용 가능한 UI 조각으로 분리됩니다. 이러한 컴포넌트 기반 아키텍처는 코드 재사용성과 유..

article thumbnail
기술 면접: 동기 / 비동기, Promise, 콜백 지옥, async / await

동기 비동기 차이 동기 Synchronous 동기는 요청과 결과가 동시에 일어납니다. 요청을 하면 시간이 얼마나 걸리든 요청한 자리에서 결과가 주어져야 합니다. 동기방식은 직관적이고 순서에 맞춰 진행되는 장점이 있지만, 결과가 주어질 때까지 아무것도 못하고 대기해야 하는 단점이 있습니다. 비동기 Asynchronous 비동기 처리는 요청과 결과가 동시에 일어나지 않고, 응답을 즉시 처리하지 않아도 되므로 대기 시간 동안 다른 작업을 처리할 수 있습니다. 이는 자원을 효율적으로 활용할 수 있게 해주는 장점이 있지만, 동기 방식보다 복잡하고 구현이 어려울 수 있습니다. 블록/논블록은 기술적으로 명확히 구분 동기/비동기는 블록/논블록과 다르게 기술적으로 구분되지 않으며, 추상적인 구분 즉, 행위에 대한 이야기..