목차
- 질문 문항별 페이지 구성과 유지보수성에 대한 고민
- 실제 회사 프로젝트 경험을 포트폴리오에 반영하는 영향
- 경력 초기 이직에 대한 의견과 팁
- 리액트와 뷰(Vue)의 차이점 및 사용 현황
- 공공기관 프로젝트에 Tailwind CSS 사용 가능성
- React Query의 무한 로딩 문제와 쿼리키 관리 팁
- 드롭다운 메뉴와 다이얼로그 컴포넌트 상태 관리 문제 해결하기
- 코드샌드박스(Codesandbox)에서 발생하는 모달 이벤트 문제
- 반복적인 이직과 실력 입증의 중요성
- 러닝(마라톤)과 개발자 생활에 관한 자유로운 대화
1. 질문 문항별 페이지 구성과 유지보수성에 대한 고민
- FH는 포트폴리오에서 질문 문항별로 페이지를 구성했을 때 유지보수성이 떨어질까 고민함.
- TZ는 문항이 배열 형태로 관리될 때 오히려 유지보수가 어려울 수 있다고 조언.
- TZ는 문항별 페이지 구성은 설계만 잘하면 보일러플레이트가 많아도 유지보수에 큰 문제 없다고 설명.
- 문항 간 상태 관리가 중요하며, runtime type-safe한 상태 관리를 도입·설명하면 좋다고 조언.
- 상태 관리란? : 사용자의 현재 답변 상태, 페이지 이동 상태 등을 코드에서 정확히 추적·관리하는 방법으로, 타입 안전성이 높으면 코드 오류를 줄임.
2. 실제 회사 프로젝트 경험을 포트폴리오에 반영하는 영향
- GT가 회사에서 리액트 기반 관리자 페이지를 직접 개발한 경험이 면접에 얼마나 도움이 되는지 질문.
- ZX, FH 등은 회사에서 실제 사용되는 프로젝트라면 포트폴리오에서 매우 긍정적으로 작용한다고 답함.
- 중요한 점: 단지 만든 게 아니라 어떻게 만들었고, 무엇을 배웠는지가 더 중요함.
3. 경력 초기 이직에 대한 의견과 팁
- 6개월 만에 이직하는 것이 실력 있는 개발자에게 오히려 불이익이 되지 않는다는 의견이 우세.
- JG는 능력만 있으면 대기업, 높은 연봉, 빠른 이직 모두 가능하다고 강조.
- 이직 사유는 '회사와 맞지 않음', '회사 환경 부족' 등 긍정적으로 포장하는 것이 좋음.
- UA는 면접 시 실력과 태도가 더 중요한 평가 요소라고 조언.
- 빠른 이직 시 면접에서 진솔한 이유 설명과 본인의 성장 과정 어필이 중요.
4. 리액트와 뷰(Vue)의 차이점 및 사용 현황
- TE가 리액트와 뷰의 난이도, 활용도를 질문.
- 일반적으로 리액트가 더 많이 쓰이고 npm 다운로드 수 등으로도 확인 가능함.
- 단방향 vs 양방향 데이터 바인딩 설명:
- 리액트는 단방향 데이터 흐름에 집중해 데이터의 변경이 명확하고 예측 가능함.
- 뷰는 v-model 등의 양방향 바인딩을 지원해 개발 초보자가 다루기 쉽지만 리액트에 비해 구조가 복잡할 수 있음.
- 이 때문에 리액트가 대형 프로젝트나 복잡한 상태 관리에 더 적합하다고 여겨짐.
5. 공공기관 프로젝트에 Tailwind CSS 사용 가능성
- MO는 공공기관 프로젝트에서 Tailwind CSS를 써도 되는지 질문.
- LK, HA 등은 보통 프로젝트에 따라 다르지만 강제사항이 없다면 사용 가능하다고 조언.
- Tailwind CSS는 유틸리티 클래스 기반 빠른 스타일링 도구로, 짧은 기간 내 개발할 때 효율적임.
6. React Query의 무한 로딩 문제와 쿼리키 관리 팁
- BV는 두 개 이상의 useQuery 컴포넌트가 있을 때 무한로딩 문제 발생 사례 공유.
- CP는 쿼리키가 중복되거나 순환 참조가 원인일 수 있으니 꼼꼼히 점검하라고 조언.
- 쿼리키(queryKey)란? : React Query에서 캐싱 및 데이터 관리 기준이 되는 고유 키로, 배열이나 문자열 형태로 전달.
- 올바른 쿼리키 관리와 렌더링 조건 제어(setFinishRender 같은 flag 활용)가 문제 해결에 효과적임.
7. 드롭다운 메뉴와 다이얼로그 컴포넌트 상태 관리 문제 해결하기
- ZX가 shadcn 라이브러리를 사용하면서 드롭다운 메뉴 내 다이얼로그 닫혀도 드롭다운 메뉴가 닫히지 않는 문제를 겪음.
- 여러 의견 중 context API 사용이 해결책으로 제안됨.
- Context API란? : React에서 전역 상태나 데이터 공유를 위해 컴포넌트 트리 전체에 상태값을 전달해주는 기능.
- 이를 활용하면 여러 컴포넌트가 상태를 공유하거나 이벤트를 트리거할 때 드릴링(Props 전달 반복)을 피할 수 있음.
- UA는 Radix UI 기반 구조라 open 상태를 관리하는 방식에 따라 해결책이 다르니 구체적인 재현 환경 공유 필요하다고 조언.
8. 코드샌드박스(Codesandbox)에서 발생하는 모달 이벤트 문제
- WP는 코드샌드박스 내에서 ESC키로 모달을 닫는 기능 구현 중 특정 상황에서 이벤트가 전달되지 않는 문제를 토론.
- 포커스 관리와 이벤트 전파 차단, 모달이 중첩됐을 때 부모/자식 컨텍스트 상태 관리가 핵심.
- 일반 UI 키트들은 모달 포커스 순서에 따라 문제를 해결하며, ESC 누르면 가장 위 모달만 닫히고 아래 모달은 유지되도록 구현됨.
9. 반복적인 이직과 실력 입증의 중요성
- JG, UA 등은 경력 기간보다는 실력과 직무 적합성이 더 중요하다고 강조.
- 면접 시 실력 부족이 이직 불합격의 주요 원인이며, "회사가 나를 품을 그릇이 아니다"라는 표현이 흔한 이직 사유라고 설명.
- 실력 입증에는 코드 작성 능력, 설계 능력, 도메인 이해도, 커뮤니케이션 스킬 등이 포함됨.
- 블로그나 유튜브 등 자신만의 컨텐츠로 PR하는 것도 자신의 역량을 드러내는 좋은 방법임.
10. 러닝(마라톤)과 개발자 생활에 관한 자유로운 대화
- JG가 하프 마라톤 도전을 계획 중이라는 개인 이야기 공유.
- 대화 중 키로당 페이스(분:초 단위로 1km를 달리는 시간)와 대회 정보 공유가 오갔음.
- 개발자 커뮤니티에서 건강과 운동 이야기가 활발히 오가는 모습도 확인됨.
면접팁⚡
- 포트폴리오 작성: 단순히 ‘무엇을 만들었는지’보다는 ‘어떻게 구현했는지’, ‘어떤 문제를 해결했는지’를 구체적으로 작성할 것.
- 경력 초기 이직 질문에 대해: 솔직하고 긍정적인 이직 사유를 준비하고, 자신의 성장을 강조할 것.
- 기술 질문 대응: React Query 쿼리키 관리, Context API 사용법 등 구체적이고 체계적인 설명이 면접에서 좋은 인상을 줌.
- 프론트엔드 라이브러리 선택: 지원 회사의 기술 스택과 시장 트렌드를 미리 파악해 관련 경험 어필할 것.
- 실력 증명 방법: 코딩 테스트 외에도 블로그, 깃허브 등 다양한 채널을 통해 자신의 역량을 꾸준히 알리는 것이 중요.
링크🔗
- DMZ 피스 마라톤 대회 위치 안내 : https://dmzpeacemarathon.co.kr/info/location.php
- 구로 대형 카페 (주차장 정보) : https://naver.me/xb7olayq
- 코드샌드박스 가격 및 플랜 : https://codesandbox.io/pricing
- 네이버 블로그 개발 관련 글 : https://m.blog.naver.com/ehmyoon/223619038785
- MDN HTTP Status 418 (재미있는 상태 코드) : https://developer.mozilla.org/ko/docs/Web/HTTP/Status/418
#리액트#포트폴리오#ReactQuery#상태관리#이직#프론트엔드#Vue#TailwindCSS#모달#드롭다운