๐Ÿ“– Contents

  1. Data Structure
  2. Network
  3. Operating System
  4. Database
  5. Design Pattern
  6. Algorithm
  7. Java
  8. JavaScript
  9. Spring
  10. Security
  11. ETC

1. Data Structure

โ–ถ๏ธ Details

  • Array
  • LinkedList
  • HashTable
  • Stack
  • Queue
  • Graph
  • Tree
  • ๊ทธ๋ž˜ํ”„(Graph)์™€ ํŠธ๋ฆฌ(Tree)์˜ ์ฐจ์ด์ 
  • Binary Heap
  • Red-Black Tree
  • B+ Tree

2. Network

โ–ถ๏ธ Details

  • 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

โ–ถ๏ธ Details

  • ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด(Process vs Thread)
  • ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค ๋Œ€์‹  ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
  • Thread-safe
  • ๋™๊ธฐํ™” ๊ฐ์ฒด์˜ ์ข…๋ฅ˜
  • ๋ฎคํ…์Šค์™€ ์„ธ๋งˆํฌ์–ด์˜ ์ฐจ์ด
  • ์Šค์ผ€์ค„๋Ÿฌ
  • ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ
  • ํ”„๋กœ์„ธ์Šค ๋™๊ธฐํ™”
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ „๋žต
  • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ
  • ์บ์‹œ์˜ ์ง€์—ญ์„ฑ
  • ๊ต์ฐฉ์ƒํƒœ(๋ฐ๋“œ๋ฝ, Deadlock)์˜ ๊ฐœ๋…๊ณผ ์กฐ๊ฑด
  • ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์™€ ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ
  • ์™ธ๋ถ€ ๋‹จํŽธํ™”์™€ ๋‚ด๋ถ€ ๋‹จํŽธํ™”
  • Context Switching
  • Swapping

4. Database

โ–ถ๏ธ Details

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ’€
  • ์ •๊ทœํ™”(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

โ–ถ๏ธ Details

  • ๋””์ž์ธ ํŒจํ„ด์˜ ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜
  • Singleton ํŒจํ„ด
  • Strategy ํŒจํ„ด
  • Template Method ํŒจํ„ด
  • Factory Method ํŒจํ„ด
  • MVC1 ํŒจํ„ด๊ณผ MVC2 ํŒจํ„ด

6. Algorithm

โ–ถ๏ธ Details

  • BigO
  • DFS์™€ BFS์˜ ์ฐจ์ด
  • Fibonacci์—์„œ์˜ ์„ธ ๊ฐ€์ง€(Recursion, Dynamic Programming, ๋ฐ˜๋ณต) ๋ฐฉ์‹์— ๋Œ€ํ•œ ์‹œ๊ฐ„๋ณต์žก๋„์™€ ๊ณต๊ฐ„๋ณต์žก๋„ ์ฐจ์ด
  • ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ข…๋ฅ˜์™€ ๊ฐœ๋…
  • Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ(MST, Minimum Spanning Tree)๋ž€
  • Kruskal MST ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • Prim MST ์•Œ๊ณ ๋ฆฌ์ฆ˜

7. Java

โ–ถ๏ธ Details

  • 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

โ–ถ๏ธ Details

  • JavaScript Event Loop
  • ํ•จ์ˆ˜ ์„ ์–ธ์‹๊ณผ ํ•จ์ˆ˜ ํ‘œํ˜„์‹
  • ํ™”์‚ดํ‘œ ํ•จ์ˆ˜(Arrow Function)
  • ํ–ฅ์ƒ๋œ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด(Enhanced Object Literals)
  • Modules
  • ๋””์ŠคํŠธ๋Ÿญ์ฒ˜๋ง(Destructuring)
  • ์ „๊ฐœ ์—ฐ์‚ฐ์ž(Spread Operator)
  • ํ˜ธ์ด์ŠคํŒ…(Hoisting)
  • Closure
  • this
  • Promise
  • Async/Await

9. Spring

โ–ถ๏ธ Details

  • ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ž€
  • 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

โ–ถ๏ธ Details

  • ๋Œ€์นญํ‚ค์™€ ๋น„๋Œ€์นญํ‚ค ์ฐจ์ด
  • ํŒจ์Šค์›Œ๋“œ ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•
  • SQL Injection ๊ณต๊ฒฉ
  • CSRF ๊ณต๊ฒฉ
  • XSS ๊ณต๊ฒฉ
  • OAuth

11. ETC

โ–ถ๏ธ Details

  • 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