[4회차] Study #5
Replies: 4 comments
-
역할면접관 - 윤아영 QnAQ. 1분 자기소개
Q. 최근 학습 기술
Q. 에러 바운더리와 서스펜스 적용 전과 후 코드 차이
Q. 최근에 봤던 아티클
Q. 어떤 기법들이 존재했나?
Q. 개인 프로젝트에서 리덕스 툴킷을 사용하게 된 이유
Q. 다른 것과 비교한 다른 라이브러리가 있을까요?
Q. 피케팅의 주스탄드 선택 이유는 간결함인가?
Q. contextAPI도 있는데 라이브러리를 사용한 이유
Q. 전역 상태를 관리해야하는 이유는?
Q. 전역 상태 관리하는 방법
Q. yarn의 선택 이유
Q. 탄스택의 캐싱 기능을 어떻게 사용하였는가? 예를 들어 데이터의 최신성을 어떻게 보장하는가?
Q. 탄스택 쿼리를 사용하면서 겪었던 트러블 슈팅이 있는가?
Q. 과거 프로젝트 실패한 경험 있는가?
Q. 어떤 부분에서 코드가 마음에 들지 않다고 생각했나?
Q. 불만족스러운 부분이 다음에 또 비슷한 일이 발생하지 않도록 노력한 부분은?
Q. 동기, 비동기에 대해서 설명해주세요
Q. 자바스크립트는 동기인가? 비동기인가?
Q. 좀 더 자세히
Q. Timeout 함수를 0초로 설정한다면?
Q. 만약에 기술적으로 4초가 아닌 0초로 지연시간을 지정할 수 있다면? 바로 실행될 수 있는가?
|
Beta Was this translation helpful? Give feedback.
-
역할면접관 - 김민영 QnA0. 1분 자기소개A.
1. 프론트엔드 개발자로서 "오너십"이란 무엇이라고 생각하시나요?A.
1-1. 프로젝트에서 오너십을 발휘했던 경험을 말해주세요.A.
2. 고객에게 좋은 서비스를 제공하는 것이 목표라고 하셨는데, 그 목표를 실현하기 위해 어떠한 노력을 하시나요?A. 프론트엔드는 고객이 가장 먼저 접하는 첫인상이기 때문에, UI와 UX를 잘 구성하는 것이 핵심 2-1. UI/UX 구현할 때 가장 중요하게 생각하는 부분이 무엇인가요?A.
3. React와 Next.js를 사용하신다고 하셨는데, 두 차이점은 무엇인가요?A.
4. TypeScript와 JavaScript의 차이점 중, 개발 과정에서 느꼈던 장점은 무엇이 있었나요?A. 타입스크립트는 변수, 함수, 객체의 타입을 미리 정의함으로써 코드의 의미를 명확하게 알 수 있고, 코드 작성 시점에 타입 오류를 발견할 수 있어 런타임 오류를 줄이는 장점 5. Youtube CopyKiller 프로젝트에서 두 개의 영상 URL을 등록하여 표절률을 출력하는 과정에서 가장 어려웠던 부분은 무엇이었나요?A.
6. Youtube CopyKiller 프로젝트에서 AI가 제공하는 결과를 어떻게 직관적으로 제공했는지 설명해 주세요.A. 표절률을 bar 형식으로 출력하면서, 옆에 퍼센테이지도 명시해 이미지와 텍스트에 대한 표절률을 각각 표시하고 그 후, 평균값을 계산해 전체 표절률을 나타냄 7. Neighbor-Food 프로젝트에서 본인이 구현한 주요 기능을 간단하게 설명해 주세요.A.
8. Neighbor-Food 프로젝트가 사용자에게 주는 핵심 가치는 무엇이라고 생각하나요?A. 계속해서 증가하는 배달비로 인해 대학생뿐만 아니라 돈을 버는 직장인들에게도 큰 부담이 되고 있는 상황에서 공부하느라 바쁜 대학생들에게 부담을 덜어줄 수 있는 가치 9. Pawing Market 프로젝트에서 장바구니 기능에서 React-Query를 사용한 이유는 무엇인가요?A. 처음에는 세션 스토리지를 사용했지만, 브라우저 종료 시 자동으로 삭제되는 특성 때문에 React-Query로 변경, 전반적으로 구현 과정에서 큰 어려움이 없었기 때문에 React-Query를 선택 10. 결제 기능을 구현할 때 가장 어려웠던 점은 무엇인가요?A.
11. 결제 성공 또는 실패 시 사용자 경험을 어떻게 개선하셨나요?A. 결제를 성공했을 때는 홈으로 바로 이동할 수 있도록 구현했으며, 결제에 실패했을 경우에는 에러 메시지를 표시해 사용자가 결제 실패를 한눈에 알아볼 수 있도록 했음 12. 다양한 협업 경험이 있으신데, 협업하면서 발생했던 어려움은 없었나요?A. 마지막까지 디자인을 강조하는 팀원이 있었음 12-1. 그 어려움을 어떻게 해결하셨나요?A. 그때는 해결하지 못하고 시간 부족으로 기능 구현을 마무리한 후 디자인을 수정, 결국 이전 디자인이 더 높은 평가를 받았음 → 이 경험을 통해 앞으로는 의견을 표현해도 된다는 점을 배움
13. 협업 과정에서 의견 충돌이나 문제 해결을 위해 지원님만의 특별한 방식이 있나요?A. 사용자 관점에서 우선적으로 생각하며, 내가 유저라고 가정하고 시뮬레이션을 돌려봄 → 내 의견이 맞다고 생각될 때 팀원들에게 의견을 제시하고, 다수결로 해결 14. 왜 개발자가 되고 싶으신가요?A.
15. 쿠키, 세션 스토리지, 로컬 스토리지의 차이점을 설명해주세요.A.
16. CSS 박스 모델에 대해서 말씀해 주세요.A.
16-1. 박스 모델이 웹브라우저에서 어떻게 동작하는지 설명해 주세요.A.
17. 자바스크립트는 싱글스레드인데 비동기코드가 작동 가능한 이유는 뭘까요?A.
18. State와 Props의 차이점에 대해 설명해 주세요.A.
19. React 라이프 사이클을 간단하게 설명해 주세요.A.
💡 피드백
|
Beta Was this translation helpful? Give feedback.
-
역할면접관 - 이서인 지원자 - 윤아영 @ayoung-iya QnAQ. 1분 자기소개 부탁드려요.A. 운 좋은 개발자 / 서로 돕는 친구들 / 긍정적으로 진행하고 있다.
Q. 본인과 잘 맞지 않는 사람과 프로젝트를 하게 되면?A. 무조건적인 악은 없기 때문에 의견을 먼저 들어볼 것 같다.
Q. 자기 객관화를 잘 하는 게 개발에 미치는 영향이 뭔가요?A. 일을 맡았을 때 할 수 있는지 없는지 걸리는 시간을 파악하는 게 중요하다고 생각한다. Q. 역량보다 큰 일을 회사가 맡기면 어떻게 할 것 인가요?A.
Q. 프로젝트에서 기본에 충실했던 경험을 말씀해주세요.A. 리팩토링하면서 많이 느꼈다. 불필요한 state를 줄이고, 관리의 중요성을 깨달았다. useEffect도 최소화로 변경했다.
Q. 여행을 계획하고 공유하는 플랫폼은 많은데 트래블록이 가지는 차별성이 있을까요?A. 참고했던 레퍼런스는 있었다. 차별점이 당장 생각나지 않는다. Q. 프로젝트에서 본인의 역할은 무엇이었나요?A. 팀원으로 참여를 열심히 했고, 맡은 컴포넌트와 맡은 페이지를 기한 내에 완성했다. 코어타임을 가졌었는데 코어타임에 매번 참석하고, 정해진 일을 잘했다. 인풋과 검색 페이지와 여행 초기 계획 페이지를 맡았다.
A. 제어 컴포넌트와 비제어 컴포넌트 사용 여부를 고민했다. 실시간으로 상태를 추적하는 부분은 제어 컴포넌트를 사용했다.
A. 그 부분을 고려하지 못했다. 팀원의 추천
Q. useEffect를 제거하고, 불필요한 리렌더링을 줄였을 때 성능이 얼마나 개선됐나요?A. 성능 측정을 해본 것은 아니고, 불필요한 리렌더링이 없어졌다고 생각했다. Q. ‘트래블록’ 프로젝트에서 TanstackQuery와 Next.js 기술 스택의 역할 분리를 어떻게 하셨을까요?A. 서버 컴포넌트에서 API의 호출이 필요할 땐 Next.js 캐싱을 사용했고, 클라이언트 컴포넌트엔 리액트 쿼리 캐싱을 사용했다.
A. 기본적으로 get 요청을 할 땐 Next.js 패치를 사용했고, 무한스크롤은 리액트 쿼리의 인피니티쿼리를 사용했다. Q. 프로젝트를 하면서 해결했던 트러블 슈팅이 있다면 설명해주세요.A. 프로젝트를 리팩토링 하면서 문제점을 정확히 알고 해결한 부분이 있었다. 무한스크롤 커스텀 훅을 사용하려고 했을 때 제대로 동작하지 않았다. 인터섹션 옵저버의 콜백을 밖으로 빼서 해결했는데, 리팩토링을 하면서 왜 해결됐지를 분석했다. 근본적인 문제 해결은 아니었다. 커스텀 훅에서 의존성 배열은 ref로 잡고, useState를 혼용해서 사용했다.
Q. 건축학과를 졸업하셨는데, 프론트엔드 개발자를 준비하는 동기는 무엇인가요?A. 건축학을 공부하면서 예술적인 작업이라 어렵다고 판단했습니다. 동생에게 개발자라는 직군을 추천받았다. 실제로 내가 사용하는 것과 밀접한 기술을 다루는 데 흥미 건축학을 공부하면서 느꼈던 완성의 즐거움을 개발에서도 느끼고 있다. Q. 다른 사람보다 내가 이거 하나는 자신있다 하는 것이 있을까요?A. 꾸준하고, 무던하다는 게 장점이다. 지금까지 운이 좋았던 것도 큰 갈등 상황에 감정의 폭이 크지 않았기 때문도 있다고 생각한다. Q. 개발자에게 필요한 역량은 무엇이라고 생각하시나요? 그리고 본인을 평가했을 때 몇 %이고, 이 역량을 갖추기 위해 어떻게 노력하고 있는지 설명해주세요.A. 코드를 해석하는 능력이 중요하다. 코드를 해석할 줄 알아야 더 나은 방향으로 나아갈 수 있고, 돌아가는 원리를 추측할 수 있다. 40% 정도 달성했다. 코드 리뷰를 하면서 많이 느꼈는데 어떻게 진행되는 것인지 깃허브 상으로 이해가 어려웠고, 리팩토링 과정에서 기존에 어떻게 돌아갔고, 만들어졌는지 코드를 파악한 후에 수정하는 과정을 거쳤다. Q. 가상 DOM을 사용한 리액트의 동작 원리를 설명해주세요.A.
예상 답변
Q. 리액트의 선언형 프로그래밍이 갖는 장점은 무엇인가요?A.
예상 답변: 선언형 프로그래밍은 어떻게 처리할지 명령형으로 일일이 지시하지 않고, 무엇을 보여줄지 선언합니다. 이는 코드의 흐름을 직관적으로 만들어 유지보수를 쉽게 만듭니다. 또, UI 상태와 로직을 분리해 관리할 수 있어 컴포넌트 재사용성을 높입니다.(자바스크립트 자체는 컴포넌트를 분리하는 기능이 내장돼있지 않습니다.) Q. HTTPS의 원리를 설명해주세요.A.
예상답변: HTTPS는 HTTP에 SSL/TLS 프로토콜을 적용해 데이터 전송을 암호화하고, 기밀성, 무결성, 인증을 보장하는 통신 방식입니다. 클라이언트가 서버에 접속하면 서버는 SSL/TLS 인증서를 제공하고, 클라이언트는 이를 검증한 후 대칭키를 생성해 서버와 공유합니다. 이후 데이터를 암호화해 안전한 통신을 합니다. Q. CORS란 무엇이고 어떻게 구현할 수 있나요?A.
예상답변: CORS는 브라우저가 다른 출처의 리소스를 요청할 때 보안성 제한을 해제하는 메커니즘입니다. 서버에서 Access-Control-Allow-Origin 헤더를 설정해 허용할 출처를 명시해서 구현합니다. 이를 통해 특정 도메인만 자원을 공유할 수 있게 제어할 수 있고, 보안을 유지하면서 외부 리소스를 활용할 수 있습니다. Q. 10년 뒤에는 본인이 어떤 모습일지 말씀해주세요.A. 프론트엔드 개발자는 계속 해서 새로운 기술을 도입해야 한다. 10년 뒤에도 요즘의 트렌드와 기술을 살펴보지 않을까 생각한다. <이력서 보완사항>
|
Beta Was this translation helpful? Give feedback.
-
0. 1분 자기소개협업을 중심으로 한 개발 경험을 통해 팀원과 소통의 중요성 배움 1. 프로젝트 내에 처음 접하는 기술을 신속히 학습한 경험을 말씀해 주세요.프로젝트마다 빠르게 학습
2. 개발 과정에서 여러 작업을 효율적으로 관리했던 사례를 말씀해주실 수 있나요?아무래도 프로젝트를 들어가면 팀원끼리 역할 분담을 효율적으로 하고 3. 직관 일기는 어떤 서비스이고, 민영님이 맡은 역할은 무엇인가요?유저 트래픽 100명 있던 웹 서비스 4. Recoil을 사용하여 상태관리를 하셨는데 많은 상태관리 중 Recoil을 선택한 이유는 무엇인가요?상태관리 라이브러리가 많은데 Recoil은 비동기 상태를 효과적으로 처리할 수 있고, Recoil 자체가 react에서 제공하는 상태관리 5. 포잉마켓에서 타입 처리와 Prop 지정을 철저히 하셨다고 했는데 타입 처리와 Prop 설정에서 발생할 수 있는 문제를 어떻게 방지하거나 해결했나요?공통 컴포넌트를 다른 팀원들이 컴포넌트 파일을
6. 웹 소켓을 사용한 실시간 공동 구매 리스트 업뎃 기능을 어떻게 구현했나요?실시간 데이터 서비스를 진행했을 때 soket.io 라이브러리를 사용했는데 클라이언트 측에서 데이터가 변경되는 상황이 생기면 서버로 전달 7. 포잉마켓에서 UX를 향상시키기 위해 어떻게 했나요?실시간 데이터 통신 자체가 사용자 경험을 많이 개선시켯다 생각
8. 코드 리뷰에서 제공한 피드백 중 팀원들이 가장 크게 개선한 부분은 무엇이었나요?가장 많이 햇던건 코드 컨벤션 리뷰 9. 화살표 함수와 일반 함수의 차이점을 설명해 주세요.
10. 콜백 지옥이란 무엇이고, 콜백 지옥을 해결하는 방법을 설명해주세요.콜백 지옥은 비동기 작업할 때 콜백 함수가 중첩돼서 연속적으로 호출되면 가독성, 유지보수성이 떨어지는 것
11. 함수형 컴포넌트와 클래스형 컴포넌트의 차이점을 말해주세요.
12. undefined와 null 차이점을 설명해주세요.
13. Redux의 장단점에 대해 설명해주세요.
14. 스마트 콘텐츠 전공에서 다른 분야를 선택한 이유가 무엇인가요?애초에 학교를 다녔을 때 첫 학번이어서 학과 자체가 어수선하고 커리큘럼과 교수가 제대로 지정되어있지 않아 학교 생활에 집중 못함 15. 비즈니스와 개발 중 어디에 더 집중하는 회사를 선호하시나요?직업상 개발에 더 집중한다.
<전반적 평가>
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
매회 차마다 "[n 회차] Study"라는 제목으로 디스커션이 올라오면 아래 템플릿으로 면접관의 입장에서 댓글 달아주시면 됩니다.
QnA를 작성하실 때는 면접관 역할에서 본인이 했던 질문과 지원자의 답변 내용을 작성하면 됩니다.
답변 내용을 전부 받아 적기 힘들면 키워드 위주로 작성해 주셔도 됩니다.
기술 질문은 예상 답변도 작성해 주시면 감사드립니다.
Beta Was this translation helpful? Give feedback.
All reactions