react 썸네일react

2024-03-08

목차

  1. 스타트업 개발 환경과 일정 관리 문제
  2. QA & QC 없이 앱 배포 문제와 리젝 사례
  3. 권한 관리, API 데이터 처리 및 상태관리 논의
  4. 기술 면접 및 시간복잡도 질문 사례
  5. React 및 Next.js 관련 기술 토론
  6. 개발자 커뮤니티 잡담 및 근황 공유
  7. C언어, 컴파일러 최적화, switch vs if 논쟁
  8. AWS S3 CORS 문제 해결 조언
  9. 면접 준비와 취업 현황 토론
  10. 건강과 워라밸, 직장 생활 조언

1. 스타트업 개발 환경과 일정 관리 문제

  • 다수가 스타트업에서 겪는 일정 타이트함과 계속 바뀌는 기획 문제 언급
  • 기획이 수시로 변경되어 API 구조와 개발 일정이 계속 뒤엉켜 있음
  • 팀장이 조율을 제대로 못해 팀원들이 과도한 야근과 스트레스에 노출됨
  • 팀장과 위선 임원 간 소통 부재, 수직적 조직 문화에 불만 표출
  • 개발 인력 부족과 과도한 업무 분배로 "1인분 같은 3인분" 역할 요구
  • 업무 우선순위 및 필수 기능만 집중하여 MVP 수준으로라도 빨리 진행할 것을 권장
  • 이런 상황에서 이직을 고민하거나, 팀장 및 위층에 일정, 기획 고정을 요청하는 조언

2. QA & QC 없이 앱 배포 문제와 리젝 사례

  • QA(Quality Assurance, 품질보증)와 QC(Quality Control, 품질관리) 부재로 앱 배포 시 리젝(rejection, 앱스토어 거부) 빈번
  • 대표적인 리젝 사유
    • 회원 탈퇴 기능 부재: 애플 앱스토어 정책은 명확히 탈퇴 기능을 요구하지는 않지만, 일관되지 않은 정책 때문에 리젝 발생 가능
    • 마이 페이지, 회원가입 오류 등 기본 기능 미완성 상태로 배포 시도
  • QA 없이 개발자가 직접 테스트 하거나, 외부 업체에 QA 맡기는 경우가 많음
  • 리젝된 항목 보고와 이슈 처리 과정을 통해 점차 개선해 나가는 방식 제시
  • 스타트업 환경에서는 완벽한 QA 어려움, 릴리즈 속도 우선시되는 경우 존재

QA & QC 개념 간단 설명

  • QA: 제품이 요구사항과 기준을 만족하는지 계획, 프로세스, 테스트를 통해 전반적으로 관리하는 활동
  • QC: 실제 제품 품질을 검사하고 불량품을 걸러내는 구체적 검증 활동

3. 권한 관리, API 데이터 처리 및 상태관리 논의

  • API 호출 결과를 무조건 상태관리 스토어에 저장하는 것은 바람직하지 않다는 의견
  • 유저 정보 및 권한 관련 데이터는 보안상 스토어에 저장하되, 모든 API 응답을 저장하면 비효율적임
  • 토큰 기반 권한 관리의 한계와 프론트에서 토큰 복호화를 통한 권한 표시 가능성 언급
  • React Query 등 서버 상태 관리 라이브러리 사용 시 전역 상태 저장 불필요
  • 각각의 데이터 특성에 따라 캐싱 또는 상태 저장 여부를 선택해야 함

4. 기술 면접 및 시간복잡도 질문 사례

  • 시간복잡도 계산 시 보통 최악의 경우(Worst Case)를 기준으로 평가함
  • 특정 중첩 for문에서 내부 루프가 항상 n보다 작을 경우 n^3보다는 n^2에 가깝다고 주장하는 사례 토론
  • 실제 면접에서는 문제 상황과 데이터에 따라 설명하는 것이 중요
  • 코딩 테스트와 면접에서는 단순 이론보다는 데이터와 문제 상황 이해, 실제 계산 능력을 중시함

5. React 및 Next.js 관련 기술 토론

  • Next.js 14버전에서 서버 컴포넌트, 클라이언트 컴포넌트 사용법 논의
  • export const dynamic = "force-dynamic"; 코드로 정적 빌드 오류 해결 가능
  • Zustand와 jotai 같은 상태관리 라이브러리 비교, 메모리 누수 이슈 언급
  • React 프로젝트 내 다양한 라이브러리와 차트 구현 고민 (Chart.js, D3.js, Nivo 등)
  • React에서 API 호출 결과를 스토어에 모두 저장하는 관행에 대한 논쟁
  • useEffect 클린업 함수 문법 설명

6. 개발자 커뮤니티 잡담 및 근황 공유

  • 개발자들 일상, 건강, 스트레스, 퇴사 고민, 코로나 이후 취업 시장 변화 등 자유로운 대화
  • 개발자들끼리 서로 응원하며 힘든 환경 속에서도 동료애 표시
  • 다양한 닉네임과 내부 농담, 유머가 섞인 소소한 잡담들
  • 개발 도구, 라이브러리 추천 및 개인 공부 팁 공유

7. C언어, 컴파일러 최적화, switch vs if 문 논쟁

  • 컴파일러 최적화 단계에서 if-else와 switch 구문의 차이가 없거나 미미할 수 있음
  • switch는 분기가 복잡해지면 분기 테이블 방식으로 변환되어 메모리 사용 증가 가능
  • 최신 컴파일러는 많은 최적화를 수행하여 성능 차이 크게 느끼기 어려움
  • 실제 코딩에서는 가독성과 유지보수 편의성이 더 중요함을 조언

8. AWS S3 CORS 문제 해결 조언

  • CORS(Cross-Origin Resource Sharing)란 다른 도메인에서 리소스 접근 시 보안 정책
  • S3 버킷에서 CORS 설정이 제대로 되어있어도 여전히 오류가 나면
    • AllowedOrigins 설정 확인 (와일드카드 * 사용 시 문제 발생 가능)
    • 클라이언트 요청 헤더와 S3 설정 불일치 여부 점검
  • 제안된 해결책
    • 정확한 CORS 설정 파일 사용
    • 브라우저 개발자 도구에서 네트워크 요청 확인
  • 참고할 공식 문서 및 링크 제공

9. 면접 준비와 취업 현황 토론

  • 신입 및 경력직 개발자들의 취업 경쟁 심화와 부트캠프 출신 허수 문제 언급
  • 지원자는 많으나 회사 요구 스펙에 부합하는 인력 부족 현실
  • 구직 활동 시 포트폴리오 작성법, 이력서 차이, 면접 시 답변 팁 공유
  • 연봉, 워라밸, 야근수당 등 복지 조건에 대한 현실적인 조언
  • 면접에서 자주 나오는 기술 및 인성 질문 유형 소개

10. 건강과 워라밸, 직장 생활 조언

  • 장시간 야근과 스트레스로 인한 건강 악화 우려
  • 정신 건강과 체력 관리를 위해 적절한 휴식 권고
  • 일 잘하는 방법보다 일하는 환경과 팀 관리가 중요함 강조
  • 상사와 팀장과 소통하여 업무 조율 요청 필요
  • 더 나은 환경으로의 이직도 용기 내어 고민할 것 권장

면접팁⚡

  • 시간복잡도는 기본적으로 최악의 경우(Worst Case)를 기준으로 계산한다.
  • 면접에서는 단순 결론(n^2인지 n^3인지)보다는 문제의 데이터 구조와 로직에 따른 판단 근거를 명확히 설명하는 것이 중요함.
  • React와 Next.js를 사용할 때 서버 컴포넌트와 클라이언트 컴포넌트의 차이를 이해하고 있어야 함.
  • 상태관리는 모든 데이터를 무조건 스토어에 저장하는 게 아니라 필요에 따라 적절히 관리할 줄 알아야 함.
  • 팀장과 일정, 기획 조율이 안될 때는 문제를 객관적으로 보고 대안과 협의하는 자세 필요.

링크🔗

#스타트업#QA#앱배포#React#NextJS#시간복잡도#개발자커뮤니티#면접팁#C언어#CORS