서로의 성장을 위한 피드백입니다.
보완할 점이 있다면 자세하게 작성해주세요 ~.~
특이사항
피드백
천욱 ~ 13:40(15분)
면접관 피드백
→: 천욱 답변
⇒: 수화 의견
- 리액트가 무엇인가요? → UI를 위한 js 라이브러리, 특징) 가상돔, 컴포넌트 단위 - 재사용성, 유지보수높다
- 왜 생긴걸까? → 효율적이고 빠르게 페이지를 만들 수 있다? 가상돔을 사용하는 게 큰 특징이다?? ⇒ 약간 근거가 부족하지 않았나 생각합니다. js를 쓸 때 어떤 문제가 있었고, 이걸 리액트가 이렇게 해결했다. 이 문제를 해결하기위해 생겼다.라는 흐름으로 말하면 좋을 거 같아요.
- 리액트의 특징, 선언형 프로그래밍이 뭔지 아시나요? ⇒ 리액트는 선언형을 추구하는 게 맞고, 그래서 suspense, error-boundary같은 문법이 생겼습니다!
- 선언형은 뭘 보여줄 것인지에 집중하는 것 ⇒ 컴포넌트, jsx에 있는 걸 보여주는 컴포넌트다
- 명령형은 어떻게 처리해야하는지, 그 로직, 명령에 집중하는 것 ⇒ 개인적으로는 event handler가 명령형이 아닐까? 라는 생각을 합니다
- react hooks → react 16에서 생겨난 method ? 클래스형 재사용성 문제가 있어서 생겨났따?? ⇒ 함수형 컴포넌트에서 state를 보존할 수 없어서, hooks method가 생겨났음. hooks 종류도 말해주면 좋을 거 같음. (hooks는 뭐고, 왜 생겨났고, 종류로는 이런 게 있다)
- 클래스형 컴포넌트에서 함수형 컴포넌트로 넘어간 이유, 원인이 뭘까? ⇒ 재사용 하기 어렵다고 잘 말해준 거 같음.
- hooks가 왜 최상위에서만 선언해야하는지
- react key props, 왜 unique key가 필요한지? ⇒ https://react-ko.dev/learn/preserving-and-resetting-state
수화 ~ 14:15 - 20(15 - 20분)
면접관 피드백
- 고민을 하고 얘기한다는 게 느껴짐 (정확히 질문을 이해하려고 하는 것도 괜찮)
- 클래스와 함수형 컴포넌트의 차이
- 함수형은 상속 개념이 없다. →
- 형제 컴포넌트로 props 전달
- 전역 상태관리
- 부모에서 state를 관리 → state 끌어올림 ?
- 클래스 컴포넌트 라이프사이클
- 라이프 사이클 메서드를 아는가?
- 메서드.. 뭐 그리 중요하진 않은가??
- React Hooks란?
- setState로만 변경을 해야하는 이유? → 왜 state는 변경되는걸 모를까?
⇒ state의 저장 방식이 객체이기 때문입니다. 값이 변경 되었다는걸 판단하기 위해 리액트는 객체로 저장된 state를 비교연산하는데, 객체이기 때문에 비교하는 판단 근거가 객체의 메모리 주소이므로 직접 수정하는 변경이 안된것으로 판단하고 update상태로 진입하지 않는다. - 정확하진 않음!!
- useRef란?
- 왜 리렌더링이 안되나요?? → hooks 내부에서 결정이 되었다.
- ⇒ 실제 DOM을 조작하기 때문에 안되지 않나요?? (내 뇌피셜)
- useMemo 사용이 권장되지 않을 경우는?
- 단순한 계산을 할 때
- 렌더링이 자주 발생하지 않는 경우 - useMemo는 이전에 계산된 값을 캐싱하여 재사용하는데 렌더링이 자주 발생하지 않는 경우에 useMemo로 캐싱을 하면 오히려 성능 저하가 일어날 수 있다.
- 어디서나 다 사용하는 것 - useMemo는 캐시된 값이 메모리에 유지되기 때문에 useMemo는 꼭 필요한 곳에만 신중히 사용을 해야합니다.
- 리액트 18버전 업데이트된 내용 아는대로 말해주세요.
- 로딩처리를 선언적으로 할 수 있게 되었다.
- 리액트와 뷰의 차이점
- 프레임워크와 라이브러리가 다름
- component와 pureComponent
공식문서 읽은 티가 많이 납니다.
고민많이 해보고 답변한다는 느낌을 받음.
질문의 의도를 정확히 파악하려는 점이 좋았다.