면접 3

자바스크립트 기본 개념 QnA (feat. 면접 뽀개기)

목차 자바스크립트에서 스레드에 대해 아는데로 말해주세요. 자바스크립트는 싱글 쓰레드 기반으로 동작하는 언어입니다. 그리고 비동기 처리를 위한 이벤트 루프 기반으로 작동합니다. 자바스크립트에는 싱글 스레드 방식으로 함수를 처리하는 콜 스택이 있고, 들어온 비동기 코드들은 Web API 로 인해 콜백 큐로 이동해 대기하고 있다가, 실행 순서가 되면 메인 콜 스택으로 불러와 실행됩니다. 그리고 이 과정이 이벤트 루프에 의해 이루어집니다. 이런 과정을 통해 비동기 코드를 처리해 동시에 코드가 돌아가는것처럼 실행됩니다. 추가) - 멀티 쓰레드 방식으로 작동한다면 동시성 문제를 해결해야하고, 이를 위한 복잡한 시나리오들을 신경써야 합니다. 일급 객체의 개념을 자바스크립트와 관련지어 말해주세요. 아래 3가지 조건을 ..

리액트 기본 개념 QnA. 2탄 (feat. 면접 뽀개기)

children prop이란 무엇인가요? 커스텀 컴포넌트 태그 사이에 삽입되는 태그들을 해당 커스텀 컴포넌트 태그에서 children이라는 prop으로 받아서 사용할 수 있습니다. 만약 이를 타입스크립트와 같이 사용한다면 React.ReactNode 라는 타입으로 선언해 사용하면 됩니다. function App() { return ( This is Title Hello World! ) } // === function CustomTag({children}) { // children에서 위 기준 h1, p 태그를 담고 있습니다. return (...) } 클래스 컴포넌트의 super constructor가 존재하는 이유가 무엇일까요? super는 부모 클래스 생성자를 참조한다는 것을 의미하기에 자바스크립트 ..

리액트 기본 개념 QnA. 1탄 (feat. 면접 뽀개기)

목차 리액트 면접 대비용으로 QnA 형태로 주요 개념을 나열한 글입니다. React란 무엇일까요? 리액트는 페이스북이 만든 자바스크립트 라이브러리입니다. 주로, 사용자 View 영역을 만들기 위해 사용됩니다. 리액트는 라이브러리인가 프레임워크인가? 우선, 라이브러리와 프레임워크의 주요 차이점은 앱의 흐름 제어권을 누가 가지고 있는지에 따라 나누어집니다. 라이브러리는 내가 주도성을 가지고 가져와 호출해 사용하는 개념이고, 프레임워크는 자체적으로 주도성을 가지고 있고, 내가 거기에 들어가서 사용하고 호출하는 개념입니다. 리액트는 UI 렌더링에만 관심을 가지고 있고 그 외 동작 (라우터, 상태 관리, 빌드, 테스트 등)들을 수행하기 위해서 다른 기술 스택들을 사용해야 한다는 관점에서 보면 리액트도 결국 뷰 관..