면접 대비 정리
같은 멘토님이지만 다른 분에게는 다른 질문을 해서 같이 정리해보는 블로깅
프로젝트
1. 주도적으로 만든 부분이 어딘지 설명 + 기능설명
- 무한 스크롤 파트
- react-intersection-observer api의 useInview hook을 이용하여 구현
- 어떠한 엘리먼트를 관찰하여 엘리먼트의 가시성에 대한 변화를 감지하고 그에 대한 이벤트를 발생시킬 수 있도록 도와주는 API의 특징을 이용하여 페이지가 변할 떄마다 그 변화를 감지하여 이벤트를 주어 구현.
2. 무한스크롤을 하면서 주도적으로 고민했던 부분이 어떤거였는지?
- 페이지의 변화가 있을 때마다 변화가 감지되는 부분을 어떻게 표현해야할지 고민.
3. 이러한 기능에서 고민 했던 부분과 / 어떻게 해결했는가? 어떤걸 반영하셨는지?
- 이를 slice 부분에서 자바스크립트의 splice로 초기화 해주면서 해결.
학습
1. 자바스크립트 세이타이저 모듈 그런거 써 볼 생각 해본적없나?
- 자세히는 모르겠으나 학습한다면 사용해볼 용이가 있음.
사용자의 의해서 html 등 태그가 쓰여져서 기존 코드가 방해되는 것을 방지하는 것이 세니타이져 모듈이라고 하는 듯.
2. 구글링 해봤을텐데 새로운 분야에서 학습방법 또는 정답을 찾아가는 방법은?
- 일단 따라쳐본다. 뭐든 해봐야 는다는 생각에 따라서 해보고 안 되면 돌린다. 저질러놓고 하는 스타일이라 시간이 많이 걸리긴 하지만 얻어 가는 것이 그 만큼 많다고 본다.
3. 그럼에도 불구하고 이해가 안될떄 어려운것을 학습할때 방법은?
- 공식문서나 잘 정리된 양질의 블로그를 보려고 노력한다. 그리고 또 똑같이 따라쳐본다. 직접 해보는 것 만큼 실력이 느는 것은 없다고 생각한다.
4. 새로운 것에 학습할때 자신만의 학습방법이 있는가? 있으면 어떤것인가?
- 이것도 마찬가지다. 먼저 따라쳐본다. 해보고 저질러보면서 뭐든 익혀보는 스타일이다.
기술지식
1. jsx란?
- javascript에 XML 문법을 더한 확장 문법으로 바벨을 사용하여 일반 javascript로 변환되어 읽힙니다. 하나의 파일에서 javascript와 HTML을 모두 읽을 수 있기에 효율적이라고 볼 수 있습니다.
2. promise타입이란?
- 프로미스란 javascript 비동기 처리에 사용되는 객체로 주로 서버에서 화면을 받아올 때 사용됩니다. 3가지 스테이트가 있으며 pending, fulfiled, rejected가 있습니다.
3. async/await이란 무엇인지?
- 프로미스의 then부분의 디버깅 처리의 불편함, 예외처리가 동기 / 비동기가 섞인 코드에서 불편하다는 점, 들여쓰기가 많아 가독성이 떨어진다는 점에서 단점을 가지고 있던 것을 보완하기 위해 나온 새로운 비동기 방식으로, 비동기 코드를 마치 동기코드처럼 보이게 작성할 수 있습니다. 예외처리 또한 try/catch로 일관되게 할 수 있다는 점에서 이점이 있습니다. 사용 방법으로는 다음과 같습니다. function 앞에 async를 붙여주고 HTTP 통신을 하는 비동기 처리 코드 앞에 await를 붙여줍니다. async 가 붙은 함수는 promise 객체를 반환합니다.
4. 콜백function은 어떻게 생각하는지?
- 콜백함수란 말 그대로 다른 함수가 실행을 끝낸 뒤 실행되는 함수를 말합니다. 비동기 방식으로 작성된 함수를 동기처리 하기 위해서 필요한데 잘못 남용할 경우 콜백지옥에 걸릴 케이스가 있기 때문에 이럴 땐 비동기처리 방식인 프로미스나 async/await를 잘 써줘야 한다.
5. RestAPI가 뭔가요?
- 로이 필딩이 웹설계의 우수성에 비해 제대로 사용되지 못하는 모습에 안타까워하며 웹의 장점을 활용할 아키텍쳐로 REST를 발표한 것이 탄생배경입니다.
6가지 특징이 있는데 유니폼 인터페이스, 무상태성, 캐셔블, 자체 표현 구조, 클라이언트-서버구조, 계층형 구조로 나눠 볼 수 있습니다.
6. React를 쓴이유는?
- 바닐라 자바스크립트에 비해 데이터 변화를 화면에 적용하기 쉽고 컴포넌트화하기 쉽기 때문입니다. 바닐라 자바스크립트로는 늘어나는 코드들을 리액트로는 코드도 줄이고 컴포넌트화 시켜서 사용할 수 있기 때문에 간단해지기 때문입니다.
나머지 내용은 겹치므로 패스.