나의 개발일지(김지헌)
항해 99 93일차 12/20일 본문
오늘도 기술면접 준비를 했다 생각 보다 오래 걸리고 이론을 알기가 쉽지않은거 같다
더보기
Promise란 무엇인지 설명해주실 수 있을까요?
- 프로미스란? 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다.이행 fulfilled : 연산이 성공적으로 완료됨.
- 거부 rejected : 연산이 실패함.
- 대기 pending : 이행하지도, 거부하지도 않은 초기 상태.
9. Hoisting이란 무엇인지 설명해주실 수 있을까요?
자바스크립트 런타임시 선언해둔 변수와 함수를 가져가서 메모리에 기억을 해두고 호출시 실행해주는것 즉 함수가 실행되기 전에 안에 있는 변수들을 범위의 최 상단으로 끌어올리는 개념
10. 개발자로서 본인의 장단점과 근거가 되는 경험을 말씀해주실 수 있을까요?(협업 능력 제외)
나중
11. async/await 이란 무엇인지 설명해주실 수 있을까요?
- async : function 앞에 사용되고 항상 프로미스를 반환한다.(프로미스가 아닌것도 감싸서 반환)
- await : async 안에서만 동작하고 프로미스가 처리될 때까지 함수 실행을 기다리게 만들며 처리가 완료되면 결과와 함께 실행이 재개된다. 장점:프로미스가 처리되는 동안에 엔진이 다른일을 할 수 있다.(cpu 리소스가 낭비 되지 않음)
12. Arrow Function 이란 무엇인지 설명해주실 수 있을까요?
- 일반적으로 사용된 function 키워드 대신 화살표 (⇒) 를 사용하여 보다 간략한 방법으로 함수를 선언 할 수 있는 방법 (= 익명함수)자신의 this, arguments, super 또는 new.target을 바인딩하지 않고,
- this를 가지지 않는다.
- arguments를 지원하지 않음
- new와 함께 호출할 수 없다
- super가 없다.
- 객체 안에 메소드로 호출할 경우 this는 메소드를 포함하는 객체에 바인딩 되는데 화살표 함수의 this는 바인딩을 하지 않기 때문에 스코프안에서 this의 값을 찾을 수 없음.
- 외부에 있던 this를 그대로 내부로 가져와서 사용하는 함수기 때문입니다.
13. ‘==’와 ‘===’ 연산자의 차이는 무엇인지 설명해주실 수 있을까요?
- ==(동등 연산자) : 두개의 값 숫자형 1과 문자열 1을 비교할 때 타입은 비교하지않고 오직 값만을 비교해서 true false로 나타낸다 ex) 1 == “1” true , null == undefined true
- ===(일치 연산자) : 두 개의 값과 타입이 일치하여야지 true를 나타내고 값만 일치하고 타입은 일치하지 않을시 false를 나타냄.
14. 즐겨 보는 테크 유튜버나 뉴스레터가 있다면 알려주실 수 있을까요?
코딩알려주는누나
15. Express란 무엇이고 왜 필요하며 대안은 무엇이 있는지 설명해주실 수 있을까요?
- Express가볍고 유연하게 웹 서버를 구성 할 수 있고, 라우팅시 REST API의 메서드를 이용하여 CRUD를 구현하는 것이 직관적이다.HAPI: Hapi는 크고 복잡한 어플리케이션에 특성화 되어 있다. 보일러플레이트로 작성해야 할 코드가 많아서 작은 웹앱에서는 쓰기 불편하고, 예제 및 hapi로 작성된 오픈소스 앱도 적다.
- KOA :메모리를 덜먹고 표현력이 좋다,필요한 미들웨어만 작성 가능
- 미들웨어 기반의 웹 프레임 워크로
16. npm 이란 무엇인지 설명해주실 수 있을까요?
- Node.js의 패키지를 관리할 수 있는 도구이다.단점: 모듈을 개발한 개발자에게 의존적이기 때문에 에러가 있는 경우 수정하는게 힘들다
- 자신에게 필요한 모듈을 다운 받을 수 있음
17. 사용자 패스워드를 전송하고 보관하는 방법을 설명해주실 수 있을까요?
- 암호화와 해싱 두가지 밤법이 있으며 둘의 차이는 방향성이다.단방향 해시 함수는 어떤 수학적 연산(또는 알고리즘)에 의해 원본 데이터를 매핑시켜 완전히 다른 암호화된 데이터로 변환시키는 것을 의미한다. 이 변환을 해시라고 하고, 해시에 의해 암호화된 데이터를 **다이제스트(digest)**라고 한다.salt라고 하며 이 방법으로 데이터베이스에 비밀번호를 저장한다.
- 프론트에서 받은 비밀번호를 해싱으로 암호화해서 저장할 시 무차별 대입 공격(브루트 포스)에 취약하기 때문에 해시 함수를 돌리기 전에 임의의 문자열을 덧붙혀서 암호화 하는 방법을
- 해싱은 단방향이기 때문에 복호화가 불가능 하고 암호화는 양방향이기 때문에 복호화가 가능하다.
'항해 99' 카테고리의 다른 글
항해 99 95일차 12/22일 (0) | 2022.12.23 |
---|---|
항해 99 94일차 12/21일 (0) | 2022.12.22 |
항해 99 92일차 12/19일 (2) | 2022.12.20 |
항해 99 91일차 12/18일 (0) | 2022.12.19 |
항해 99 90일차 12/17일 (0) | 2022.12.18 |