12:05~ 12:45
- 자기소개
- 예술소프트웨어, 디자인-개발, 기획, 다양한 개발경험
- 개발선택이유 > 이전은 찾아나가는 과정 : 개발 → 답이 명확하다. > 다양한 방법을 시도할 수 있고, 문제해결
- 프로젝트
- 스마트에디터 문서모델(마크다운 모듈)
- 프로젝트하면서 어려웠던 부분, 성장했던 부분
- 구현 이후 성능테스트
문제
파일 크기가 커질 수록 멈추거나 하는 문제들 (퍼포먼스탭, 체감,)해결
- 웹워커, 멀티스레드
- 캐싱
추가질문 더 깊이 들어올 듯?
- 성장부분
- 구현 → jsDoc문서화, 테스트, 리팩토링, 디자인패턴,
- 디자인 설계
- 추상 구문트리가 하나의 .. .. → template method →
이 부분에서 집중질문나올 수 있을 듯
- 어떤 테스트?
- 모듈단위 테스트
- 테스트를 왜 작성해야하는가? → 예외상황 처리
- 리팩토링 목적
- 가독성 측면의 개선을 위해 진행
- 함수를 크게 작성 → 함수를 쪼개어서 구현
- 함수명, 추상화
- 가장 자신있는 부분
- 변환을 하는 과정이외의 역변환 시도했다는 것
기술
- 성능최적화 관련 시도해본 것 있는지
- 캐싱관련
- 문자열비교를 통해서,
- (JS) var, let, const 차이
- var(function) VS let, const (block)
- 재선언 재할당
- 실행컨텍스트
- 코드실행에 필요한 정보가 담겨있는 실행 객체
- 필요성
- 콜스택의 실행컨텍스트 단위로 담겨서, 코드들의 순서를 보장하기 위해
- Throttle, debounce
- throttle
- debounce
- 프로젝트에서 사례 good
- 불변성, 왜 필요한가
- 한 번 정하면 바뀌지 않는 것
- 구체적인 방법( map, push, Object.freeze)
- this
- 함수가 호출될 때 결정되는 값( 부모, 호출대상)
- bind, apply, call 차이점
- Http 이란?
- 통신프로토콜
- method
- header
- body
- CORS
- 코드리뷰 중 긍정적/부정적 피드백 1가지씩
- 정렬관련 질문
- 퀵정렬
- 속도가 빠른 측면
- 퀵정렬 구현원리
- 머지sort
- 둘중 사용상황 비교
- 장기적인 Vision
- 사람이 가지고 있는 문제를 기술적으로 해결하는 개발자
- 단기적인 Vision
- 프론트엔드 개발자로서 역량 길러서 발표, ..
- 나만의 edge포인트
- 기획, 디자인 경험 가지고 있다.
- 사용자경험을 고려할 수 있다는 점
- 스마트에디터 부서 궁금한 점