목차
- 재택근무 종료와 사무실 복귀 이슈
- React 관련 질문과 팁
- 차트 라이브러리와 시각화 기술 논의
- 스톡옵션과 주식 행사에 대한 이해
- 인증 토큰 잘못된 경우 처리 방법
- 버튼 중복 호출 방지 기법
- React Native에서 플랫폼별 UI 스타일 차이 문제
- 개발자 면접 및 경력 이야기
- 프론트엔드 개발 관련 소소한 질문과 답변
- 팀 문화와 개인 경험 공유
1. 재택근무 종료와 사무실 복귀 이슈
- 카카오 계열사의 재택근무가 공식적으로 종료되고 있음.
- 재택에서 사무실 출근으로 전환하는 분위기이며, 사무실 자리 부족 문제 우려됨.
- 재택 근무는 복지에 가까운 제도라는 인식도 있음.
- 출퇴근 경로와 주거지 선택 시 교통 편의성(역세권)과 집값 상승 관계가 중요하게 고려되고 있음.
2. React 관련 질문과 팁
- React와 Vue.js는 모두 자바스크립트 기반 프레임워크지만, 구조와 사용법에서 차이가 있음.
- React의 가상 DOM(Virtual DOM) 개념: 실제 DOM을 조작하기 앞서 컴퓨터 메모리에 가상의 DOM을 생성하여 효율적으로 변경사항을 비교하고 반영함.
- React에서 양방향 바인딩은 기본적으로 제공하지 않아 상태 관리를 잘 설계해야 함.
- React 디자인 패턴 공부 시 잘 짜여진 소스코드를 참고하는 것이 중요함.
3. 차트 라이브러리와 시각화 기술 논의
- 차트 구현 시 복잡한 기능이 있으면 SVG 대신 canvas를 사용하는 것이 성능에 유리함.
- d3.js가 강력하지만 복잡하여, 사내에서 쉽게 커스터마이징 가능한 라이브러리를 만들려 노력 중임.
- 추천 라이브러리: Recharts, amCharts, nivo, Chart.js 등.
- 디자이너가 차트를 디자인하면 개발자가 구현하기 어려울 수 있어, 미리 협업 필요.
- Frappe Charts, Chart.xkcd 같은 재미있는 스타일의 라이브러리도 있음.
4. 스톡옵션과 주식 행사에 대한 이해
- 스톡옵션 행사란 회사에서 부여한 주식을 일정 가격(행사가)으로 매수할 권리를 사용하는 것.
- 행사 이익 = (주식 시가 - 행사가) × 매수 주식 수.
- 비상장 회사에서는 주식을 행사한 뒤 팔기 어렵고, 가격도 불투명해 리스크가 큼.
- 스톡옵션은 회사별 계약에 따라 행사 조건이 다양하며, 세금 문제도 고려해야 함.
- 행사한 주식을 팔지 못하면 투자금 손실 가능성 존재.
5. 인증 토큰 잘못된 경우 처리 방법
- 유저가 요청할 때 잘못된 토큰이 발견되면 보통 로그아웃 처리함.
- 만료된 토큰은 갱신 처리하지만, 그 외 잘못된 토큰은 보안상 즉시 차단하는 것이 일반적임.
- 서버에서 내려준 토큰 정보를 클라이언트에 신뢰하고 처리해야 함.
6. 버튼 중복 호출 방지 기법
- 디바운싱(Debouncing)과 쓰로틀링(Throttling)이 대표적인 중복 호출 방지 기법임.
- 디바운싱: 이벤트 발생 후 일정 시간 동안 추가 호출을 막음.
- 쓰로틀링: 일정 시간마다 한 번씩만 이벤트를 실행하도록 제한함.
- API 호출 중에는 버튼을 비활성화(disabled) 처리해 중복 요청을 막기도 함.
7. React Native에서 플랫폼별 UI 스타일 차이 문제
- React Native Paper 라이브러리에서 iOS/Android 스타일 스위치를 지원함.
- 하지만 기본적으로 OS 내장 스위치를 사용하기 때문에 한 플랫폼 스타일로 통일하기 어렵고, 커스텀 래핑 필요.
- iOS 스타일로 통일하고 싶다면 직접 스타일을 입히거나 별도의 커스텀 컴포넌트를 만들어야 함.
8. 개발자 면접 및 경력 이야기
- 손코딩(종이에 직접 코딩하는 것)이 알고리즘 문제풀이에 도움이 된다는 의견.
- 경력 쌓기, 포트폴리오 준비 중요하나 경험 공유와 스토리텔링도 면접에서 좋게 작용함.
- 신입 연봉은 회사와 지역에 따라 다르나 대체로 3400~4000만 원 선.
- 팀 분위기 좋다는 회사라도 기존 팀과 맞지 않을 수 있으니 문화 적합성 고려가 필요.
- 기술 변화가 빨라 시니어도 꾸준히 공부해야 하며, 신기술 습득에 게으르면 뒤처질 수 있음.
9. 프론트엔드 개발 관련 소소한 질문과 답변
- HTML input 태그의 maxLength 속성은 숫자가 아니라 문자열로 입력하는 것이 표준임.
- JSX에서 class 대신 className 사용.
- 이메일 템플릿에서 <script> 태그 실행 여부는 받는 쪽 이메일 클라이언트 정책에 따름. 대부분 실행 안 됨.
- React 상태 관리에 Vuex 같은 스토어 패턴 사용 고려 중인 경우 많음.
- fetch API로 파일 업로드 시 발생하는 418 Teapot 에러는 만우절 조크일 수도 있고, 헤더 차이가 있는지 확인 필요.
10. 팀 문화와 개인 경험 공유
- 개발자들이 일상, 개인 프로젝트, 식사, 지역 정보 등을 편안하게 공유하며 친목 다짐.
- 친구 간 금전 문제에 대한 고민도 공유, 명확한 상황 판단과 적절한 의사소통 중요성 강조.
- 회사 내 스톡옵션, 연봉, 기술 공부 등에 대해 진솔한 의견과 경험 나눔.
면접팁⚡
- 알고리즘 문제 풀이 시 손코딩을 통해 풀이 흐름과 구조를 명확히 하는 것이 매우 효과적임.
- 면접에서 단순 코딩 실력뿐 아니라 프로젝트에서 겪은 문제 해결 과정과 경험을 스토리텔링 형태로 설명하는 것이 유리함.
- 최신 기술 동향 및 본인이 사용한 라이브러리 선택 이유를 명확히 준비하자.
- 팀 적응성, 커뮤니케이션 뿐 아니라 자기 주도적 학습능력도 강조할 필요가 있음.
링크🔗
- 카카오 재택 폐지 관련 뉴스: https://www.sedaily.com/NewsView/2D6ST3A29H
- GitHub Edu (학생 라이선스): https://education.github.com/learner/learn
- 인솜니아(Insomnia, API 테스트 툴): https://insomnia.rest/
- React Native Paper Switch 코드: https://github.com/callstack/react-native-paper/blob/main/src/components/Switch/Switch.tsx#L98-L103
- 스톡옵션 행사 가이드: https://zuzu.network/resource/guide/option-exercise/
- Chart.xkcd GitHub: https://github.com/timqian/chart.xkcd
- Bruno (디자인 시스템): https://www.usebruno.com/
- MDN HTTP 상태 코드 418 (I'm a teapot): https://developer.mozilla.org/ko/docs/Web/HTTP/Status/418
- 네이버 만나이 계산기: https://search.naver.com/search.naver?ie=UTF-8&query=%EB%A7%8C%EB%82%98%EC%9D%B4+%EA%B3%84%EC%82%B0%EA%B8%B0&sm=chr_hty
#React#ReactNative#프론트엔드#버튼중복호출방지#스톡옵션#차트라이브러리#토큰인증#재택근무#면접팁#개발자경험