카일_

Careers

Careers/Interview

[FE 면접질문] 인성 및 기타

인성 및 기타 질문에 대한 답변은 개인마다 다를 수 있으므로 질문만 작성함 기본 빈출 질문 자기소개를 부탁드립니다. 저희 회사에 지원하게된 동기가 무엇인가요? 입사 후 포부에 대해 말씀해주세요. 빈번한 질문의 의도 우리 회사가 아니면 안 되는 이유는 무엇인가요? - 지원한 회사를 선택한 기준에 대해 생각해 볼 것 우리 회사 입사를 위해 남다른 무엇을 했나요? - 차별화 왜 지원자를 뽑아야 하는지 이유를 말씀해주세요. - 자신감 우리 회사와 업계에 대해 아는대로 말씀해주세요. - 기업분석 입사하면 어떤 성과를 낼 수 있으실까요? - 직무 분석 지원자가 다른 사람들과 다른 점은 무엇인가요? - 가치관, 철학, 의식, 비전 등 학창시절, 학업 이외 다른 분야에 몰두한 경험이 있나요? - 적극성을 판단, 수동적..

Careers/Interview

[FE 면접질문] React (2)

컴포넌트(클래스 / 함수) 함수 컴포넌트와 클래스 컴포넌트의 차이가 무엇인가요? 클래스 컴포넌트 먼저 클래스 컴포넌트는 자바스크립트의 class 키워드로 시작하여 React.Component를 상속받는 형태를 가지고 있다. 컴포넌트별로 state 속성을 정의할 수 있고, state 초기화를 위해 constructor 함수를 사용할 수 있다. 그리고 컴포넌트 라이프사이클별 메소드를 임의로 정의하여 사용할 수 있다. 마지막으로 render 메소드를 통해 컴포넌트가 렌더링 할 JSX를 반환한다. 함수 컴포넌트 함수 컴포넌트는 기존에 state를 관리할 수 없고 라이프사이클별 코드를 작성할 수 없어서 선호되지 않았다. 하지만 리액트 Hook의 추가로 useState와 같은 Hook을 통해 상태와 여러가지 상황 ..

Careers/Interview

[FE 면접질문] React (1)

React React는 라이브러리인가요 프레임워크인가요? 공식문서에서도, 리액트는 View에 관련된 기능 개발을 위한 라이브러리라고 소개하고 있다. 리액트를 사용할 때, 라우팅이나 상태관리와 같은 개발에 필요한 여러 기능들은 서드파티 라이브러리에 의존해야 한다. 따라서 리액트는 개발을 위한 자바스크립트 라이브러리라고 생각한다. 라이브러리와 프레임워크의 차이를 알고 있나요? 라이브러리는 특정 기능 개발을 도와주는 도구들을 모아놓은 개념이고, 프레임워크는 프로그램을 개발하기 위한 구조를 제공하는 개념이다. 따라서 프레임워크를 사용하면 개발에 대한 전체적인 기능을 제공하고, 프로그램 제어 흐름을 프레임워크에서 관리하는 차이점이 있다. 리액트의 특징을 설명해주세요. (리액트를 사용한 이유) 리액트는 단방향 데이..

Careers/Interview

[FE 면접질문] Javascript (3)

브라우저 렌더링 과정 브라우저 렌더링 과정에 대해 설명해주세요. (프론트엔드 위주) 다운로드 웹 브라우저에 사용자가 입력한 URL 주소를 DNS를 통해 IP 주소를 검색하고, 그 IP 주소에 HTTP GET 요청 메시지를 전송한다. 네트워크를 통해 웹서버로부터 요청에 대한 웹 서버로부터 응답 메세지를 전달 받는다. 파싱 (DOM 트리, CSSOM 트리 생성) 브라우저는 응답 메세지의 body에 있는 HTML를 문서를 파싱해 DOM 트리 생성을 시작한다. 먼저 HTML 상단의 DOCTYPE 을 읽어서 HTML 버전을 체크하고, 그 이후 버전에 따라 HTML 파일을 마크업 단위로 시리얼라이징 한다. 파싱 과정 중 link, script, img 와 같은 특수한 태그를 만나면 추가적인 일을 진행한다. 스타일 ..

Careers/Interview

[FE 면접질문] Javascript (2)

객체지향 프로그래밍 객체지향 프로그래밍이란? 현실 세계의 사물처럼, 프로그래밍에 필요한 개념을 객체라는 개념으로 추상화하고, 객체들간의 상호작용을 중심으로 프로그래밍하는 패러다임을 의미한다. 객체지향 프로그래밍에서 객체란? 좁은 의미로 객체는 클래스의 인스턴스라고 할 수 있고, 넓은 의미에서 객체는 속성과 행위로 이루어진 독립된 단위를 의미한다. 객체지향 프로그래밍의 특징을 설명해주세요. 추상화 : 추상화는 객체간에 공통적인 특징이나 기능을 추출하는 것을 의미한다. (예를 들어, 강아지와 고양이를 동물이라는 공통적인 특징으로 추상화 할 수 있다.) 상속 : 상속은 기존 객체의 기능을 다른 객체에서 사용할 수 있도록 넘겨주는 것을 의미한다. 다형성 : 다형성은 어떤 메소드가 다양한 방식으로 동작할 수 있는..

Careers/Interview

[FE 면접질문] Javascript (1)

프로그래밍 프로그래밍이란 무엇인가요? 프로그래밍이란 문제상황을 이해하고 분석하여 도출한 해결 방법을 컴퓨터에게 실행 요청하는 것이다. 컴파일러/인터프리터를 알고 계신가요? 컴퓨터에게 어떤 문제 해결을 요청할 때는 프로그래밍 언어라고 하는 사람이 이해할 수 있는 문법을 사용하여 코드를 작성한다. 하지만 컴퓨터는 기계어만 이해할 수 있기 때문에 우리가 작성한 자연어 상태의 코드를 이해할 수 없다. 그래서 프로그래밍 언어로 구성된 코드를 컴퓨터가 이해할 수 있는 코드로 변환하는 일종의 번역기를 컴파일러 또는 인터프리터라고 부른다. 컴파일러와 인터프리터의 차이를 알고 계신가요? 둘 다 고수준의 언어를 컴퓨터가 실행할 수 있는 기계어로 변환하는 기능을 가지고 있다. 컴파일러는 전체 코드를 한 번에 컴퓨터가 실행할..