Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/WeareSoft/tech-interview
:loudspeaker:๐ tech interview
https://github.com/WeareSoft/tech-interview
Last synced: 3 months ago
JSON representation
:loudspeaker:๐ tech interview
- Host: GitHub
- URL: https://github.com/WeareSoft/tech-interview
- Owner: WeareSoft
- Created: 2018-09-11T09:19:49.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-11-17T12:20:42.000Z (about 2 years ago)
- Last Synced: 2024-10-16T05:41:18.216Z (3 months ago)
- Homepage:
- Size: 6.05 MB
- Stars: 4,437
- Watchers: 122
- Forks: 753
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-list - tech-interview
- awesome-repositories - WeareSoft / tech-interview
README
# Tech Interview
**๊ธฐ์ ๋ฉด์ ๋๋น๋ฅผ ์ํ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ ๋ฆฌํ๋ Repository ์ ๋๋ค.**
> :star: ๋ด์ฉ์ ์ค๋ฅ๊ฐ ์๊ฑฐ๋ ์ถ๊ฐํ ๋ด์ฉ์ด ์๋ค๋ฉด Pull Request๋ฅผ ํตํด์ ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
>
:star: Star๋ Watching๋ฅผ ํตํ ๋ง์ ๊ด์ฌ ๋ถํ๋๋ฆฝ๋๋ค. :)[![author](https://img.shields.io/badge/author-WeareSoft-red.svg)](https://github.com/WeareSoft)
[![HeeBlog](https://img.shields.io/badge/blog-Hee-lightgrey.svg)](https://gmlwjd9405.github.io/)
[![DoyBlog](https://img.shields.io/badge/blog-Doy-lightgrey.svg)](https://doooyeon.github.io/)
[![NesoyBlog](https://img.shields.io/badge/blog-Nesoy-lightgrey.svg)](https://nesoy.github.io/)
[![DelfBlog](https://img.shields.io/badge/blog-Delf-lightgrey.svg)](https://delf-lee.github.io/)
[![contributors](https://img.shields.io/badge/contributors-4-yellowgreen.svg)](https://github.com/WeareSoft/tech-interview/graphs/contributors)
[![HitCount](http://hits.dwyl.io/WeareSoft/tech-interview.svg?style=popout)](http://hits.dwyl.io/WeareSoft/tech-interview)**:book: Contents**
1. [Data Structure](#1-data-structure)
2. [Network](#2-network)
3. [Operating System](#3-operating-system)
4. [Database](#4-database)
5. [Design Pattern](#5-design-pattern)
6. [Algorithm](#6-algorithm)
7. [Java](#7-java)
8. [JavaScript](#8-javascript)
9. [Spring](#9-spring)
10. [Security](#10-security)
11. [ETC](#11-etc)---
## 1. Data Structure
:arrow_forward: [๋ต๋ณ ๋ด์ฉ](/contents/datastructure.md)
* Array
* LinkedList
* HashTable
* Stack
* Queue
* Graph
* Tree
* ๊ทธ๋ํ(Graph)์ ํธ๋ฆฌ(Tree)์ ์ฐจ์ด์
* Binary Heap
* Red-Black Tree
* B+ Tree## 2. Network
:arrow_forward: [๋ต๋ณ ๋ด์ฉ](/contents/network.md)
* OSI 7๊ณ์ธต
* TCP/IP์ ๊ฐ๋
* TCP์ UDP
* TCP์ UDP์ ํค๋ ๋ถ์
* TCP์ 3-way-handshake์ 4-way-handshake
* Q. TCP์ ์ฐ๊ฒฐ ์ค์ ๊ณผ์ (3๋จ๊ณ)๊ณผ ์ฐ๊ฒฐ ์ข ๋ฃ ๊ณผ์ (4๋จ๊ณ)์ด ๋จ๊ณ๊ฐ ์ฐจ์ด๋๋ ์ด์ ?
* Q. ๋ง์ฝ Server์์ FIN ํ๋๊ทธ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ์ ์กํ ํจํท์ด Routing ์ง์ฐ์ด๋ ํจํท ์ ์ค๋ก ์ธํ ์ฌ์ ์ก ๋ฑ์ผ๋ก ์ธํด FIN ํจํท๋ณด๋ค ๋ฆ๊ฒ ๋์ฐฉํ๋ ์ํฉ์ด ๋ฐ์ํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
* Q. ์ด๊ธฐ Sequence Number์ธ ISN์ 0๋ถํฐ ์์ํ์ง ์๊ณ ๋์๋ฅผ ์์ฑํด์ ์ค์ ํ๋ ์ด์ ?
* HTTP์ HTTPS
* HTTP ์์ฒญ/์๋ต ํค๋
* HTTP์ HTTPS ๋์ ๊ณผ์
* CORS๋
* GET ๋ฉ์๋์ POST ๋ฉ์๋
* ์ฟ ํค(Cookie)์ ์ธ์ (Session)
* DNS
* REST์ RESTful์ ๊ฐ๋
* ์์ผ(Socket)์ด๋
* Socket.io์ WebSocket์ ์ฐจ์ด
* Frame, Packet, Segment, Datagram## 3. Operating System
:arrow_forward: [๋ต๋ณ ๋ด์ฉ](/contents/os.md)
* ํ๋ก์ธ์ค์ ์ค๋ ๋์ ์ฐจ์ด(Process vs Thread)
* ๋ฉํฐ ํ๋ก์ธ์ค ๋์ ๋ฉํฐ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์
* Thread-safe
* ๋๊ธฐํ ๊ฐ์ฒด์ ์ข ๋ฅ
* ๋ฎคํ ์ค์ ์ธ๋งํฌ์ด์ ์ฐจ์ด
* ์ค์ผ์ค๋ฌ
* ๋๊ธฐ์ ๋น๋๊ธฐ
* ํ๋ก์ธ์ค ๋๊ธฐํ
* ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ ๋ต
* ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ
* ์บ์์ ์ง์ญ์ฑ
* ๊ต์ฐฉ์ํ(๋ฐ๋๋ฝ, Deadlock)์ ๊ฐ๋ ๊ณผ ์กฐ๊ฑด
* ์ฌ์ฉ์ ์์ค ์ค๋ ๋์ ์ปค๋ ์์ค ์ค๋ ๋
* ์ธ๋ถ ๋จํธํ์ ๋ด๋ถ ๋จํธํ
* Context Switching
* Swapping## 4. Database
:arrow_forward: [๋ต๋ณ ๋ด์ฉ](/contents/db.md)
* ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ
* ์ ๊ทํ(1์ฐจ 2์ฐจ 3์ฐจ BCNF)
* ํธ๋์ญ์ (Transaction) ์ด๋
* ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค(Transaction Isolation Level)
* Join
* SQL injection
* Index๋
* Statement์ PrepareStatement
* RDBMS์ NoSQL
* ํจ๊ณผ์ ์ธ ์ฟผ๋ฆฌ ์ ์ฅ
* ์ตํฐ๋ง์ด์ (Optimizer)๋
* Replication
* ํํฐ์ ๋(Partitioning)
* ์ค๋ฉ(Sharding)
* ๊ฐ์ฒด ๊ด๊ณ ๋งคํ(Object-relational mapping, ORM)์ด๋
* java JDBC## 5. Design Pattern
:arrow_forward: [๋ต๋ณ ๋ด์ฉ](/contents/designpattern.md)
* ๋์์ธ ํจํด์ ๊ฐ๋ ๊ณผ ์ข ๋ฅ
* Singleton ํจํด
* Strategy ํจํด
* Template Method ํจํด
* Factory Method ํจํด
* MVC1 ํจํด๊ณผ MVC2 ํจํด## 6. Algorithm
### :pushpin: [๊ด๋ จ ๋งํฌ](https://github.com/WeareSoft/algorithm-study)
:arrow_forward: [๋ต๋ณ ๋ด์ฉ](/contents/algorithm.md)
* BigO
* DFS์ BFS์ ์ฐจ์ด
* Fibonacci์์์ ์ธ ๊ฐ์ง(Recursion, Dynamic Programming, ๋ฐ๋ณต) ๋ฐฉ์์ ๋ํ ์๊ฐ๋ณต์ก๋์ ๊ณต๊ฐ๋ณต์ก๋ ์ฐจ์ด
* ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ข ๋ฅ์ ๊ฐ๋
* Greedy ์๊ณ ๋ฆฌ์ฆ
* ์ต์ ์ ์ฅ ํธ๋ฆฌ(MST, Minimum Spanning Tree)๋
* Kruskal MST ์๊ณ ๋ฆฌ์ฆ
* Prim MST ์๊ณ ๋ฆฌ์ฆ## 7. Java
:arrow_forward: [๋ต๋ณ ๋ด์ฉ](/contents/java.md)
* java ํ๋ก๊ทธ๋๋ฐ์ด๋
* Java SE์ Java EE ์ ํ๋ฆฌ์ผ์ด์ ์ฐจ์ด
* java์ c/c++์ ์ฐจ์ด์
* java ์ธ์ด์ ์ฅ๋จ์
* java์ ์ ๊ทผ ์ ์ด์์ ์ข ๋ฅ์ ํน์ง
* java์ ๋ฐ์ดํฐ ํ์
* Wrapper class
* OOP์ 4๊ฐ์ง ํน์ง
* ์ถ์ํ(Abstraction), ์บก์ํ(Encapsulation), ์์(Inheritance), ๋คํ์ฑ(Polymorphism)
* OOP์ 5๋ ์์น (SOLID)
* ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์ ์ฐจ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ฐจ์ด
* ๊ฐ์ฒด์งํฅ(Object-Oriented)์ด๋
* java์ non-static ๋ฉค๋ฒ์ static ๋ฉค๋ฒ์ ์ฐจ์ด
* Q. java์ main ๋ฉ์๋๊ฐ static์ธ ์ด์
* java์ final ํค์๋ (final/finally/finalize)
* java์ ์ ๋ค๋ฆญ(Generic)๊ณผ c++์ ํ ํ๋ฆฟ(Template)์ ์ฐจ์ด
* java์ ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection) ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
* java ์ง๋ ฌํ(Serialization)์ ์ญ์ง๋ ฌํ(Deserialization)๋ ๋ฌด์์ธ๊ฐ
* ํด๋์ค, ๊ฐ์ฒด, ์ธ์คํด์ค์ ์ฐจ์ด
* ๊ฐ์ฒด(Object)๋ ๋ฌด์์ธ๊ฐ
* ์ค๋ฒ๋ก๋ฉ๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ์ ์ฐจ์ด(Overloading vs Overriding)
* Call by Reference์ Call by Value์ ์ฐจ์ด
* ์ธํฐํ์ด์ค์ ์ถ์ ํด๋์ค์ ์ฐจ์ด(Interface vs Abstract Class)
* JVM ๊ตฌ์กฐ
* Java Collections Framework
* java Map ์ธํฐํ์ด์ค ๊ตฌํ์ฒด์ ์ข ๋ฅ
* java Set ์ธํฐํ์ด์ค ๊ตฌํ์ฒด์ ์ข ๋ฅ
* java List ์ธํฐํ์ด์ค ๊ตฌํ์ฒด์ ์ข ๋ฅ
* Annotation
* String, StringBuilder, StringBuffer
* ๋๊ธฐํ์ ๋น๋๊ธฐํ์ ์ฐจ์ด(Syncronous vs Asyncronous)
* java์์ '=='์ 'equals()'์ ์ฐจ์ด
* java์ ๋ฆฌํ๋ ์ (Reflection) ์ด๋
* Stream์ด๋?
* Lambda๋?## 8. JavaScript
:arrow_forward: [๋ต๋ณ ๋ด์ฉ](/contents/javascript.md)
* JavaScript Event Loop
* ํจ์ ์ ์ธ์๊ณผ ํจ์ ํํ์
* ํ์ดํ ํจ์(Arrow Function)
* ํฅ์๋ ๊ฐ์ฒด ๋ฆฌํฐ๋ด(Enhanced Object Literals)
* Modules
* ๋์คํธ๋ญ์ฒ๋ง(Destructuring)
* ์ ๊ฐ ์ฐ์ฐ์(Spread Operator)
* ํธ์ด์คํ (Hoisting)
* Closure
* this
* Promise
* Async/Await## 9. Spring
:arrow_forward: [๋ต๋ณ ๋ด์ฉ](/contents/spring.md)
* ์คํ๋ง ํ๋ ์์ํฌ๋
* Spring, Spring MVC, Spring Boot์ ์ฐจ์ด
* Bean์ด๋
* Container๋
* IOC(Inversion of Control, ์ ์ด์ ์ญ์ )๋
* MVC ํจํด์ด๋
* DI(Dependency Injection, ์์กด์ฑ ์ฃผ์ )๋
* AOP(Aspect Oriented Programming)๋
* POJO
* DAO์ DTO์ ์ฐจ์ด
* Spring JDBC๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ์ ๊ทผ
* Filter์ Interceptor ์ฐจ์ด## 10. Security
:arrow_forward: [๋ต๋ณ ๋ด์ฉ](/contents/security.md)
* ๋์นญํค์ ๋น๋์นญํค ์ฐจ์ด
* ํจ์ค์๋ ์ํธํ ๋ฐฉ๋ฒ
* SQL Injection ๊ณต๊ฒฉ
* CSRF ๊ณต๊ฒฉ
* XSS ๊ณต๊ฒฉ
* OAuth## 11. ETC
:arrow_forward: [๋ต๋ณ ๋ด์ฉ](/contents/etc.md)
* TDD๋
* ์น ๋ธ๋ผ์ฐ์ ์์ ์๋ฒ๋ก ์ด๋ค ํ์ด์ง๋ฅผ ์์ฒญํ๋ฉด ์ผ์ด๋๋ ์ผ๋ จ์ ๊ณผ์ ์ ์ค๋ช
* Ex. url์ 'www.naver.com' ์ ์ ๋ ฅํ๋ค. ์ผ์ด๋๋ ํ์์ ๋ํด ์๋๋๋ก ์ค๋ช ํ๋ผ.
* ์ปดํ์ผ๋ฌ์ ์ธํฐํ๋ฆฌํฐ
* ๋ถ์ฐ๋ฝ
* ํ๋ ์์ํฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฐจ์ด
* 64bit CPU์ 32bit CPU ์ฐจ์ด
* CVS, SVN, Git
* Git Branch ์ข ๋ฅ(5๊ฐ์ง)
* ์น ์๋ฒ(Web Server)์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ(WAS)์ ์ฐจ์ด
* ์ ์์ผ ๋ฐฉ๋ฒ๋ก ์ด๋
* Servlet๊ณผ JSP
* Redis์ Memcached์ ์ฐจ์ด
* Maven๊ณผ Gradle์ ์ฐจ์ด
* Blocking๊ณผ Non-Blocking
* ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด๋
* ์ด๋ฒคํธ ๊ธฐ๋ฐ ํ๋ก๊ทธ๋๋ฐ์ด๋
* Mock์ด๋---
# Reference
* [jojoldu๋์ junior-recruit-scheduler](https://github.com/jojoldu/junior-recruit-scheduler/blob/master/README.md)
* [JaeYeopHan ๋์ Interview_Question_for_Beginner](https://github.com/JaeYeopHan/Interview_Question_for_Beginner)
* [KimHunJin๋์ Study-Book/interview](https://github.com/KimHunJin/Study-Book/tree/master/interview)
* [TaeMInMoon๋์ ์ ์ ๊ฐ๋ฐ์ ๊ธฐ์ ๋ฉด์ ](https://trello.com/b/BWtpfywH/%EC%8B%A0%EC%9E%85-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EA%B8%B0%EC%88%A0%EB%A9%B4%EC%A0%91)
* [NESOY๋์ Back-end-Developer-Interview-Questions](https://github.com/NESOY/Back-end-Developer-Interview-Questions)
* [hanee24๋์ ์ ์ ๊ฐ๋ฐ์ ๋ฉด์ ์ง๋ฌธ](https://hanee24.github.io/2018/05/13/interview-questions/)
* [โ๊ฐ๋ฐ์ ๋ฉด์ ์์ ์ง๋ฌธ, ์คํ์์ค๋ก ๊ณต์ ํด์โ](http://www.bloter.net/archives/246472)
* [150 Java Interview Questions and Answers](https://www.javacodegeeks.com/2014/04/java-interview-questions-and-answers.html#2)
* [yangshun๋์ front-end-interview-handbook](https://github.com/yangshun/front-end-interview-handbook/blob/master/Translations/Korean/questions/javascript-questions.md)
* [ganqqwerty๋์ 123-Essential-JavaScript-Interview-Questions](https://github.com/ganqqwerty/123-Essential-JavaScript-Interview-Questions)