해당 Repository 에 기여를 해주신 분들입니다. 감사합니다. 🙏
예비 개발자들 또는 개발자들의 기술 면접 준비를 위한 자료를 정리해놓은 저장소입니다. 개발이라는 분야를 모두 담지는 못했습니다. 그저 가이드라인으로 참고해주시면 감사하겠습니다. 또한 제가 개인적으로 면접을 준비하면서 정리한 내용이라 잘못된 부분이 있을 수 있습니다. 이런 부분들에 대해서는 Pull Request
or Issue
로 참여해주시면 정말 감사하겠습니다. 주제와 관련된 좋은 참고 자료를 추가하는 것도 가능합니다. 해당 Repository 에서 학습을 하시다가 생기는 질문은 Issue
에 올려주세요!
취준생 여러분의 건승을 기원합니다 👍
해당 Issue 에서 실제로 받았던 면접 질문들을 공유할 수 있습니다.
인터뷰를 마치고 한번씩은 반드시 들어봤을 질문입니다. 이 때 어떠한 질문을 하면 좋을까요? 적절한 질문들을 정리해둔 Reverse Interview 목록입니다.
💡 개발상식 Link
- 좋은 코드란 무엇인가?
- 객체 지향 프로그래밍이란 무엇인가?
- RESTFul API 란?
- TDD 란 무엇이며 어떠한 장점이 있는가?
- 함수형 프로그래밍이란?
- MVC 패턴이란 무엇인가?
- Git 과 GitHub 에 대해서
💡 자료구조 Link
- Array vs Linked List
- Stack and Queue
- Tree
- Binary Tree
- Full Binary Tree
- Complete Binary Tree
- BST (Binary Search Tree)
- Binary Heap
- Red-Black Tree
- 정의
- 특징
- 삽입
- 삭제
- Hash Table
- Hash Function
- Resolve Collision
- Open Addressing
- Separate Chaining
- Resize
- Graph
- Graph 용어 정리
- Graph 구현
- Graph 탐색
- Minimum Spanning Tree
- Kruskal algorithm
- Prim algorithm
💡 네트워크 Link
- GET, POST 방식의 차이점
- TCP 3-way-handshake
- TCP 와 UDP 의 차이점
- HTTP 와 HTTPS 의 차이점
- HTTP 의 문제점들
- DNS round robin 방식
- 웹 통신의 큰 흐름
💡 운영체제 Link
- 프로세스와 스레드의 차이
- 스케줄러의 종류
- 장기 스케줄러
- 단기 스케줄러
- 중기 스케줄러
- CPU 스케줄러
- FCFS
- SJF
- SRT
- Priority scheduling
- RR
- 동기와 비동기의 차이
- 멀티스레드
- 장점과 단점
- 프로세스 동기화
- Critical Section
- 해결책
- 메모리 관리 전략
- 메모리 관리 배경
- Paging
- Segmentation
- 가상 메모리
- 배경
- 가상 메모리가 하는 일
- Demand Paging (요구 페이징)
- 페이지 교체 알고리즘
- 캐시의 지역성
- Locality
- Caching line
💡 데이터베이스 Link
- 데이터베이스
- 데이터베이스를 사용하는 이유
- 데이터베이스 성능
- Index
- Index 란 무엇인가
- Index 의 자료구조
- Primary index vs Secondary index
- Composite index
- Index 의 성능과 고려해야할 사항
- 정규화에 대해서
- 정규화 탄생 배경
- 정규화란 무엇인가
- 정규화의 종류
- 정규화의 장단점
- Transaction
- 트랜잭션(Transaction)이란 무엇인가?
- 트랜잭션과 Lock
- 트랜잭션의 특성
- 트랜잭션의 상태
- 트랜잭션을 사용할 때 주의할 점
- Statement vs PreparedStatement
- NoSQL
- 정의
- CAP 이론
- 일관성
- 가용성
- 네트워크 분할 허용성
- 저장방식에 따른 분류
- Key-Value Model
- Document Model
- Column Model
💡 Design Pattern Link
- Singleton
💡 Algorithm (알고리즘) Link
- 손코딩 및 코딩 테스트 대비 => 대부분의 내용이 코드이기 때문에 별도의 Java Algorithm Training Repository에 저장합니다.
- 코딩 테스트를 위한 Tip
- 문제 해결을 위한 전략적 접근
- Sorting Algorithm
- Prime Number Algorithm
💎 Java Link
- JVM 에 대해서 / GC 의 원리
- Collection
- Annotation
- Generic
- final
- Overriding vs Overloading
- Access Modifier
- Wrapper class
- Multi-Thread 환경에서의 개발
💎 JavaScript Link
- JavaScript Event Loop
- Hoisting
- Closure
- this 에 대해서
- Promise
- JavaScript 기본서 비교
- ECMAScript6 정리
- Interview Algorithm Questions in JavaScript (영어)
- JavaScript 와 관련된 인터뷰 관련 내용들을 정리해놓은 자료입니다.
- JavaScript 와 관련된 인터뷰 관련 내용들을 정리해놓은 자료입니다.
💎 Python Link
- Generator
- 클래스를 상속했을 때 메서드 실행 방식
- GIL 과 그로인한 성능 문제
- GC 작동 방식
- Celery
- PyPy 가 CPython 보다 빠른 이유
- 메모리 누수가 발생할 수 있는 경우
- Duck Typing
- Timsort : Python의 내부 sort
🔶 Front-End Link
- 브라우저의 작동 원리
- Document Object Model
- Event Bubbling and Capturing
- Event delegation
- CORS
- 크로스 브라우징
- 웹 성능과 관련된 Issues
- 서버 사이드 렌더링 vs 클라이언트 사이드 렌더링
- CSS Methodology
- normalize.css vs reset.css
- 그 외 프론트엔드 개발 환경 관련
- 신입 프론트엔드 개발자가 되려면 무엇을 학습해야 하나요?
- Front-end Developer Interview Questions (한국어)
- Front-end Interview (영어)
- Front-end Checklist
- 면접 시 물어보기 가장 좋은 것들이 '기본'에 대한 내용이라고 생각되는데요, 그 '기본'에 대해 체크리스트 형식으로 잘 정리되어 있는 문서를 공유합니다.
- Front End Interview Handbook (한국어)
- React 구조에 대한 고민 시리즈
🔶 iOS Link
- App Life Cycle
- View Life Cycle
- Delegate vs Block vs Notification
- Memory Management
- assign vs weak
- Frame vs Bounds
- 기타 질문
🔶 Machine Learning Link
- Cost Function
- 소프트웨어 엔지니어의 이력서
- 미세먼지 같은 면접 팁
- 주니어 개발자를 위한 취업 정보
- mission-peace/interview
- 각종 알고리즘에 대한 코드와 동영상 강의 링크를 제공합니다. (영어)
- awesome-interview-questions
- 각종 언어, CS 기초에 대한 interview 질문들이 정리되어 있습니다. (영어)
- coding-interview-university
- 구글 인터뷰를 준비하면서 정리한 자료가 한국어로 번역되어 있는 자료입니다. (한국어 version)
- 코딩 인터뷰 완전분석
- (도서) 코딩 인터뷰에 관련된 도서 중 가장 유명한 책이라고 생각되는데요, 최근 개정판이 발간되었습니다.
- tech-interview-handbook
- 코딩 인터뷰에 관련되어 정리되어있는 respository 입니다. (영어)
- A perfect guide for cracking a JavaScript interview (A developer's perspective)
- @JayJin님이 추천하신 자바스크립트 인터뷰 아티클입니다.