- 계획 - 한 줄 요약 대답 적기 (ㅁㅈㅁㅈ) - 꼬리 질문 예측하기 - 장황하게 하거나 너무 간단한 설명 x - 최대한 예상 질문 많이 만들기 - 카엔은 플젝 위주라는 찌라시가 있다 - 카엔에 관련된 질문 생각하기 - 중요도 상 - 데이터통신 & 네트워크, 프로젝트, 데이터베이스, 웹전반, 자바스크립트 & 타입스크립트 중 - 운영체제, 코딩테스트, 리액트, 배포관련, 인성면접, 하고싶은 질문 하 - 자료구조, 컴퓨터구조 금요일 면접 일 - 월 - 이 날까지 오늘 적힌 질문들 다 연습할 수 있을까요 ? 화 - 오전 - 모의면접(피드백) 수 - 꼬리질문 정리 목 - - 코딩테스트 - 세그먼트 트리 - 자신의 코드 시간복잡도가 어떻게 되나? - 프로젝트 - 모노레포로 구성하면서 좋았던 점 - sdk 만들 때 고려해야 할 점 - 너무 의존성이 큰 sdk 요구사항이 있을 경우 어떻게 대처? - 서버 안정성, 견고함, 아티렐리, 언제부터 관심 가졌나? - 테스트코드 짤거야? - 5주 프로젝트 요청 많이 들어오면 어떻게 .. - 대규모 처리와 동시성 문제를 함께 고민해봐야함 - 코드 안정성을 위한 노력 - 배포 어떻게 했는지? - 왜 몽고DB 썼는지? - mysql 이랑 몽고디비 설계 차이점? (관계를 줄여라)? populate - 레플리카랑 샤딩 차이? - 샤딩 환경에서 집계 어떻게할건지? - 집계할때 성능 신경쓴거? -> (인덱스) - 인덱스 걸면 어떤거 걸거임 - 데이터베이스 - JOIN 종류 - 인덱스 원리 - 인덱스 빨라지는 이유 -> Tree형식으로 logN의 시간복잡도를 가지게됨 - 인덱스 사용시 용량을 더 차지하는 이유 -> Tree형식의 오브젝트를 추가로 생성함 - 트랜잭션 고립 수준 - nosql 과 sql 차이 - 자료구조 & 알고리즘 (질문이 없었음) - 퀵소트 - 해쉬함수 / 해쉬 시간복잡도 - 컴퓨터구조 (질문이 없었음) - 32bit 64bit 차이? - 운영체제 - 프로세스와 쓰레드 차이 - blocked vs nonblocked 차이 - 데이터통신 & 네트워크 - HTTPS & RSA - TLS와 HTTPS의 차이 - HTTP + TLS = HTTPS - TLS handshake - TCP / UDP - https://www.youtube.com/watch?v=AYdF7b3nMto&feature=emb_logo - OSI 7계층 - 브라우저의 동작원리 -> URL을 입력했을때 일어나는 일 - CORS 설명 / CORS 해결하려면? - SOP 설명 (CORS의 반대) - http1.1 vs http2.0 - 자바스크립트 & 타입스크립트 - 트랜스파일과 폴리필 차이 - 트랜스파일 : 어떤 특정 언어로 작성된 소스 코드를 다른 소스 코드로 변환 - 폴리필 : 비호환엔진에 없는 코드의 기능을 지원하기 위해서 삽입하는 코드 조각 - 컴파일 : 프로그래밍 언어를 기계어로 변환 - 트랜스파일 : 고수준 언어 => 고수준 언어 - 컴파일 : 고수준 언어 => 저수준 언어 - 폴리필 : 고수준 언어 최신버전 => 고수준 언어 old버전 - Type과 Interface 차이 - Type: 리터럴 - Interface: 클래스 - 타입정의를 어떻게 활용할 것인가(생각나면 추가) - 타입추론이 뭔가요 - 컴파일러는 명시적인 타입 표기 없이도 타입 정보를 이해할 수 있도록 하는것. ``` let x: number = 3; // 타입 ``` ``` let x = 3; // number 타입으로 추론 ``` - 타입을 어떻게 활용? - 클로저 정의 설명과 어떻게 활용할건인지? - 클로저란, **외부 함수에 접근할 수 있는 내부함수** 또는 이러한 원리를 일컫는 용어 - 객체 지향 중에서 지향하는 캡슐화의 형태로 만들려면 클로저를 사용하면 구현 가능하다. - 컴파일 과정을 설명해 보아라. - 타입스크립트로 변환 과정 - 가비지컬렉터 - 웹전반 - localStorage 와 sessionStorage 차이 + 쓰이는 곳 - 브라우저에서 Response를 받은후 일어나는 과정 - script 태그에서 async 와 defer 차이 - Javascript 에서 private 변수 선언하려면 어떻게? (prototype 쓰지않고) - html 에서 attribute 랑 _ 차이 - DOM 트리 파싱 어떤 알고리즘으로? - reflow랑 repaint 차이 - React - 컴포넌트 생명주기 - 번들 사이즈 축소 방법 - chunk size 나누는 기준? - 컴포넌트에서 상태를 immutable하게 관리하는 이유 - useEffect vs useLayoutEffect (이거 기본인데) - useMemo란? - 배포관련 - nginx 설정에 관해 - 인성면접 - 코드리뷰에 대해 - 회사 프로젝트 vs 개인 프로젝트 - 갈등상황시 어떻게 해결? - 테스트코드 짜본적 있는지? - 니가 한 프로젝트에 대해 말로 설명 - 사업할 생각은 있는가? (목적: 회사에 열심히 기여하냐, 이직을 빠르게 하냐) - 하고싶은 질문? - 주니어 개발자 / 시니어 개발자 비율이? 3:7 - 신입 개발자로써 가졌으면 하는 자세는? 배우고자 하는 마음을 잘표현하라 - Java쓰나요? 안써요 - 포인트 - 성능 관련 개념(자료구조 등)은 잘 안물어보고, 지식위주로 물어보는 듯? - 도움이 되는 사이트 - https://github.com/kesuskim/Front-End-Checklist - https://github.com/leehosung/awesome-devteam - https://github.com/yjs03057/33-js-concepts - https://github.com/Integerous/goQuality-dev-contents - https://github.com/yangshun/front-end-interview-handbook/blob/master/contents/kr/README.md - https://github.com/baeharam/Must-Know-About-Frontend - 추가질문 - 코딩테스트 - 프로젝트 - 데이터베이스 - 자료구조 & 알고리즘 (질문이 없었음) - 컴퓨터구조 (질문이 없었음) - 운영체제 - 데이터통신 & 네트워크 - 자바스크립트 & 타입스크립트 - 웹전반 - response로 받은 파일을 웹브라우저가 어떻게 처리하는가? - 전자서명 알고리즘이란? - React - 배포관련 - 인성면접 - 하고싶은 질문? - 포인트 0. article과 section 태그의 차이 1. padding과 margin의 차이 2. css selector 우선순위 관련 질문 3. event loop에 대해 설명 해달라 4. es6 문법 중 생각나는대로 말해달라 5. callback을 왜 사용하는지? 6. callback vs promise vs async await 차이 7. react를 사용하는 이유? 8. react를 다른 직군의 개발자에게 소개한다고 가정하고 react가 뭔지 설명해달라