Top 38 자바 스크립트 기술 면접 Quick Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 자바 스크립트 기술 면접 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://toplist.aseanseafoodexpo.com team, along with other related topics such as: 자바 스크립트 기술 면접 자바 백엔드 기술면접, 프론트엔드 면접 문제 은행, 프론트엔드 면접 후기, 프론트엔드 기술면접 질문, Node.js 면접 질문, 프론트엔드 면접 질문 GitHub, TypeScript 면접 질문, react 기술면접


[제로초 토크] 자바스크립트에서 알아야 할 필수 개념들
[제로초 토크] 자바스크립트에서 알아야 할 필수 개념들


자바스크립트 기술면접 1편

  • Article author: velog.io
  • Reviews from users: 9750 ⭐ Ratings
  • Top rated: 3.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 자바스크립트 기술면접 1편 자바스크립트의 탄생1995년 넷스케이프 커뮤니케이션즈에서 웹 페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어 … …
  • Most searched keywords: Whether you are looking for 자바스크립트 기술면접 1편 자바스크립트의 탄생1995년 넷스케이프 커뮤니케이션즈에서 웹 페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어 … 자바스크립트의 탄생1995년 넷스케이프 커뮤니케이션즈에서 웹 페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어를 도입하기를 결정한다. 그래서 탄생한 것이 브랜던 아이크가 개발한 자바스크립트이다.크로스 브라우징 이슈가 발생하기 시작한 이유
  • Table of Contents:
자바스크립트 기술면접 1편
자바스크립트 기술면접 1편

Read More

프론트엔드 개발자 기술면접 인터뷰 질문 모음(업데이트)

  • Article author: realmojo.tistory.com
  • Reviews from users: 16741 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 프론트엔드 개발자 기술면접 인터뷰 질문 모음(업데이트) 프론트엔드 기술면접 실제현업 질문 모음 최근 1년 간 프론트엔드 면접을 7번 정도 본 것 같다. … Javascript 프레임워크, 플러그인, 그 외 사용법 등 중요한 질문. …
  • Most searched keywords: Whether you are looking for 프론트엔드 개발자 기술면접 인터뷰 질문 모음(업데이트) 프론트엔드 기술면접 실제현업 질문 모음 최근 1년 간 프론트엔드 면접을 7번 정도 본 것 같다. … Javascript 프레임워크, 플러그인, 그 외 사용법 등 중요한 질문. 프론트엔드 기술면접 실제현업 질문 모음 최근 1년 간 프론트엔드 면접을 7번 정도 본 것 같다. 국내 IT 대기업 N사만 여러번, K사, 온라인쇼핑몰 C사 등등 여러군데를 면접을 진행했으며 비록 떨어졌지만 여러모..
  • Table of Contents:
See also  Top 13 차세대 보안 리더 합격 Best 69 Answer

태그

관련글

티스토리툴바

프론트엔드 개발자 기술면접 인터뷰 질문 모음(업데이트)
프론트엔드 개발자 기술면접 인터뷰 질문 모음(업데이트)

Read More

자바스크립트 기술면접 정리 : 네이버 블로그

  • Article author: m.blog.naver.com
  • Reviews from users: 48237 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 자바스크립트 기술면접 정리 : 네이버 블로그 let, const 키워드는 ES6 에서 추가된 새로운 변수 정의 키워드 입니다. var 는 함수 스코프이며(for, while, if 문 등 함수내부이기만 하면 변수가 생존 … …
  • Most searched keywords: Whether you are looking for 자바스크립트 기술면접 정리 : 네이버 블로그 let, const 키워드는 ES6 에서 추가된 새로운 변수 정의 키워드 입니다. var 는 함수 스코프이며(for, while, if 문 등 함수내부이기만 하면 변수가 생존 …
  • Table of Contents:

카테고리 이동

선비같은 개발자

이 블로그 
기술면접
 카테고리 글

카테고리

이 블로그 
기술면접
 카테고리 글

자바스크립트 기술면접 정리 : 네이버 블로그
자바스크립트 기술면접 정리 : 네이버 블로그

Read More

프론트엔드 개발자 면접 질문(기술면접) 정리

  • Article author: sunnykim91.tistory.com
  • Reviews from users: 35357 ⭐ Ratings
  • Top rated: 3.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 프론트엔드 개발자 면접 질문(기술면접) 정리 중간에 HTML파서는 Script태그를 만나게 되면 javascript 코드를 실행하기 위해 파싱을 중단 -> 제어권한을 자바스크립트 엔진에게 넘기고, … …
  • Most searched keywords: Whether you are looking for 프론트엔드 개발자 면접 질문(기술면접) 정리 중간에 HTML파서는 Script태그를 만나게 되면 javascript 코드를 실행하기 위해 파싱을 중단 -> 제어권한을 자바스크립트 엔진에게 넘기고, … 신입 프론트엔드 개발자 취업과정부터 필요한 능력까지- Part1 취업과정(feat.주니어 개발자) sunnykim91.tistory.com/135 신입 프론트엔드 개발자 취업과정부터 필요한 능력까지- Part1 취업과정(feat.주니어 개..
  • Table of Contents:

관련글

댓글45

공지사항

최근글

인기글

최근댓글

태그

전체 방문자

프론트엔드 개발자 면접 질문(기술면접) 정리
프론트엔드 개발자 면접 질문(기술면접) 정리

Read More

기술면접대비 – 테크 피드 | 프로그래머스

  • Article author: career.programmers.co.kr
  • Reviews from users: 28058 ⭐ Ratings
  • Top rated: 4.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 기술면접대비 – 테크 피드 | 프로그래머스 프론트엔드 개발자 기술면접 인터뷰 질문 모음 … this는 자바스크립트 런타임 시에 바인딩이 이루어지는 실행 컨텍스트 중 하나로, 해당 함수가 실행되는 동안에 … …
  • Most searched keywords: Whether you are looking for 기술면접대비 – 테크 피드 | 프로그래머스 프론트엔드 개발자 기술면접 인터뷰 질문 모음 … this는 자바스크립트 런타임 시에 바인딩이 이루어지는 실행 컨텍스트 중 하나로, 해당 함수가 실행되는 동안에 … 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.코딩 교육, 코딩, 프로그래밍, 실습, 생활코딩, 알고리즘
  • Table of Contents:
See also  Top 35 박정현 기억 의 습작 Mp3 The 108 New Answer
기술면접대비 - 테크 피드 | 프로그래머스
기술면접대비 – 테크 피드 | 프로그래머스

Read More

[면접] 프론트엔드 개발자 기술 면접 문제 정리1

  • Article author: junghn.tistory.com
  • Reviews from users: 31868 ⭐ Ratings
  • Top rated: 4.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [면접] 프론트엔드 개발자 기술 면접 문제 정리1 호이스팅(hoisting)이란? 자바스크립트에서 선언된 변수, 함수들 모두 끌어올려 유효 범위 내의 최상단에 선언하는 것을 말함. …
  • Most searched keywords: Whether you are looking for [면접] 프론트엔드 개발자 기술 면접 문제 정리1 호이스팅(hoisting)이란? 자바스크립트에서 선언된 변수, 함수들 모두 끌어올려 유효 범위 내의 최상단에 선언하는 것을 말함. 호이스팅(hoisting)이란? 자바스크립트에서 선언된 변수, 함수들 모두 끌어올려 유효 범위 내의 최상단에 선언하는 것을 말함 함수 호이스팅이 발생하는 원인 : 자바스크립트 변수 생성과 초기화(선언과 할당)가..
  • Table of Contents:

관련글

댓글0

공지사항

최근글

인기글

최근댓글

전체 방문자

티스토리툴바

[면접] 프론트엔드 개발자 기술 면접 문제 정리1
[면접] 프론트엔드 개발자 기술 면접 문제 정리1

Read More

실제로 받은 프론트엔드 개발자 면접 질문 모음 :: 자라는 것을 잘하는 개발자

  • Article author: xiubindev.tistory.com
  • Reviews from users: 46772 ⭐ Ratings
  • Top rated: 4.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 실제로 받은 프론트엔드 개발자 면접 질문 모음 :: 자라는 것을 잘하는 개발자 JavaScript. ⭐️ Promise와 Callback 차이를 설명해주세요. 콜백 지옥(Callback hell)을 해결하는 방법을 말씀해주세요. …
  • Most searched keywords: Whether you are looking for 실제로 받은 프론트엔드 개발자 면접 질문 모음 :: 자라는 것을 잘하는 개발자 JavaScript. ⭐️ Promise와 Callback 차이를 설명해주세요. 콜백 지옥(Callback hell)을 해결하는 방법을 말씀해주세요. 첫 번째 직장에는 운 좋게 바로 들어가서 일을 시작했기 때문에, 제대로 취업 준비를 해본 경험이 없었다. 그래서 이번에 다시 프론트엔드 개발자로 취업 준비를 하면서 코딩 테스트 공부도 하고, 특히 프론트엔..자라는 것을 잘하는 개발자가 되고 싶은 xiubin입니다.
    ⛏ 꾸준한 삽질과 기록을 통해 자라나고 있습니다.
    👫 함께 성장하는 것을 좋아합니다.
    🎁 가치있는 서비스 개발을 위해 노력합니다.
    💻 중국어를 배웠고 이젠 프로그래밍 언어를 배웁니다.
  • Table of Contents:

TAG

관련글 관련글 더보기

인기포스트

티스토리툴바

실제로 받은 프론트엔드 개발자 면접 질문 모음 :: 자라는 것을 잘하는 개발자
실제로 받은 프론트엔드 개발자 면접 질문 모음 :: 자라는 것을 잘하는 개발자

Read More

[IT 면접대비] 개발자 기술면접 대비 🖥️/ 3️⃣ – JavaScript (2)

  • Article author: programming119.tistory.com
  • Reviews from users: 33672 ⭐ Ratings
  • Top rated: 3.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [IT 면접대비] 개발자 기술면접 대비 🖥️/ 3️⃣ – JavaScript (2) Scope 란 무엇인가요? 변수가 값을 참조할 때 접근할 범위 이고, 흔히 그 접근할 수 있는 범위를 찾는 규칙을 말합니다. 자바스크립트는 함수 코드 … …
  • Most searched keywords: Whether you are looking for [IT 면접대비] 개발자 기술면접 대비 🖥️/ 3️⃣ – JavaScript (2) Scope 란 무엇인가요? 변수가 값을 참조할 때 접근할 범위 이고, 흔히 그 접근할 수 있는 범위를 찾는 규칙을 말합니다. 자바스크립트는 함수 코드 … Scope 란 무엇인가요? 변수가 값을 참조할 때 접근할 범위 이고, 흔히 그 접근할 수 있는 범위를 찾는 규칙을 말합니다. 자바스크립트는 함수 코드 블록 내에서 선언된 변수는 함수 내부에서만 유효한 함수 레벨..
  • Table of Contents:
See also  Top 15 이웃집 토토로 다시 보기 영화 조아 The 110 Detailed Answer

태그

관련글

댓글0

공지사항

최근글

인기글

최근댓글

태그

전체 방문자

티스토리툴바

[IT 면접대비] 개발자 기술면접 대비 🖥️/ 3️⃣ - JavaScript (2)
[IT 면접대비] 개발자 기술면접 대비 🖥️/ 3️⃣ – JavaScript (2)

Read More

기술면접 2. Javascript

  • Article author: intrepidgeeks.com
  • Reviews from users: 5523 ⭐ Ratings
  • Top rated: 4.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 기술면접 2. Javascript 자바스크립트 특징: · JavaScript는 객체 기반의 언어입니다. · JavaScript는 인터프리터 (해석형) 언어로서 클라이언트의 웹 브라우저에 의해 해석되고 실행됩니다. …
  • Most searched keywords: Whether you are looking for 기술면접 2. Javascript 자바스크립트 특징: · JavaScript는 객체 기반의 언어입니다. · JavaScript는 인터프리터 (해석형) 언어로서 클라이언트의 웹 브라우저에 의해 해석되고 실행됩니다.
  • Table of Contents:

♻ 자바스크립트 엔진

♻ 비동기 싱글스레드

♻ 이벤트 루프와 Task Queue

♻ Hoisting let과 var 차이

♻ ==과 === 차이

♻ prototype이란

♻ promise async await

♻ Closures

 기술면접 2. Javascript
기술면접 2. Javascript

Read More

#3. JavaScript (Part 1) — 오웬의 개발 이야기

  • Article author: devowen.com
  • Reviews from users: 33802 ⭐ Ratings
  • Top rated: 5.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about #3. JavaScript (Part 1) — 오웬의 개발 이야기 (V사 기술면접). 호이스팅은 인터프리터가 자바스크립트 코드를 해석함에 있어서, … …
  • Most searched keywords: Whether you are looking for #3. JavaScript (Part 1) — 오웬의 개발 이야기 (V사 기술면접). 호이스팅은 인터프리터가 자바스크립트 코드를 해석함에 있어서, … 자바스크립트 관련 예상 질문은 양이 많아서 두 번에 나누어서 정리해 보려고 한다. JavaScript 이벤트 버블링(Event Bubbling), 이벤트 캡쳐링(Event Capturing)에 대해서 설명하세요. (D사 화상면접) 이벤트 버..
  • Table of Contents:

블로그 메뉴

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

JavaScript

티스토리툴바

<FE면접질문> #3. JavaScript (Part 1) — 오웬의 개발 이야기” style=”width:100%”><figcaption><FE면접질문> #3. JavaScript (Part 1) — 오웬의 개발 이야기</figcaption></figure>
<p style=Read More


See more articles in the same category here: 867+ tips for you.

프론트엔드 개발자 기술면접 인터뷰 질문 모음(업데이트)

프론트엔드 기술면접 실제현업 질문 모음

최근 1년 간 프론트엔드 면접을 7번 정도 본 것 같다. 국내 IT 대기업 N사만 여러번, K사, 온라인쇼핑몰 C사 등등 여러군데를 면접을 진행했으며 비록 떨어졌지만 여러모로 좋은 경험을 하였습니다. 프론트엔드 엔지니어를 꿈꾸는 시니어 주니어 엔지니어들에게 면접을 진행하기전 필수적으로 알아야 할 질문 과 마음가짐에 대해서 공유해보려고 합니다.

다른 프론트엔드 기술면접 관련된 글도 많지만 너무 많아서 조금 요약을 해보려고 합니다. 면접관으로 들어가시는 분들께서도 어떤 질문을 할지 모를 경우에는 참고하셨으면 좋겠습니다.

Frontend 필수 언어

중요도 설명 ★★★★★ 프론트 엔지니어를 꿈꾼다면 정확하게 알고 있어야 하는 것들이며 하나라도 모르면 떨어진다고 봐도 무방하다. 꼭 알고 들어가자 ★★★★ 90% 이상을 알아야 하며 많이 대답한다고 좋은게 아니라 정확하게 대답해야 함. 본인이 프론트엔드 엔지니어라고 말하고 싶다면 필수적으로 알아야 함 ★★★ Javascript 프레임워크, 플러그인, 그 외 사용법 등 중요한 질문 ★★ 가볍고 기본적인 질문 ★ 알면 가산점이나 모른다고 크게 등락에 영향은 없음 그리고 그 외적인 것

중요도는 주관적이나 1시간 동안 공통적으로 질문을 받은 내용

※ 질문에 대한 답변은 직접 찾아보면서 이해해 나가보면 더 도움이 될 것 입니다. 왜냐하면 저는 떨어졌기 때문에 제가 답변하는 것이 정확한 답변이라고 말씀드리기 어렵습니다. 관련 링크만 소개해 드리겠습니다. 개인적으로 별 3~5사이를 90%이상 알고 계시다면 면접은 충분히 통과할 거라고 봅니다.

★★★★★

1. 브라우저 렌더링 원리

1-1. 홈페이지가 사용자에게 보이는 순서에 대해서 설명해주세요.

-> https://d2.naver.com/helloworld/59361

2. 호이스팅에 대해서 설명해 보세요.

-> https://gmlwjd9405.github.io/2019/04/22/javascript-hoisting.html

3. 클로저는 무엇인가요? 원리와 왜 사용하는지 설명해 주세요.

-> https://hyunseob.github.io/2016/08/30/javascript-closure/

4. CSS에서 margin과 padding에 대해서 설명해주세요.

4-1 position을 어떻게 사용하는지 알려주세요.

-> https://www.w3schools.com/css/css_margin.asp

-> https://www.w3schools.com/css/css_padding.asp

5. GET, POST가 어떻게 다르게 쓰는지 말씀해 주세요(주니어 기준, 시니어는 잘 안물어봄)

-> https://www.w3schools.com/tags/ref_httpmethods.asp

★★★★

1. this의 용법 아는대로 설명해주세요.

-> https://poiemaweb.com/js-this

2. 브라우저 저장소에 대해서 차이점을 설명해 주세요. ( Localstorage, SessionStorage, Cookie )

-> https://velog.io/@ejchaid/localstorage-sessionstorage-cookie%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90

3. Restful API에 대해서 아는대로 설명해 주세요. ( GET, PUT, POST, PATCH, OPTION, DELETE )

-> https://javaplant.tistory.com/18

4. Javascript는 어떤 언어인가요? -> 싱글 스레드 언어

4-1 하지만 실제 사용시에는 멀티 스레드 처럼 사용하는데 어떻게 사용하나요?

4-2 비동기적으로 실행이 되는 것을 동기적으로 코딩하는 방법이 있나요?

-> https://realmojo.tistory.com/109

-> https://boxfoxs.tistory.com/294

5. Event Loop 에 대해서 알고 있으신가요?

5.1 마이크로태스크 큐와 태스크 큐에 대해서 말씀해주세요.

-> https://baeharam.netlify.app/posts/javascript/JS-Task%EC%99%80-Microtask%EC%9D%98-%EB%8F%99%EC%9E%91%EB%B0%A9%EC%8B%9D

-> https://im-developer.tistory.com/113

6. 이벤트 버블링에 대해서 말씀해 주세요

6-1. 이벤트 버블링은 기본적으로 child -> parent 인데 반대로 구현하는 법은?

6-2. 이벤트 버블링을 막기위한 방법은?

6-3. 이벤트 버블링을 잘 활용하면 어떻게 사용할 수 있을까요?

-> https://joshua1988.github.io/web-development/javascript/event-propagation-delegation/

7. 타입스크립트에 대해서 사용해 본적이 있나요? 어떤지 말씀해주세요.

-> https://hyunseob.github.io/2018/08/12/do-you-need-to-use-ts/

8. 실행문맥에 대해서 설명해 주세요.(자주 물어보지는 않음 그러나 알아야 함)

-> https://poiemaweb.com/js-execution-context

9. 이터러블, 이터레이터 프로토콜에 대해 말씀해주세요.

-> https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-%EC%9D%B4%ED%84%B0%EB%9F%AC%EB%B8%94-%EC%9D%B4%ED%84%B0%EB%A0%88%EC%9D%B4%ED%84%B0-%F0%9F%92%AF%EC%99%84%EB%B2%BD-%EC%9D%B4%ED%95%B4

10. 제네레이터에 대해서 말씀해주세요.

https://poiemaweb.com/es6-generator

★★★

1. HTML이 렌더링 중에 Javascript가 실행되면 렌더링이 멈추는데 그 이유는 무엇인가

-> https://webclub.tistory.com/630

-> https://realmojo.tistory.com/96

2. 현재 Javascript 프레임워크를 사용하는 것과 그 선택을 한 이유.

2-1. 프로젝트를 진행할 때 어떤 Javascript 프레임워크를 선택할 것인가? 그 이유는?

2-2. 최근 사용되는 Javascript 프레임워크에 대해 차이점과 장단점? 언제 어떻게 사용해야 할까?

-> 이 질문자체는 엔지니어마다 전부 주관적일 것이다. 제대로 고민해보고 답변해야 한다.

-> https://www.popit.kr/%EB%B2%88%EC%97%AD%EA%B8%80-react-vs-angular-%EB%91%98-%EC%A4%91-%EC%96%B4%EB%96%A4-%EA%B2%83%EC%9D%B4-%EB%8B%B9%EC%8B%A0%EC%9D%98-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%97%90-%EC%95%8C%EB%A7%9E/

-> https://brunch.co.kr/@hee072794/112

3. SPA와 서버사이드 렌더링의 차이점은 무엇인가요?

-> https://goodgid.github.io/Server-Side-Rendering-and-Client-Side-Rendering/

4. require와 import의 차이점

-> https://blueshw.github.io/2017/05/16/ES-require-vs-import/

5. SASS, SCSS를 사용해본 적이 있나요? 기존 CSS와 비교할 때 어떤면이 더 좋은가요?

-> https://heropy.blog/2018/01/31/sass/#sasswa-scssneun-caijeomeun-mweongayo

6. Javascript 성능 최적화를 위해 어떤 것을 적용해 보았나요?

-> https://engineering.huiseoul.com/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94%EA%B0%80-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC-4%EA%B0%80%EC%A7%80-%ED%9D%94%ED%95%9C-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%88%84%EC%88%98-%EB%8C%80%EC%B2%98%EB%B2%95-5b0d217d788d

-> https://itstory.tk/entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%88%84%EC%88%98%EC%9D%98-4%EA%B0%80%EC%A7%80-%ED%98%95%ED%83%9C

7. Vue & React

7-1 Vue와 React의 차이는 무엇인가요?

7-1 Vue 혹은 React를 사용해보셨다면 상태관리는 어떻게 구현하셨나요?

7-2 (Vue 면접관이라면) 라이프 사이클을 가볍게 설명해주세요.

7-3 Vue에서 양방향 데이터가 일어나는 원리에 대해서 말씀해주세요.

-> https://medium.com/@erwinousy/%EB%82%9C-react%EC%99%80-vue%EC%97%90%EC%84%9C-%EC%99%84%EC%A0%84%ED%9E%88-%EA%B0%99%EC%9D%80-%EC%95%B1%EC%9D%84-%EB%A7%8C%EB%93%A4%EC%97%88%EB%8B%A4-%EC%9D%B4%EA%B2%83%EC%9D%80-%EA%B7%B8-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%B4%EB%8B%A4-5cffcbfe287f

-> https://ko.bccrwp.org/compare/redux-vs-vuex-for-state-management-in-vue-js-d57692/

-> https://medium.com/witinweb/vue-js-%EB%9D%BC%EC%9D%B4%ED%94%84%EC%82%AC%EC%9D%B4%ED%81%B4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-7780cdd97dd4

-> https://kr.vuejs.org/v2/guide/reactivity.html

8. 무작위 데이터에 대해서 테스트는 어떻게 하시나요?

-> https://www.json-generator.com/

9. ES6 에서 Arrow 함수를 언제 쓰나요? 왜 쓰나요?

-> https://poiemaweb.com/es6-arrow-function

10. var let const 차이점

-> https://gist.github.com/LeoHeo/7c2a2a6dbcf80becaaa1e61e90091e5d

11. CORS를 대처하는 방법과 우회하는 방법

-> https://brunch.co.kr/@adrenalinee31/1

12. MVVM 모델에 대해서 설명해 주세요

-> https://beomy.tistory.com/43

★★

1. CSS에는 Box-model 이라는 것이 있습니다. 이때 width의 값을 차지하는 크기는 어떻게 될까요?

-> https://www.w3schools.com/css/css_boxmodel.asp

2. 이진트리에 대해서 말씀해 주시고 종류는 어떻게 될까요? 실제 적용해본 경험이 있나요?

-> https://ratsgo.github.io/data%20structure&algorithm/2017/10/21/tree/

3. git을 사용해보신 적이 있으신가요? 사용했다면 어떤식으로 사용했는지 말씀해 주세요.

-> https://woowabros.github.io/experience/2017/10/30/baemin-mobile-git-branch-strategy.html

4. HTTP 0.9/1.0 의 차이를 말씀해 주세요.

-> https://medium.com/platform-engineer/evolution-of-http-69cfe6531ba0

1. 협업에 대해서 어떻게 생각하시나요

2. 스켈레톤 UI에 대해서 적용해본 적이 있나요.

-> https://www.sitepoint.com/how-to-speed-up-your-ux-with-skeleton-screens/

-> https://vuetifyjs.com/en/components/skeleton-loaders/

3. 지원자님께서 시간이 있으시다면 Frontend 향상을 위해 어떤 노력을 할 것인가요?

4. 프론트엔드 주제를 가지고 발표를 해야한다면 바로 가능한게 있을까요?

5. 고객님께서 우리가 제작한 홈페이지 화면이 로딩속도가 느리다고 요청이 왔습니다. 어떻게 해결할(대처할) 것인가요? 충분히 고민해보시고 대답해주세요.

6. 여태까지 협업을 하면서 가장 어려웠던 것과 그것을 어떻게 해결했는지 말씀해주세요.

그 외

1. 기업에 따라 코딩 면접이 있을 수 있습니다. 알고리즘의 경우 보통 난이도는 leetcode에서 easy <-> medium 중간 정도의 난이도 입니다. 대체적으로 재귀적인 문제와 규칙찾는 것들이 자주 나왔던 걸로 기억합니다. 면접중에 풀어야 한다면 보통 15분 정도 시간을 주는 경우도 있습니다.

Homework 과제라면 3~4시간 정도의 난이도로 코딩하는 경우도 있습니다. 혹은 PDF를 전달 주고 그대로 구현해서 소스코드를 제출해야 하는 경우도 있습니다.

2. SEO에 관련된 질문을 받았다면 그 조직은 검색엔진 부서가 아닌이상 큰 조직이 아닐 확률이 높습니다. 스타트업이나 마케팅 쪽에서 SEO나 크롤링 잘하는 개발자를 선호합니다. IT의 큰 조직으로 갈 수록 SEO에 관련해서 물어보지는 않습니다.

3. 주니어나 시니어 엔지니어분들께서는 면접에 들어갔을 때 위의 질문들이 70% 이상이 나오지 않는다면 면접을 진행한 그 조직은 프론트엔지니어를 전문적으로 하는 조직이 아니라고 봐도 무방합니다. 백엔드 개발자와 적절하게 협업을 하면서 개발을 할 조직일 것입니다.

또한 프론트엔드 면접을 진행했는데 DB, 인프라, 백엔드 관련해서 질문을 같이 한다면 그 조직은 프론트엔지니어 이면서 풀스택을 원하는 경우가 대부분 입니다. 다른 분야도 같이 할줄아는 사람을 합격할 확률이 높습니다.

실제로 프론트엔드만 전문으로 하는 조직에서는 DB, 인프라, 백엔드 관련해서 질문을 주시지 않았습니다.

프론트엔드만 하신 분이면 아시겠지만 1시간 내에 프론트 관련 질문을 해서 지원자를 판별하기가 부족합니다.

DB + 인프라 => 프론트(메인) + 인프라 엔지니어( Golang, Docker, Orchestration, kubernetes, terraform )

DB + 백엔드 => 프론트(메인) + 백엔드 엔지니어( Java spring, node.js )

4. DB에 관련해서 물어본다면 용어 정리를 확실히 해야 합니다. 간혹 홈페이지나 웹사이트 등의 게시판 시스템을 만들어 본 경험이 있다고 DB설계로 작성하시면 안됩니다. DB설계와 Table(column)설계는 다릅니다.

간혹 이력서에 DB설계로 작성하셔서 면접에 들어가시면 NoSql, RDBMS의 설계 방식에 대해서 질문이 들어옵니다. 어느 경우에 Nosql을 사용해야 하는지 RDBMS 사용해야 하는지 DB백업은 어떻게 해야 하는지 이중화 구성은 어떻게 해야하는지 장애처리를 위한 방법은 뭔지 그리고 샤딩 혹은 파티셔닝을 어떤식으로 구성해야 하는 것인지가 DB설계 입니다.

Table 컬럼을 추가해서 데이터를 저장하고 조회하고 수정하는 등의 작업은 DB설계가 아니라. Table Column을 구성할 줄 안다 라고 생각하셔야 합니다.

자바스크립트 기술면접 정리

– let, const, var 에 대한 설명

let, const 키워드는 ES6 에서 추가된 새로운 변수 정의 키워드 입니다.

var 는 함수 스코프이며(for, while, if 문 등 함수내부이기만 하면 변수가 생존해 있다.)

let, const 는 블록스코프 입니다.

함수스코프에서 var 키워드를 사용하지 않고 변수를 정의하면 전역변수가 된다는 특징이 있는데, 이는 예기치 못한 에러를 발생시킬수 있습니다.

자바스크립트에서 변수선언은 해당 컨텍스트 최상단으로 끌어올려집니다. 이를 호이스팅이라고 부르며, var 같은 경우 초기화전에 실행을 하면 undefined 값을 가지고 있습니다. (var 변수는 호이스팅 시, undefined 로 초기화)

그리고 var 키워드를 가지고 변수 정의를 중복해서 할 수가 있습니다. 변수를 정의한다는 것은 이전에 없던 변수를 생성한다는 의미로 통용이 되야 하는데, var 키워드는 이러한 직관성을 해칩니다.

그리고 상수처럼 재할당이 불가능하게 사용할 수도 없습니다.

프론트엔드 개발자 면접 질문(기술면접) 정리

신입 프론트엔드 개발자 취업과정부터 필요한 능력까지- Part1 취업과정(feat.주니어 개발자)

sunnykim91.tistory.com/135

신입 프론트엔드 개발자 취업과정부터 필요한 능력까지- Part2 프론트엔드 개발자 무얼하나?필요한 능력?(feat.주니어 개발자)

sunnykim91.tistory.com/136

**본 포스팅은 구글링하여 나오는 다양한 블로그들과 제가 직접 면접을 보면서 들었던 질문들에 대한 정리입니다.

브라우저의 렌더링 과정에 대해서 상세하게 설명해달라

브라우저 주소창에 www.naver.com 치면 -> 네이버 서버를 찾아간다. -> DNS(실제 서버가 어디에있는지 알고 있는 서버)가 연결해줄 곳을 찾음 -> (여기서 주소 앞에 https가 붙었다면 https방식으로 통신하겠다.) -> 서버의 기본설정이 대부분 index.html되어 있어 서버에서 이파일을 클라이언트로 보냄 -> 브라우저는 텍스트로 이루어진 index.html 파일을 파싱한다. -> 한줄한줄 읽으면서 DOM트리를 만들어나감. -> 중간에 link태그를 만나 css요청이 발생하면, 요청과 응답과정을 거치고 css를 파싱함 -> CSS파싱이 끝나면 중단된 html을 다시읽고 DOM트리를 완성 -> 완성된 DOM트리와 CSSOM트리를 합쳐 Render Tree를 만들고 그린다.javascript는? -> 중간에 HTML파서는 Script태그를 만나게 되면 javascript 코드를 실행하기 위해 파싱을 중단 -> 제어권한을 자바스크립트 엔진에게 넘기고, 자바스크립트 코드 또는 파일을 로드해서 파싱하고 실행

브라우저 주소창에 www.naver.com 치면 -> 네이버 서버를 찾아간다. -> DNS(실제 서버가 어디에있는지 알고 있는 서버)가 연결해줄 곳을 찾음 -> (여기서 주소 앞에 https가 붙었다면 https방식으로 통신하겠다.) -> 서버의 기본설정이 대부분 index.html되어 있어 서버에서 이파일을 클라이언트로 보냄 -> 브라우저는 텍스트로 이루어진 index.html 파일을 파싱한다. -> 한줄한줄 읽으면서 DOM트리를 만들어나감. -> 중간에 link태그를 만나 css요청이 발생하면, 요청과 응답과정을 거치고 css를 파싱함 -> CSS파싱이 끝나면 중단된 html을 다시읽고 DOM트리를 완성 -> 완성된 DOM트리와 CSSOM트리를 합쳐 Render Tree를 만들고 그린다.javascript는? -> 중간에 HTML파서는 Script태그를 만나게 되면 javascript 코드를 실행하기 위해 파싱을 중단 -> 제어권한을 자바스크립트 엔진에게 넘기고, 자바스크립트 코드 또는 파일을 로드해서 파싱하고 실행 Http와 Https 통신 방식의 차이?

결정적 차이는 보안 이다. 1. http방식은 네트워크상에서 정보를 누군가가 마음대로 열람, 수정이 가 / https는 누가 볼수없도록 막음.2. http방식이 https방식보다 빠르다. 3. Http방식은 민감한정보를 다룰 때 항상 변조, 해킹 가능성을 생각해야한다. Https는 설치 및 인증서를 유지하는데 추가적인 비용이 발생. -> 따라서, 민감한 정보가 있는 페이지의 경우 Https 그럴필요가없으면 http로 만들면 된다.

결정적 차이는 이다. 1. http방식은 네트워크상에서 정보를 누군가가 마음대로 열람, 수정이 가 / https는 누가 볼수없도록 막음.2. http방식이 https방식보다 빠르다. 3. Http방식은 민감한정보를 다룰 때 항상 변조, 해킹 가능성을 생각해야한다. Https는 설치 및 인증서를 유지하는데 추가적인 비용이 발생. -> 따라서, 민감한 정보가 있는 페이지의 경우 Https 그럴필요가없으면 http로 만들면 된다. OOP에 특징에 대해 설명해달라(상속, 캡슐화 등등…)

Object Oriented Programming 객체지향 프로그래밍이라고한다. 특징은 크게 4가지가 있다.

1. 상속 : 클래스개념에서 상위 클래스(부모)로 부터 하위 클래스(자식)이 유산을 물려받는것과 같이, 부모의 메소드나 변수를 사용할 수 있는 것을 말함.

2. 다형성 : 같은 함수가 있다고 칠대 그 함수가 매개변수에 따라 다른 역할을 할 수 도 있다.

3. 캡슐화 : 보통 데이터를 은닉시킨다고 표현하는데, 외부에서 쉽게 데이터를 접근할 수 없게 만들기도하고, 데이터 구조와 데이터를 다루는 방법들을 한데다 묶는것.

4. 추상화 : 공통적인 속성이나 기능을 묶어서 이름을 붙이는 것 ( a b d 이런게있다고 치면 이런건 알파벳이라고 묶을 수 있다)

함수형 프로그래밍(Function Programming) 함수형 프로그래밍에 대해 설명해달라

함수형 프로그래밍은 순수함수와 보조 함수의 조합을 통해 로직내에 존재하는 조건문과 반복문을 제거하여 복잡성을 해결하고 변수의 사용을 억제하여 상태 변경을 피하려는 프로그래밍 패러다임이다. 함수형 프로그래밍에 개념에서 순수함수란 무엇인가

순수함수는 같은 입력이 주어지면, 같은 출력을 반환해야하고, side effect(부작용) 이 없어야한다.

결국, 함수형 프로그래밍은 순수함수를 통해 sideeffect를 최대한 억제하여 오류를 피하고 프로그램의 안정성을 높이려는 노력의 한 방법 OOP와 함수형 프로그래밍의 가장 큰 차이점은 무엇인가

객체지향은 객체 안에 상태를 저장하고, 이 상태를 이용해서 메소드를 추가하고 상태변화를 설정하고 조정하기위해 다양한 기능을 사용한다. 이에 반해 함수형 프로그래밍은 상태를 제어하는것보다 상태를 저장하지 않고 없애는데 주력한다.

예를들면, 객체 지향은 상태를 저장하는 필드와 그 필드들을 이용해 기능을 제공하는 메소드를 만들고 클래스를 만듭니다. 반면 함수형은 몇몇 자료구조(list, map, set) 등을 이용해 최적화된 동작을 만들어낸다.

웹 프로토콜 웹 프로토콜이란?

웹 프로토콜은 웹에서 쓰이는 통신규약입니다. 통신규약이라는 것은 쉽게 설명하면, 통신을 할때 내가 이렇게 할게 너는 이렇게 해줘 라고 약속하는 것입니다. Http 통신이란?

웹 프로토콜중 하나로 HTTP가 가장 많이 쓰이는데 Hyper text Transfer Protocol의 약자입니다.

쉽게말하면, 인터넷에서 데이터를 주고 받을 수 있는 통신규약 정도로 보시면됩니다. 요청과 응답으로 이루어져있어 어떤 데이터 주세요하고 요청하면, 이 데이터 줄게요 라고 응답합니다. Http 1.1과 2.0의 차이는?

가장 큰 차이는 속도이다. 2.0같은 경우는 헤더를 압축해서 보내기도하고, 한번의 연결로 동시에 여러 메시지를 주고 받을 수도 있다.

비동기 프로그래밍(Asynchronous) AJAX란 무엇인가

자바스크립트를 이용해 비동기적으로 서버와 브라우저가 데이터를 교환할 수 있는 통신 방식

보통은 서버로부터 웹페이지가 반환되면 전체를 갱신해야하는데 / AJAX를 사용하면, 페이지 일부만을 갱신하고도 동일한 효과를 볼 수 있다. 즉, 갱신이 필요한 부분만 로드하여 갱신하면 되므로 빠르고, 부드러운 화면효과를 기대할 수 있음 Promise와 Callback의 차이점은 무엇이며 각각의 장단점에 대해 설명해달라 Promise란 무엇이며 코드가 어떻게 구성되어있는가

둘 다 자바스크립트에서 비동기처리를 위해서 사용되는 패턴이며,

Callback 같은 경우 함수의 처리 순서를 보장하기 위해서 함수를 중첩하게 사용되는 경우가 발생해 콜백헬이 발생하는 단점과 에러처리가 힘들다라는 단점이 있다.

그래서 나온게 Promise이며 ES6부터 정식 채택되어 사용중이다.

Promoise 생성자 함수를 통해 인스턴스화하며,

// Promise 객체의 생성 const promise = new Promise((resolve, reject) => { // 비동기 작업을 수행한다. if (/* 비동기 작업 수행 성공 */) { resolve(‘result’); } else { /* 비동기 작업 수행 실패 */ reject(‘failure reason’); } }); 비동기 처리에 성공하면 resolve메소드를 호출해서 비동기 처리 결과를 후속처리 메소드로 전달한다.

비동기 처리에 실패하면 reject메소드를 호출해서 에러메시지를 후속처리 메소드로 전달한다.

후속처리메소드는 then과 catch가 있다. 둘다 Promise를 반환한다.

then 을 가지고 메소드 체이닝을 통하여서 콜백헬 문제를 해결 할 수 있다. Async, Await가 무엇이며, 사용해본 경험이 있는가 Async, Await와 Promise의 차이는

Promise를 더욱 쉽게 사용할 수 있도록 ES2017(ES8) 문법이다.

함수의 앞부분에 async 키워드를 추가하고, 함수 내부에서 Promise의 앞부분에 await 키워드를 사용한다.

async, await를 사용할 경우 코드가 간결해지지만, 에러처리를 잡기 위해 try catch를 사용해야한다. 동기적인 코드흐름으로 개발이 가능하다.

자바스크립트의 타입 자바스크립트의 Number Type은 다른 언어들과 차이점이 무엇인가, 왜 하나만 존재하나.

다른언어에는 int double 등 숫자타입의 다양함이 있지만, number는 하나만 있다.

정수만을 위한 타입이 없고, 모든 수를 실수로 처리한다. 자바스크립트의 원시 타입은 몇가지인가? 종류는?

boolean, string, number, undefined , null , symbol 이렇게 6가지 종류

undefined는 선언만 되어있고 값은 없는 상태 , null은 자료형이 객체이며 빈값을 의미 실행 컨텍스트(Execution Context)에 대해 설명해달라

자바스크립트의 코드들이 실행되기 위한 환경

전역 컨텍스트 ,함수 컨텍스트 2가지 존재

전역 컨텍스트 하나 생성 후에 함수 호출할 때마다 함수 컨텍스트가 생성

컨텍스트를 생성시에 변수객체, 스코프 체인, this가 생성된다.

컨텍스트 생성 후 함수가 실행되는데 사용되는 변수들은 변수 객체 안에서 값을 찾고 없다면 스코프체인을 따라 올라가며 찾음.

함수 실행이 마무리되면 해당 컨텍스트는 사라짐. 페이지가 종료되면 전역 컨텍스트가 사라짐

즉, 자바스크립트의 코드가 실행되기 위해서는 변수객체, 스코프체인, this 정보들을 담고 있는 곳을 실행컨텍스트라고 부른다. 자바스크립트의 호이스팅(Hoisting)은 어떻게 이루어져 있는가

변수를 선언하고 초기화 했을때 선언부분이 최상단으로 끌어올려지는 현상

예를들어, 코드 상단에서 console.log(a)를 찍고 하단에서 var a=1; 이라고 하였을때 a는 undefined라고 나온다. 이런 현상을 호이스팅이라고한다. 함수의 경우 함수표현식은 호이스팅이 적용되지 않으나 일반 함수선언문은 함수 호이스팅이 적용된다. 클로저(Closure)란 무엇이며, 왜 이러한 패턴을 사용하는가

반환된 내부함수가 자신이 선언됬을때의 환경인 스코프를 기억하여 자신이 선언되었을때의 환경 밖에서 호출되어도 그 환경에 접근할 수 있는 함수, 자신이 생성될때의 환경을 기억하는 함수

사용 하는 이유 :

1) 현재 상태를 기억하고 변경된 최신 상태를 유지하기 위해

2) 전역 변수의 사용을 억제 하기위해

3) 정보를 은닉하기 위해 가비지컬렉터의 역할은? 어떻게 동작?

메모리 할당을 추적하고 할당된 메모리 영역이 필요하지 않은 영역일 경우를 판단해서 회수하는 것.

자바스크립트에서 변수는 직접적으로 참조 값(문자열, 객체, 배열 등)을 담고 있지 않고, 해당 값을 메모리 상에 저장 된다. 그래서 참조 값을 생성하고나서 더이상 참조할 것이 없거나 비어졌을 때 가비지 컬렉터가 동작해서 메모리가 반환됨.(메모리를 다시 재사용할 수 있는 상태가 된다) 자바스크립트의 순환참조란? 어떤게 문제이고 해결방법은?

function f(){ var o = {}; var o2 = {}; o.a = o2; // o는 o2를 참조한다. o2.a = o; // o2는 o를 참조한다. return “azerty”; } f(); 위와 같이 서로 순환되어서 참조되어져서 가비지컬렉터가 작동하지 않고 메모리 누수가 발생된다.

null을 할당해서 연결을 끊는 방법을 사용한다.

대부분의 브라우저에서는 Mark and sweep알고리즘을 사용. 그래서 가비지컬렉터가 참조되지 않는 객체가 있을 때 동작하는 것이 아니라 접근 할 수 없는(닿을 수 없는) 객체 일 때 동작한다.

자바스크립트의 배열이 실제 자료구조 배열이 아닌데 그 이유는?

자바스크립트의 배열은 실제 자료구조의 배열과 다르게 HashMap으로 구현되어있다. 이 HashMap을 구현하기 위해서는 연결리스트로 구현하게 되는데 연결리스트에서 값을 찾기 위해서는 탐색해나가면서 값을 찾는 불상사가 발생한다. 이를 해결하기 위해서 타이핑된배열(Int8Array,Float32Array 등) 이 추가되고 있다. 이벤트 루프에 대해서 설명, 동시성 모델에 대해서 설명

자바스크립트는 싱글 스레드 기반 언어이다. 함수를 실행하면 함수 호출이 스택에 순차적으로 쌓이고 스택의 맨위에서부터 아래로 한번에 하나의 함수만 처리 할 수 있다.

하지만, 자바스크립트에는 이벤트 루프라는것을 통해 동시성을 지원한다. (동시에 일어나는 것이 아니라 동시에 일어나는 것처럼 보이게 하는것이다!)

이벤트 루프는 콜 스택에서 실행 중인 게 있는지 확인하고, Event queue에 작업이 있는지 확인해서 콜스택이 비어있다면 이벤트큐 내의 작업이 콜스택으로 이동되어서 실행된다. 프로토타입이란?

자바스크립트는 프로토타입을 기반으로 상속을 구현하여 불필요한 중복을 제거(중복 제거 방법은 기존의 코드를 재사용하는것!!)

즉, 생성자 함수가 생성할 모든 인스턴스가 공통적으로 사용할 프로퍼티나 메소드를 프로토타입에 미리 구현해 놓음으로써 또 구현하는것이 아니라 상위(부모) 객체인 프로토타입의 자산을 공유하여 사용할 수 있다.

__proto__ 접근자 프로퍼티 로 자신의 프로토타입, 즉 Prototype 내부슬롯에 접근 할 수 있음.

프로토타입체인이란? 객체의 프로퍼티에 접근하려고 할때 객체에 접근하려는 프로퍼티가 없으면, __proto__접근자 프로퍼티가 가리키는 링크를 따라 자신의 부모역할을 하는 프로토타입의 프로퍼티를 순차적으로 검색한다. 프로로타입체인의 최상위 객체는 Object.prototype이다. 이 객체의 프로퍼티와 메소드는 모든 객체에게 상속된다.

prototype 프로퍼티 는 생성자함수가 생성할 인스턴스의 프로토타입을 가르킨다.

위와 같이 서로 순환되어서 참조되어져서 가비지컬렉터가 작동하지 않고 메모리 누수가 발생된다. null을 할당해서 연결을 끊는 방법을 사용한다. 대부분의 브라우저에서는 Mark and sweep알고리즘을 사용. 그래서 가비지컬렉터가 참조되지 않는 객체가 있을 때 동작하는 것이 아니라 접근 할 수 없는(닿을 수 없는) 객체 일 때 동작한다.

This 자바스크립트에서 This는 몇가지로 추론 될수 있는가, 아는대로 말해달라 일반함수의 this와 화살표 함수의 this는 어떻게 다른가?

자바스크립트의 내부함수는 일반 함수, 메소드, 콜백함수 어디에서 선언되었든지 this는 전역객체를 가르킴

일반함수의 this는 window(전역)을 가르키며, 화살표 함수의 this는 언제나 상위스코프의 this를 가르킴

Call, Apply, Bind 함수에 대해 설명해달라

3가지 방법은 this를 바인딩하기 위한 방법이다.

Call은 this를 바인딩하면서 함수를 호출하는 것, 두번째 인자를 apply와 다르게 하나씩 넘기는 것

Apply는 this를 바인딩하면서 함수를 호출하는 것, 두번째인자가 배열

Bind는 함수를 호출하는 것이 아닌 this가 바인딩 된 새로운 함수를 리턴함. use strict모드에서의 this?

일반함수에서의 this는 undefined가 바인딩 됨.

ES6 크롬 정도의 브라우저를 제외하곤 ES6 스펙에 대한 지원이 완벽하지 않다. 해결방법은 무엇인가

Babel을 사용한다. ES6이상의 문법의 코드들을 브라우저가 이해할 수 있게끔 ES5이하의 문법으로 변환 Babel이란? babel은 컴파일러 인가 ? 트랜스파일러인가?

트랜스파일러이다. 컴파일은 한 언어로 작성된 소스 코드를 다른 언어로 바꾸는것(C-> 어셈블리어)

트랜스파일러는 한언어로 작성된 소스코드를 비슷한 수준의 추상화를 가진 다른 언어로 변환

(C++>C, ES6->ES5)

ES6 에서 추가된 스펙에 대해 아는대로 다 말해달라 (let, const, rest parameter, class, arrow function…)

let, const, 화살표함수, 클래스, 프로미스, 스프레드 연산자 등 var 와 let, const의 차이점은 무엇인가 (function scope와 block scope의 개념에서)

var은 함수 레벨 스코프를 지원, let,const는 블록레벨 스코프를 지원한다.

하여, 다음과 같이 블록레벨에 foo를 456으로 재선언하는 경우 foo를 456으로 인식

하지만, let이나 const는 전역 변수를 읽는다 블록 안에 있는것을 읽지 않고

var foo = 123; // 전역 변수 console.log(foo); // 123 { var foo = 456; // 전역 변수 } console.log(foo); // 456

Class 는 무엇이고, Prototype, fucntion의 ES5 스펙만으로 Class를 구현할수 있는가

구현가능하다. 자바스크립트에는 프로토타입이라는 것이 존재하여 클래스처럼 구현할 수 있다.

클래스는 자바스크립트의 프로토타입 기반 패턴의 문법적 설탕이다.

REACT 리액트의 상태관리에 대해 알고 있는가? Redux를 사용해봤다면, 그것에 대한 설명

리액트에서 전역의 상태를 관리하기 위해서 사용하는 방법이다. 컴포넌트간의 상태들을 한군데다가 모아놓고 공유해서 사용하는 방식.

리액트의 상태관리는 Context API, Redux, MobX 등의 상태관리가 있으며, Context API보다 Redux를 사용하는 이유는 대규모 개발에서 유지보수성이나 작업효율을 높이기에는 Redux를 사용하는것이 좋기 때문에 많은 사람들이 Redux를 사용한다. 리액트 16.3이후 버전에서는 그래도 Context API가 개선되어 사용하기 좋아졌다.

Redux는 사실 다른 곳에서도 많이 쓰이는 기술이었지만, react-redux라는 것이 있어서 react에서 사용하기 좋아졌다.

react-redux에서는 3가지 규칙을 지켜야하는데

1) 단일 스토어야 할것

2) 읽기전용상태여야 한다. 즉 기존의 객체는 건드리지 않고 새로운 객체를 생성해서 사용하여야한다.

3) 리듀서는 순수한 함수여야한다. 즉, 파라미터 외의 값에는 의존하지 않아야한다.

만드는 순서는 액션 타입을 정하고, 액션 생성 함수를 만들고, 이 액션들을 사용하는 리듀서 함수(초기상태 포함)를 만들고, index.js에서 스토어를 만들어 provider로 스토어를 props로 전달해준다.

프레젠테이셔널 컴포넌트와 컨테이너 컴포넌트를 분리하여, 컨테이너 컴포넌트에서 connect함수를 사용해서 mapStateToProps(스토어 안의 상태를 컴포넌트의 props로 넘겨주기 위해 설정하는 함수),

mapDispatchToProps(액션 생성 함수를 컴포넌트의 Props로 넘겨주기 위해 사용하는 함수)

이 2가지를 다음과 같이 사용

connect(mapStateToProps, mapDispatchToProps)(타깃컴포넌트)

자세한 리덕스 내용은 아래를 참고

https://sunnykim91.tistory.com/entry/2020-01-30-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EC%88%98%EC%97%85-Redux-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%EC%A4%91 Redux-saga와 옵저버블에 대해 들어봤는가?

Context-API에 대해서 설명하세요.

리액트에서 전역상태를 관리하기 위한 기능 클래스형과 함수형의 차이는 무엇인가?

클래스형은 라이프사이클 메소드를 사용하고, 함수형에서는 useEffect등 Hook을 사용한다.

클래스형은 render함수가 반드시 필요, 함수형이 선언하기 더 간편하다. 라이프사이클 메소드에 대해서 설명하세요.

클래스형에 라이프사이클 메소드에는 크게

mount, update, unmount 3가지 과정으로 나뉜다.

자세하게는

constructor -> getDerivedStateFromProps -> render -> componentDidMount ->

getDerivedStateFromProps -> shouldComponentUpdate -> render -> getSnapshotBeforeUpdate

-> componentDidupdate

mount에서 컴포넌트가 만들어질때 componetDidMount에서 비동기처리 같은것을 주로하고, shouldComponentUpdate에서 업데이트 직전에 랜더링시(상태가변경)에 조건으로 재랜더링을 하냐마냐 결정을 할 수 있고, componentDidUpdate 업데이트 직후에 호출되는 메소드이고 unmount에서 컴포넌트가 소멸된 시점에 타이머나 비동기 API를제거 하는 곳이다.

기타 질문

타입스크립트를 사용해본 경험이 있는가, 타입스크립트에 대한 본인의 생각과 도입시의 장점을 말해달라

Typescript는 동적타입언어인 Javascript의 약점을 보완하기 위해서 타입을 지정해주는 것이다.

타입이 필요한 이유는 결론은 메모리를 절약하기 위해서이다. 메모리에 저장된 것을 읽어들일때, 값을 메모리에 저장할때, 값이저장되어있는 것을 참조할때의 크기들을 알아야 하기 때문이다.

또한, 에러를 잡기가 쉬워지고, 다른 동료와 협업 할때 코드의 예측도 가능해지고, 코드에디터의 도움을 더 받을 수 있다. 리액트의 경우 (브라우저는 javascript밖에 모르기떄문에) tsx파일을 javascript로 변환하는 트랜스파일링이 필요하다. 이때 변환하는 과정에서 에러를 잡을 수 가있다. 런타임에 오류를 잡는 것보다 훨~~좋다!

또한, Babel을 안써도 된다.

Typescript는 동적타입언어인 Javascript의 약점을 보완하기 위해서 타입을 지정해주는 것이다. 타입이 필요한 이유는 결론은 메모리를 절약하기 위해서이다. 메모리에 저장된 것을 읽어들일때, 값을 메모리에 저장할때, 값이저장되어있는 것을 참조할때의 크기들을 알아야 하기 때문이다. 또한, 에러를 잡기가 쉬워지고, 다른 동료와 협업 할때 코드의 예측도 가능해지고, 코드에디터의 도움을 더 받을 수 있다. 리액트의 경우 (브라우저는 javascript밖에 모르기떄문에) tsx파일을 javascript로 변환하는 트랜스파일링이 필요하다. 이때 변환하는 과정에서 에러를 잡을 수 가있다. 런타임에 오류를 잡는 것보다 훨~~좋다! 또한, Babel을 안써도 된다.

Angular와 React의 차이점은 무엇이라고 생각?

우선 Angular는 프레임워크이고, React는 라이브러리이다.

Angular는 양방향 바인딩개념으로 Model과 view가 연결되어있어 데이터 값이 한쪽에서 변화하면 다른쪽에서도 바로 업데이트가 진행된다. 서비스라는 개념은 컴포넌트간의 의존성관리를 용이하게 해준다. Directive를 이용하여 커스텀 HTML태그를 작성할 수 있다.

React는 Virtual DOM을 가지고 있다. 가상 DOM이 있기때문에 상태를 비교하여 부분적으로 랜더링 할 수 있어 속도가 빠르다. 오직 UI컴포넌트를 만들기 위한 라이브러리이다.

Angular는 HTML스크립팅이 templete 기반, React는 JSX 이용 / Angular는 기본이 Typesciprt

우선 Angular는 프레임워크이고, React는 라이브러리이다. Angular는 양방향 바인딩개념으로 Model과 view가 연결되어있어 데이터 값이 한쪽에서 변화하면 다른쪽에서도 바로 업데이트가 진행된다. 서비스라는 개념은 컴포넌트간의 의존성관리를 용이하게 해준다. Directive를 이용하여 커스텀 HTML태그를 작성할 수 있다. React는 Virtual DOM을 가지고 있다. 가상 DOM이 있기때문에 상태를 비교하여 부분적으로 랜더링 할 수 있어 속도가 빠르다. 오직 UI컴포넌트를 만들기 위한 라이브러리이다. Angular는 HTML스크립팅이 templete 기반, React는 JSX 이용 / Angular는 기본이 Typesciprt

라이브러리와 프레임워크에 대해서 설명

라이브러리와 프레임워크의 차이는 자유도의 차이 인것 같다. 프레임워크는 짜여진 패턴이나 틀 기반에서 내가 코딩을 하는 것이고, 라이브러리는 내가 가져다 사용해서 자유롭게 사용하는 방식이다.

라이브러리와 프레임워크의 차이는 자유도의 차이 인것 같다. 프레임워크는 짜여진 패턴이나 틀 기반에서 내가 코딩을 하는 것이고, 라이브러리는 내가 가져다 사용해서 자유롭게 사용하는 방식이다.

두 명의 프론트엔드 개발자가 있다 git을 관리하는 방식?

git repository를 하나파서 다른 동료가 fork를 해서 사용하는 방식. PM과 팀원의 구조를 가질 수도있고 동시에 Pull request를 가능하게끔 권한을 줄 수 도 있다. 각자의 팀장의 레포가 origin이라하고, 팀원의 포크딴 레포를 rmorigin이라고 한다면 각자의 origin에서 develop브랜치에서 작업을 한뒤 최종 작업이 완료되면 팀장의 origin의 마스터로 push한다.

git repository를 하나파서 다른 동료가 fork를 해서 사용하는 방식. PM과 팀원의 구조를 가질 수도있고 동시에 Pull request를 가능하게끔 권한을 줄 수 도 있다. 각자의 팀장의 레포가 origin이라하고, 팀원의 포크딴 레포를 rmorigin이라고 한다면 각자의 origin에서 develop브랜치에서 작업을 한뒤 최종 작업이 완료되면 팀장의 origin의 마스터로 push한다.

메소드 체이닝이란 무엇이며, 이것의 장단점은 무엇인가?

메소드 체이닝의 장점은 코드가 짧아진다는 장점이 있고, 단점은 에러가 났을때 어느 부분의 메소드에서 오류가 났는지 확인이 어렵다.

메소드 체이닝의 장점은 코드가 짧아진다는 장점이 있고, 단점은 에러가 났을때 어느 부분의 메소드에서 오류가 났는지 확인이 어렵다.

메모라이제이션이란?

불필요한 연산이나 계산을 하지 않고 기억을 해놓고 그 기억해놓은 것을 활용하는 방법

불필요한 연산이나 계산을 하지 않고 기억을 해놓고 그 기억해놓은 것을 활용하는 방법

RESTful API 가 무엇인가, 아는대로 다 말해달라

REST API는 URI로 접근가능하고 내용이 JSON,XML 등으로 표현된 자원에 대한 행위를 HTTP Method로 정의한다.

RESTful하다라는 것은 REST API의 설계의도를 명확하게 지켜주는 것이다. 슬래시를 통해 계층관계를 표시한다던가 숫자는 id를 나타낸다든가 동사보단 명사를 위주로 쓴다든가 하는.

REST API는 URI로 접근가능하고 내용이 JSON,XML 등으로 표현된 자원에 대한 행위를 HTTP Method로 정의한다. RESTful하다라는 것은 REST API의 설계의도를 명확하게 지켜주는 것이다. 슬래시를 통해 계층관계를 표시한다던가 숫자는 id를 나타낸다든가 동사보단 명사를 위주로 쓴다든가 하는.

CORS(Cross-Origin Resource Sharing)는 무엇인가 왜 이러한 방법이 정의 되었으며, 본인이 코드를 작성하면서 CORS와 관련하여서 경험하였던 이슈는 무엇인가

CORS란 도메인 또는 포트가 다른 서버의 자원을 요청하면 발생 하는 문제

경험 없음.

웹 프론트 측에서 request header에 CORS 관련 옵션을 넣어주고, 서버에서는 해당 프론트 요청을 허용하면 됨

CORS란 도메인 또는 포트가 다른 서버의 자원을 요청하면 발생 하는 문제 경험 없음. 웹 프론트 측에서 request header에 CORS 관련 옵션을 넣어주고, 서버에서는 해당 프론트 요청을 허용하면 됨

Eslint가 무엇인가요?

Eslint는 소스코드를 스캔하여 문법적오류나 잠재적 오류까지 찾아내고 오류의 이유를 볼 수 있게 해주는 도구

Eslint는 소스코드를 스캔하여 문법적오류나 잠재적 오류까지 찾아내고 오류의 이유를 볼 수 있게 해주는 도구

Prettier가 무엇인가요?

prettier는 정해진 규칙대로 코드를 이쁘게 할 수 있는 도구, 들여쓰기나 따옴표 등

prettier는 정해진 규칙대로 코드를 이쁘게 할 수 있는 도구, 들여쓰기나 따옴표 등

Webpack이란?

webpack은 모듈 번들러로 파일 확장자에 맞는 로더에게 위임해서 하나로 묶어준다 최종 배포용 파일을 만들어줌