Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/WeareSoft/tech-interview

:loudspeaker:๐Ÿ™ tech interview
https://github.com/WeareSoft/tech-interview

Last synced: about 2 months ago
JSON representation

:loudspeaker:๐Ÿ™ tech interview

Awesome Lists containing this project

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)