[TIL] Day59 #Section3_KPT_회고 #기술면접Q&A

Beanxx·2022년 7월 21일
0

TIL

목록 보기
59/120
post-thumbnail

2022.07.20(Wed)

[TIL] Day59
[SEB FE] Day60

☑️ Section3 기술 면접 Q&A

📎 재귀

🤷‍♀️ Q: 재귀를 활용하기 좋은 상황은 언제인지 예시를 들어 설명해주세요.

🎙 A: 재귀는 자기 자신을 호출하는 함수로 중첩된 반복문이 많은 경우에 반복문으로 작성된 코드를 더 간결하고 이해하기 쉽게 작성 가능합니다. (ex. 팩토리얼, 피보나치 수열 문제)

📎 UI/UX

🤷‍♀️ Q: UI, UX의 개념과 두 개념의 관계에 대해서 설명해주세요.

🎙 A: UI는 사람들이 컴퓨터와 상호작용하는 시스템을 의미하며, UX는 사용자가 서비스를 이용하면서 느끼고 생각하는 경험을 뜻합니다. UX가 UI를 포함하고 있는 개념이며 이 둘은 서로를 보완하는 역할을 합니다.

📎 Custom Component

🤷‍♀️ Q: Styled Components를 사용해보면서 느낀 장점을 이야기해주세요.

🎙 A: 분리해서 작성했던 CSS, JS 파일을 한 파일에서 편리하게 작업이 가능하며, div 등의 태그에 className을 따로 지정해주지 않고 styled-component로 지정한 변수를 바로 태그 이름으로 사용 가능하여 편리합니다.


🤷‍♀️ Q: useRef가 필요한 상황을 예시를 들어 설명해주세요.

🎙 A: useRef는 DOM 요소에 접근하기 위해 사용됩니다. useRef로 관리하는 값은 바뀌어도 리렌더링되지 않는데 예를 들어 input의 focus 선택시 사용하기도 합니다.

📎 Redux

🤷‍♀️ Q: 상태관리 라이브러리의 필요성에 대해서 설명해주세요.

🎙 A: 부모 컴포넌트가 자식 컴포넌트에 props 전달시, 해당 값이 필요하지 않은 컴포넌트에도 넘겨줘야 하는 상황이 발생할 수 있습니다. Redux를 사용하면 이러한 불필요한 props 전달을 하지 않을 수 있습니다.


🤷‍♀️ Q: Redux의 주요 개념들과 연결 관계를 설명해주세요.

🎙 A: Redux에선 Action → Dispatch → Reducer → Store 순서로 데이터가 흐르게 되는데 즉, 상태 변경 이벤트가 발생하면 변경될 상태 정보가 담긴 Action 객체가 생성이 되고, 이를 Dispatch 함수 인자로 전달합니다. 그 다음 Dispatch 함수가 Action 객체를 Reducer 함수로 전달하게 되면 Reducer 함수는 값에 따라 전역 상태 저장소인 Store 상태를 변경하여 화면을 리렌더링하게 됩니다.

📎 웹 표준 & 웹 접근성

🤷‍♀️ Q: Semantic HTML의 필요성을 예시를 들어 설명해주세요.

🎙 A: 시맨틱 HTML은 예를 들어 수많은

태그 등으로 이루어져 화면 구조를 파악하기 어려운 상황이 발생할 때 의미있는 이름으로 태그를 작성함으로써 개발자간의 소통을 원활하게 해줄 수 있습니다. 또한, 어떤 요소에 더 중요한 내용이 들어있는지 우선순위를 정할 수 있어서 우선 순위가 높다고 파악된 페이지를 검색 결과 상단에 표시할 수 있는 검색 효율성을 위해 사용하면 좋습니다.

📎 네트워크 심화

🤷‍♀️ Q: IP 프로토콜의 한계에 대해서 설명해주세요.

🎙 A: IP 프로토콜의 주요 한계로는 비연결성과 비신뢰성을 이야기할 수 있습니다. 먼저 비연결성이란 패킷을 받을 대상이 없거나 서비스 불가 상태여도 그대로 패킷을 전송하는 것이며, 비신뢰성이란 중간에 패킷이 사라질 수 있으며, 패킷이 순서대로 도착하지 않을 수 있음을 의미합니다.


🤷‍♀️ Q: HTTP 프로토콜의 특징에 대해 설명해주세요.

🎙 A: HTTP 프로토콜의 특징으로는 응답이 완료되면 클라이언트와 서버 연결이 끊어지는 속성인 비연결성과 이러한 비연결성으로 인해 서버가 클라이언트 상태를 기억하지 못하는 속성인 무상태성이 있습니다.


🤷‍♀️ Q: 캐시 검증 헤더의 종류와 사용법에 대해서 설명해주세요.

🎙 A: 캐시 검증 헤더의 종류에는 Last-Modified와 ETag가 있습니다. 먼저 Last-Modified는 캐시 수정시간을 알 수 있으며 데이터가 수정되지 않았다면 Body를 제외한 HTTP 헤더만 전송합니다. 반면, ETag는 서버에서 완전히 캐시 컨트롤하고 싶은 경우에 사용하며 서버가 헤더에 ETag를 작성해 응답하면 클라이언트 캐시에서 해당 ETag 값을 저장하여 사용합니다.

📎 인증 / 보안

🤷‍♀️ Q: Hashing에 대해서 설명해주세요.

🎙 A: Hashing이란 어떤 문자열에 임의 연산을 적용하여 다른 문자열로 변환하는 것을 말합니다. 모든 값에 대한 해시값 계산은 오래 걸리지 않아야 하며, 고유한 해시값을 갖도록 해야 합니다.

🤷‍♀️ Q: Cookie의 MaxAge, Expires 옵션이 무엇인지, 설정하지 않으면 어떻게 되는지 설명해주세요.

🎙 A: 먼저 MaxAge 옵션은 쿠키가 유효한 시간을 초 단위로 설정하는 옵션을 말합니다. 다음으로, Expires 옵션은 언제까지 쿠키가 유효한지 날을 지정 가능한 옵션을 말합니다. 이러한 옵션을 설정하지 않으면 브라우저를 종료할 때까지 계속 쿠키가 남아있게 됩니다.



☑️ Section3 KPT 회고

✨ Keep

  • Github 잔디 매일매일 🌱🌿  https://github.com/Beanxx
  • 꾸준히 TIL 기록 ✍️ (최근 네트웤 내용쯤부터 밀리기 시작..🤯)
  • 꾸준히 프로그래머스 문제 품 🔑
  • 미루고 미뤘던 코플릿 문제 첨부터 복습하는 중 ➿

✨ Problem

  • 수면패턴 망함
  • 데일리코딩 문제 잘 안 풀리면 쉽게 레퍼런스 코드 쓱- 보는 BAD 습관 👎
  • TIL 정리한 내용을 복습을 안 하니까 배웠던 내용도 잘 기억이 안남,,
  • 요즘 집중력 저하로 해야 할 일을 질질 끄는 듯한 느낌 😿

✨ Try

👉 우선순위 반영

  1. 그날그날 배운 내용 TIL 작성하기
  2. 전에 작성한 TIL 내용을 기반으로 내용 복습하기
  3. 토이 프로젝트 틈틈히 차근차근 진행하기
  4. 모던자스 딥다이브 책 조금씩이라도 매일 읽기
  5. 유데미 알고리즘 강의 듣고 개념 적용해서 데일리 코딩 문제 다시 풀어보기
  6. 부족한 개념 부분 추가적인 학습으로 보완하기

✨ Comment ✍️

Section3는 진짜 순식간에 지나간 느낌이다.
어려워진 내용을 머리에 넣기 급급해서 그런지 요즘따라 공부에 집중하기가 힘들었다,,
뭘 공부하고 있기는 한데 뭘 공부한지 모르겠는 느낌쓰..?
수료에 가까워져 갈수록 나의 개발 실력이 많이 부족하다고 느껴져서 추가적으로 학습할 자료들에 돈 좀 투자했다.. 💸
Udemy 알고리즘 강의, Udemy React 강의, 모던자스 딥다이브 전자책을 새로 구매했다.
공부해야 할게 급 늘어나서 우왕좌왕하다 아직두 많이 보지는 못했지만 앞으로 조금씩이라도 꾸준히 공부하기!


profile
FE developer

0개의 댓글