---
# System prepended metadata

title: Untitled

---

- 계획
    - 한 줄 요약 대답 적기 (ㅁㅈㅁㅈ)
    - 꼬리 질문 예측하기
    - 장황하게 하거나 너무 간단한 설명 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가 뭔지 설명해달라