The technical interview knowledge that a junior backend developer should possess.
- tech-interview-for-junior
- ์ฃผ๋์ด ๊ฐ๋ฐ์ ์ธํฐ๋ทฐ ๊ฐ์ด๋(2024.04.20 ํ๋น๋ฏธ๋์ด ์ธ๋ฏธ๋)
- ์ฑ ์๊ฐ
- ํ์ฌ๊ฐ ์ ํํ๋ ์ฃผ๋์ด ๊ฐ๋ฐ์์ ๊ธฐ์ค
- ์ฑ์ฉ ๊ณต๊ณ ๋ฅผ ๋ถ์ํด๋ณด์.
- ์ญ๋์ด๋ ๋ฌด์์ผ๊น?
- ๊ฒฝ๋ ฅ์ง์ด๋ผ๋ฉด?
- ์ฃผ๋์ด ๊ฐ๋ฐ์๋ฅผ ์ํ ๊ธฐ์ ๋ก๋๋งต
- ๊ธฐ์ ๋ชฉ๋ก ์ฒซ๋ฒ์งธ - ์ ๋ฐ์ ์ธ ๋ฐฑ์๋ ๊ธฐ์ ๋ก๋๋งต
- ๊ธฐ์ ๋ชฉ๋ก ๋๋ฒ์งธ - ์๋ฐ ํ์ต ๋ก๋๋งต
- ๊ธฐ์ ๋ชฉ๋ก ์ธ๋ฒ์งธ - ์๋์ด๊ฐ ๋์ด ๊ฐ๋ ๊ธธ๋ชฉ์์ ์์์ผ ํ ๊ฒ๋ค
- ๊ธฐ์ ๋ชฉ๋ก ๋ค๋ฒ์งธ - ์๋์ด๋ก์จ ์ค๊ณ ๊ฒฝํ์ ์์ ๋ฌด๋ ต ์์๋ฌ์ผ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ฅ ์ฒ๋ฆฌ ์ ๋ต
- ์ธ๊ธฐ์๋ ์ง๋ฌธ๋ค
- ์ฌ์ ์ง๋ฌธ ๋ฐ Q&A
- ๋๋งบ์
Table of contents generated with markdown-toc
2024.04.20 ํ๋น๋ฏธ๋์ด ์ธ๋ฏธ๋์๋ฃ ์ ๋๋ค. ์ ์ ๋ฐ ์ฃผ๋์ด๋ฅผ ๋์์ผ๋ก ํ์๊ณ , ๋ ์์ธํ ๋ด์ฉ์ ์ฑ (๊ฐ๋ฐ์ ๊ธฐ์ ๋ฉด์ ๋ ธํธ ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
Yes24 - https://www.yes24.com/Product/Goods/125554439
KyoboBooks - https://product.kyobobook.co.kr/detail/S000212738756
- ์๋์ด๋ฉด์ ๊ด์ด ์๋ ค์ฃผ๋ ๊ฐ๋ฐ์ ์ทจ์ ๊ณผ ์ด์ง, ํ๋ฐฉ์ ํด๊ฒฐํ๊ธฐ ์ด๋ก ํธ
- ์๋์ด๋ฉด์ ๊ด์ด ์๋ ค์ฃผ๋ ๊ฐ๋ฐ์ ์ทจ์ ๊ณผ ์ด์ง, ํ๋ฐฉ์ ํด๊ฒฐํ๊ธฐ ์ค์ ํธ
- ์นด์นด์ค ๋น์ฆํํธ๋ํ๋ซํผ ๊ฐ๋ฐ ๋ฆฌ๋
- KAKAO Corp (2018 ~ Now, Leader)
- LG Fashion (2017 ~ 2018, Senior Manager)
- Coupang (2013 ~ 2017, Sr.Software Engineer, L5)
- Freelance Developer (2008 ~ 2013)
- Samsung Electronics OSP 2.5, AA, Manager
- SK Telecom T-Gate, AA/TL, Manager
- GS Homeshopping E-Commerce Platform Developement, developer
- Personal : https://github.com/gliderwiki/gliderwiki
- for Book : https://github.com/haru-note/tech-interview
- for Study : https://github.com/villainscode
- Instagram - https://www.instagram.com/codevillains
- email - villainscode@gmail.com
์ฑ ์ ์งํํ ์ด์
- ์ง์ ์ฑ์ฉ์ ํด์ผ ํ๋ ํ๊ฒฝ์์ ์๋ฅ ๊ฒํ ์ ๊ธฐ์ ๋ฉด์ ์ ์ฐธ์ฌํด๋ณด๋ ์ค๋น๊ฐ ๋ฏธํกํ ์ง์์๋ค์ด ๊ฝค ๋ง์ด ์กด์ฌํจ.
- ์์๊ถ ๋ํ์ ์กธ์ ํ๊ณ ๊ฝค ํฐ ๊ธฐ์ ์์ ์ผ์ ํ์ผ๋ ๋ณธ์ธ์ ์ ํฌ์ฅํ์ง ๋ชปํ๋ ์ง์์ ํน์ ๊ธฐ์ ์ ์ฑ์ฅ์ ์ง๋ก๋ฅผ ์ก์ง ๋ชปํด ๊ณ ๋ฏผ์ธ ์ง์์๋ค์ ๋ณด๋ฉฐ โ์?โ ๋ฅผ ๊ณ ๋ฏผํ๊ธฐ ์์
- ์ด๋ค ๋ถ๋ถ์์ ์ทจ์ /์ด์ง์ ๋ํ ๊ฒฝ์๋ ฅ์ ๊ฐ์ถ๊ธฐ ์ํ ๊ฐ์ด๋๋ฅผ ํด์ค์ผ ํ ๊น?๋ฅผ ๊ณ ๋ฏผ
- ๋ด๊ฐ ๊ฐ์ง๊ณ ์๋ ์๋ฃ๋ก ์ถฉ๋ถํ ๋์์ ์ค ์ ์์๊ฑฐ ๊ฐ๋ค๊ณ ๊ฒฐ๋ก ์ ์ป๊ณ ์ฑ
์ ์ฐ๊ธฐ ์์
- ์ด๊ธฐ์๋ ์ฑ ๋ณด๋ค๋ ์คํ์์ค์ฒ๋ผ ์จ๋ผ์ธ ํผ๋ธ๋ฆฌ์ฑ์ ๊ธฐํํ์ฌ ์๋ฃ๋ฅผ ์ทจํฉํ๊ธฐ ์์
- ์ต๋ํ ์คํ ๊ฐ๋ฅํ๊ณ , ํ์ค์ ์ผ๋ก ์ ๊ทผํ๊ธฐ ์ฌ์ด ๋ฐฉ๋ฒ์ ์ ์ํ๋ ค๊ณ ๋ ธ๋ ฅํจ
์ทจ์ /์ด์ง์ ์ํด์ ์ด๋ค ๋ถ๋ถ์ ์ค๋นํด์ผ ํ ๊น?
-
์๋ฅ ์์ฑ
- ์คํ๋ผ์ธ ์ ์ถ์ฉ ์๋ฅ๋ ํญ์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค.
- ์จ๋ผ์ธ์ ๋งํฌ๋์ธ์ ๊ธฐ์ค์ผ๋ก ๋์ธ๊ณณ ๋ฑ๋กํด ๋๋๋ค.
- ํ์ ๊ฐ์ธ์ ๋ณด๋ฅผ ์ ์ธํ ๋๋จธ์ง๋ ๊ณต๊ฐ ๋ญ๋น/์๊ฐ ๋ญ๋น
- ์ง์ ๋ถ์ผ ๋ช
์
- ์ง์ ๋ถ์ผ์ ๊ฐ๋ฐ ๊ฒฝํ์ด ์๋ค๊ฑฐ๋ ์ด๋ฏธ ๊ฒฝํํ ๋๋ฉ์ธ์ด ์๋ค๋ฉด ์ ๊ด ๋ถ์์ ์ง์ํ๋ ํธ์ด ์ข๋ค.
- ์ง์ ๋๊ธฐ
- ๊ด์ฌ์๊ฒ ๊ณต๋ถํ๊ณ ์๋ ๋ถ์ผ
- ํ์ฌ์ ๊ธฐ์ฌํ ์ ์๋ ๋ถ๋ถ
- ์คํฌ์
์ ์ผ๋ชฉ์์ฐํ๊ฒ ์ ๋ฆฌํ์. (ํ๋จ ์ฃผ๋์ด ๊ฐ๋ฐ์ ์คํฌ ์
์์ ์ฐธ๊ณ )
- ์คํฌ์ ์ ์๋ จ๋๋ฅผ ํ๊ธฐํ์.
- ๋ฉ์ด์ ๊ธฐ์ ๋ง ๋ฃ๊ณ ๋๋จธ์ง๋ ๊ฒฝ๋ ฅ ๊ธฐ์ ์์ ํ๋ก์ ํธ ์ํ ๋ด์ญ์ ๋ฃ๋๋ก ํ๋ค.
- ๊ต์ก์ฌํญ๋ ๊ฐ๊ธ์ ์ด๋ ฅ์ ๋์์ด ๋ ๋งํ ๊ณณ์ด๋ผ๋ฉด ํ๊ธฐํ๋๊ฒ ๋ซ๋ค.
-
ํฌํธํด๋ฆฌ์ค / ๊ฒฝ๋ ฅ ๊ธฐ์ ์
-
๊ฒฝ๋ ฅ์ฌํญ์ ํ ๋์ ๋ณด์ด๋๋ก ๊ฐ๊ฒฐํ๊ฒ ์ ๋๋ค.
-
๋์ ๋๋ ์ด๋ ฅ์
- ์คํ ์์ค ๊ด๋ จ ํ๋
- ํ ํฌ ๊ด๋ จ ์ธ๋ฏธ๋์ ์ฐ์ฌ๋ก ์ฐธ์ฌํ ์ด๋ ฅ
- ์ฑ
์งํ, ๋ฒ์ญ์ด๋ ํ ํ๋ก์ ํธ๋ก ์ฑ๊ณผ๋ฅผ ๋ด์๋ ๊ฒฝํ
- ๋์ฒด๋ก ๋ง์ ์ ์
์ง์์๋ค์ ํ ํ๋ก์ ํธ ์์ฃผ์ด๊ฑฐ๋ ๊ฐ์ธ ํ๋ก์ ํธ ์์ฃผ
- ๋ฌด์์ ํ๋์ง์ ์ด๋ค ์ญํ ์ ํ๋์ง๊ฐ ์ค์
- ๋์ฒด๋ก ๋ง์ ์ ์
์ง์์๋ค์ ํ ํ๋ก์ ํธ ์์ฃผ์ด๊ฑฐ๋ ๊ฐ์ธ ํ๋ก์ ํธ ์์ฃผ
- ์ ์ ๋ฆฌ๋ ๋ธ๋ก๊ทธ๋ Github
- ๊ทธ๋ฌ๋ ์ฑGPT์ ๋ฑ์ฅ์ผ๋ก ๋ธ๋ก๊ทธ๋ ๋ณต๋ถ์ด ๋ง์ ์ ์ ์๋ฆฌ๋ฅผ ์์ด๊ฐ๊ณ ์๋คโฆ.
- ๋ธ๋ก๊ทธ๊ฐ ์๋ค๋ฉด ์ฐจ๋ผ๋ฆฌ Github๋ฅผ ํฌํธํด๋ฆฌ์ค ์ฒ๋ผ ๊พธ๋ฉฐ๋ณด์.
- https://github.com/haru-note/tech-interview
- https://github.com/goldbergyoni/nodebestpractices
-
์๋น์ค ์ด์ ์ค์ ๋ฌธ์ ํด๊ฒฐ๊ณผ ์ฑ๊ณผ
-
ํฌํธํด๋ฆฌ์ค ์ ๋ฆฌ
- ๊ฐ๋ฐ ๋ชฉํ์ ์๋
- ์ฃผ์ ๊ธฐ๋ฅ
- ์์คํ ๊ฐ์ (์์คํ ๋์์ธ, ์ํคํ ์ฒ)
- ๋ณธ์ธ์ด ๋ด๋นํ ์์ญ๊ณผ ๊ธฐ์ฌ๋
- ์์ค ๋ฆฌํฌ์งํฐ๋ฆฌ ์ฃผ์
- ๋๋ฅผ ์๋ฆฌ๋ ๊ฒ์ ์ด์ํดํ๊ฑฐ๋ ๊ฒ์๋ฆฌํ์ง ๋ง์ธ์.
- ํ์ง๋ง ์ต๋ํ ๊ฐ๊ฒฐํ๊ฒ, ํ ๋์ ๋ค์ด์ค๊ฒ ์์ฑํ์ธ์.
- ๋์ํ ํ์ธ์.
- ๋ ธ์ ๋ณด๋ค๋ PDF๋ ๊ตฌ๊ธ Docs๋ฅผ ์ฌ์ฉํ์ธ์.
-
๊ฐ์ฅ ์ค์ํ ํ๊ฐ์ง ์กฐ๊ฑด๊ณผ ๋๋จธ์ง ์๋ณดํ ์ ์๋ ์กฐ๊ฑด์ ๋๋ ๋ณด์.
๋์๊ฒ ๋ง๋ ํ์ฌ๋? ๋์๊ฒ ์ ํฉํ ํ์ฌ๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ
-
IT ์ ๋ฌธ ๊ตฌ์ธ/๊ตฌ์ง
- ์ํฐ๋ (https://www.wanted.co.kr)
- ํ๋ก๊ทธ๋๋จธ์ค์ปค๋ฆฌ์ด (https://career.programmers.co.kr)
- ๋งํฌ๋์ธ (https://www.linkedin.com)
- ๋ฆฌ๋ฉค๋ฒ (https://rememberapp.co.kr/home#)
- ๋ก์ผํ์น (https://www.rocketpunch.com)
- ๋ธ๋ผ์ธ๋ ํ์ด์ด(https://www.blindhire.co.kr)
-
๊ธฐ์ ์ ํํ์ด๋ ์ฐ๋ด/๋งค์ถ ์ ๋ณด ์ฐธ๊ณ
- ์กํ๋๋ (https://www.jobplanet.co.kr/job)
- ํฌ๋ ๋ง์ก (https://kreditjob.com)
- ๋ธ๋ผ์ธ๋ (https://www.teamblind.com/kr)
- ํ ํฌ์ปดํผ๋์ฆ (https://techcompanies.kr)
-
ํฌ์ ์ ์น ๋ด์ค๋ฅผ ํตํ ์ฑ์ฅํ๋ ํ์ฌ ์์๋ณด๊ธฐ
- ํ๋ํ (https://platum.kr)
- ๋ฅ์คํธ์ ๋์ฝ (https://www.nextunicorn.kr/finder?tab=investment)
-
๋ด์ค๋ ํฐ ๊ตฌ๋
- ์คํํธ์ ์ํด๋ฆฌ (http://glance.media)
- ๊ธฑ๋ด์ค (https://news.hada.io)
- ๊ธฐํ IT ๋ด์ค ์ฌ์ดํธ
-
๋ฉํ ๋ง, ๊ต์ก
- ์ปคํผ์ฑ
- ์ปค๋ฆฌ์ด๋ฆฌ
- ์ธํ๋ฐ
-
์ปค๋ฆฌ์ด์ ํฌ์ธํธ๋ฅผ ์ค๋งํ ์์ญ๋ค, ์ง์์ ๋์ด์ฌ๋ฆฌ๊ธฐ ์ํ ๋ ธ๋ ฅ๋คโฆ
-
๊ณ๋จ์ ์ฑ์ฅ
- ์ฑ์ฅ๊ธฐ์ ์ ์ฒด๊ธฐ
- ์ ์ฒด๊ธฐ๋ ๋ชธ์ด ์ ์ํ๋ ์๊ธฐ
- ์ ์ฒด๊ธฐ ์ดํ ํ๋จ๊ณ ์ ํ ์
- ํ ๊ณ๋จ์ฉ ์ฑ์ฅํ๋ฉฐ ์ฑ์ทจ๊ฐ์ ๋๋ผ๋๊ฒ ์ค์
- ๊พธ์คํ ์ฑ์ฅ๋ ๊ฐ๋ฅํ๊ฒ ์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ ธ๋ ฅ์ ๋ํ ๋ณด์์ ๊ณ๋จ์์ผ๋ก ์จ๋ค.
- ์ฑ์ฅ๊ธฐ์ ์ ์ฒด๊ธฐ
-
์คํฐ๋
-
๋นํจ์จ์ ์ผ์๋ ์์ง๋ง ๋ณธ์ธ์ ๋ ธ๋ ฅ ์ฌํ์ ๋ฐ๋ผ ๊ฐ์ฅ ๋ง์ด ์ฝ๋์ ์ง์์ ์์ ์ ์๋ค.
-
์ฑ ์ผ๋ก ๋๋๋ ์คํฐ๋๋ณด๋ค๋ ์ฝ๋์ ๊ตฌํ๊ณผ ๊ธฐ์ ์ต๋์ ์ค์
-
โ์ฐ๋ฆฌ๋ ํ๋ก๊ทธ๋๋จธ๋๊น ์ฝ๋๋ฅผ ๋๋ ค๋ด์ผ ํ์ง ์๊ฒ ์ด?โ
- ๋์ํ๋ ์ฝ๋๋ฅผ ์? ๋ผ๋ ์ง๋ฌธ์ผ๋ก ์ดํดํ๊ธฐ
- ์ ์ด ๊ธฐ์ ์ ์ ์ฉํ๋๊ฐ?์ ๋ํ ๋ต๋ณ์ ํ ์ ์์ด์ผ ํ๋ค.
-
์คํฐ๋๋ฅผ ํตํด ์ป์ ์ ์๋ ๋๊ฐ์ง
- ๋๊น์ง ์์ฃผํ๋ ์ธ๋ด์ฌ๊ณผ ์ฑ์คํจ (๊พธ์คํจ)
- ๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํ๋ ๋
ธํ์ฐ ํฐ๋ (์ง์ ์ ๋ฆฌ)
- ๋ฌธ์๋ ๋จ์ด ์์๋ณผ ์ ์์ด์ผ ํ๋ค.
- ์คํฐ๋ ์์
- ๋ชฝ๊ณ DB ํํค์น๊ธฐ (๋์ ใReal MongoDBใ ์๋ ๋ฐ ๋ฐํ ์๋ฃ ์ ๋ฆฌ)
- ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ฅผ ์ํ Go ์คํฐ๋ (Go๋ฅผ ์ด์ฉํ ๊ธฐ์ด ๋ฌธ๋ฒ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐํด๋ณด๊ธฐ)
- AWS+Spring Boot 3.0 ํ์ฉ (์๋ฐ ์ธ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์คํ๋ง ๋ถํธ ํ์ฉํ๊ธฐ, AWS ๊ธฐ๋ฐ์ ๋ฐฑ์๋ ์๋ฒ ๊ตฌ์ถํด๋ณด๊ธฐ)
- Docker์ Kubernetes ํํค์น๊ธฐ (์ปจํ ์ด๋ ์ธํ๋ผ ํ๊ฒฝ ๊ตฌ์ถ๊ณผ ๋ฐฐํฌ, ์ด์)
- ์ ์
์ผ๋ก ์ง์ํ๋ค๋ฉด ์๋์ ์ฃผ์ ๊ฐ ์คํฐ๋๋ก ์ ํฉํ๋ค๊ณ ์๊ฐํ๋ค.
- CS ๊ธฐ๋ณธ ์ง์
- ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ
- ํด์ฆ ํ๊ธฐ ๋ฐ ์จ๋ผ์ธ ์ฝ๋ฉ ํ ์คํธ ์ด๊ธ๋ ๋ฒจ ๋์ฅ๊นจ๊ธฐ
- ์ธ์ด ์คํ ๊ณต๋ถ (๋ฌธ๋ฒ๊ณผ ์ฝ๋ ํ์ฉ ์ค๋ํซ ์ ๋ฆฌ)
- ํ๋ ์์ํฌ ๋ฏ์ด๋ณด๊ธฐ or ํ์ฉํด์ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ
-
๋ด ๊ธฐ์ ์ ์์ผ๋ฅผ ๋ํ์ค ์ ์๋ ํ๋ก์ ํธ๋ก ์๋ํ์
-
๋์ ์๋ฆฌ์ ๊ธฐ์ ์ ๊ฐ๋ ์ ํ๋ จํ ์ ์๋ ์ฃผ์ ๋ฉด ๋์ฑ ์ข๋ค.
- ์์ ๋ก๊ทธ์ธ - ๋ฏธ๋ WAS - ๋ฏธ๋ HTTP ์๋ฒ - ๊ฐ๋จํ ์ฑํ - ์๋ฆผ ์์คํ - ShortenURL - ๊ฐ๋จํ REST API ํธ์ถ๊ธฐ - ๊ณต๊ณต์ ๋ณด๋ฅผ ์์งํด์ ๊ฐ๊ณต
๋ฌด์์ธ๊ฐ ๋ง๋๋ ๊ฒ์ ์ข์ํ๋ ์ฌ๋์ด๋ผ๋ฉด ๋ฐ๋์ ์ดํํด์ผ ํ๋ค.
-
-
-
ํํ๋ก์ ํธ
- ๊ฐ์ธ ๋ณด๋ค๋ ์ฌ๋ฌ๋ช ์ด ์งํํ๋๊ฒ ํ๋ก์ ํธ ์์ฑ๋๋ฅผ ๋ํ ์ ์๋ค.
- ๊ฐ์ธ์ ์ธ ์ฌ์ด๋ ํ๋ก์ ํธ๋ณด๋ค ํ์ ๊พธ๋ ค๋ณด๊ณ ์ด๋ค ๋ถ๋ถ์ ๊ธฐ์ฌ ํ์๋์ง ์ฐธ์ฌํ ๊ฒ์ ์ดํํ๋ ๊ฒ์ด ์ ๋ฆฌ
- ํ์์ด๋? ํ์ ์ด๋? - ๊ฐ์ธ ํ๋ก์ ํธ๋ณด๋ค ํ ํ๋ก์ ํธ๊ฐ ๋ ์ดํํ๊ธฐ ์ข๋ค.
-
์๊ณ ๋ฆฌ์ฆ ๊ด๋ จ ๊ณต๋ถ๋ฅผ ์์ํ๊ธฐ ์ํ ๋จ๊ณ๋ณ ํ์ต ๋ก๋๋งต.
๊ฒฐ๊ตญ ์ฝ๋ฉ ํ ์คํธ๋ฅผ ํตํด 1์ฐจ ํํฐ๋ง์ ํ๊ฒ ๋ค๋ ์๋๊ฐ ๊ฐํ๊ฒ ์์ฉํ๋ ๊ด๋ฌธ์ผ๋ก 3๊ฐ์ ์ ๋๋ ์ง์ค์ ์ผ๋ก ๊ณต๋ถํด์ผ ํ๋ค.
์ฑ ์ ์์ธํ ๊ณต๋ถ ๋ฐฉ์๊ณผ ์ฝ๋ฉ ํ ์คํธ ์์ ๋ค์ด ์๋ก๋์ด ์์ต๋๋ค.
๊ธฐ์ ๋ฉด์ ์ ์ํ ์ฒซ ๊ด๋ฌธ, ์ฑ์ฉ์ ์ฒซ ํ๋ค๋ก ์ ์ผ ๋ง์ ์ง์์๋ค์ด ํ๋ฝํ๋ค. ์ฝ๋ฉ ํ ์คํธ์ ๋ถ๋ด์ ๋ง์ด ๋๋๋ค๋ฉด ์๋์ ๋ก๋๋งต์ ํตํด ์ ๊ทผํด๋ณด์.
-
ํ๋ก์ ํธ ์ค์ผ๋ฌ (https://euler.synap.co.kr)
-
๊ฐ๋จํ ์๊ณ ๋ฆฌ์ฆ ํด์ฆ
-
์ ๋ ฌ๊ณผ ์๋ฃ๊ตฌ์กฐ
-
์๊ณ ๋ฆฌ์ฆ ์ ๋ฌธ ์ฌ์ดํธ๋ฅผ ํตํ ์ง์ ์ต๋
- ํ๋ก๊ทธ๋๋จธ์ค (https://school.programmers.co.kr)
- ํด์ปค๋ญํฌ (https://www.hackerrank.com/)
- ๋ฆฌํธ์ฝ๋ (https://leetcode.com/)
- ์ฝ๋๋ฆฌํฐ (https://app.codility.com/programmers/)
-
์ ์ / ์ ์ฐ์ฐจ์ฃผ๋์ด๊ฐ ์์์ผ ํ CS ์ง์
- ์ปดํจํฐ ์์คํ (ํ๋์จ์ด, ์ํํธ์จ์ด) : https://product.kyobobook.co.kr/detail/S000212650856
- OS (์ ๋์ค, ๋ฆฌ๋ ์ค)
- ๋คํธ์ํฌ์ ์ธํ๋ผ (์๋ฒ์ ๋คํธ์ํฌ, ํต์ )
- ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค (SQL์ ๊ธฐ๋ณธ์ผ๋ก ํ RDBMS์ ๊ตฌ์กฐ์ ํ์ฉ)
- ๊ธฐ์ด ์์ค์ ์์คํ ๋์์ธ
- ER ๋ค์ด์ด๊ทธ๋จ์ ํฌํจํ ๊ธฐ๋ณธ ๋ค์ด์ด๊ทธ๋จ (Sequence Diagram)
-
์ฝ๋ฉ ํ ์คํธ ๋๋น
-
์ค์ ๊ธฐ์ ๋ฉด์ ์์ ์์๋์ด์ผ ํ ์ง์ (์๋๋ก ๋ด๋ ค ๊ฐ์๋ก ์ฐ์ฐจ๊ฐ ์์ด๋ฉด ์์๋์ด์ผ ํ ์ง์)
- CS, ์๊ณ ๋ฆฌ์ฆ๊ณผ ์๋ฃ๊ตฌ์กฐ
- CPU์ ๋ฉ๋ชจ๋ฆฌ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํธ๋์ญ์
- ์๋น์ค๋ฅผ ์ด์ํ๊ธฐ ์ํ ๋คํธ์ํฌ์ ์ธํ๋ผ
- ๋ฌธ์ ํด๊ฒฐ (Problem Solving)
- ๊ฐ๋ฐ ์ธ์ด (Python, Go, Java, Kotlin๋ฑ)
- ํ๋ ์์ํฌ (Spring, Django, Gin๋ฑ)
- ์์คํ ๋์์ธ, ์ํฐํฐ ์ค๊ณ
- OOP์ ๋ํ์ ์ธ ๋์์ธ ํจํด
- ๊ฐ๋ฐ ์ ๋ฐ์ ๊ฑธ์น Software Engineering
- ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฅ์ ํธ๋ํน๊ณผ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ
- ์ฑ๋ฅ ๊ฐ์ , ์ ํ๋ฆฌ์ผ์ด์ ํ๋, SQL ํ๋
- ๋น๋๊ธฐ ์ํคํ ์ฒ์ ๋ํ ์ดํด
- Microservices architecture (MSA)
- ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ์ธํ๋ผ์ ๋ํ ์ดํด
- ์ปจํ ์ด๋ ํ๋ซํผ ํ๊ฒฝ์ ์ดํด
์ฑ์ฉ์ ๊ฒฐ๊ตญ ๊ฐ์ด ์ผํ ์ฌ๋์ ๋ฝ๋ ํ๋
โ๊ฐ์ด ์ผํ ์ ์๋ ์ฌ๋โ์ ๊ธฐ์ค
- ์ ํ์ ํ ์ ์๋ ๋๋ฃ์ธ๊ฐ?
- ๊ทธ๋ผ์ด๋ ๋ฃฐ์ ์งํฌ ๋งํ ์ฌ๋์ธ๊ฐ?
- ๋ณดํธ ํ๋นํ ์ฌ๊ณ ๋ฐฉ์์ ์งํฅํ๋ ์ฌ๋์ธ๊ฐ?
- ๋๋ฌด ๊ณ ์ง์ผ ์ฌ๋์ ์๋๊ฐ?
- ๋๋ฌด ๊ฐํ ํ๋ฒ์ ๊ฐ์ง ์ฌ๋์ ์๋๊ฐ?
- ํผ์ ์ผํ๋ ๊ฒ๋ง ์ข์ํ๋ ์ฌ๋์ ์๋๊ฐ?
- ๊ฐ์ธ ํ๋ ์ด๋ฅผ ๋์ด ์ด๊ธฐ์ ์ธ ๋๋ฃ๋ ์๋๊ฐ?
์ฑ์ฉ ์ฌ์ดํธ์์ ๋ณธ์ธ์ ๊ธฐ์ ์คํ์ด๋ ์ผ์นํ๋ ํ์ฌ๋ก ๊ฒ์ฆํด๋ณด์. https://www.wanted.co.kr/wdlist/518?country=kr&job_sort=job.recommend_order&years=-1&locations=all
์๋๋ ๊ฐ์์ ์ฑ์ฉ ๊ณต๊ณ ๋ฅผ ๋ถ์ํด๋ณธ ์ฌ๋ก์ด๋ค.
- 3๋ ์ด์์ ๋ฐฑ์๋ ๊ฐ๋ฐ ๊ฒฝ๋ ฅ ๋๋ ์ด์ ์คํ๋ ๊ฒฝํ์ด ์๋ ๋ถ
- ํ์ด์ฌ, ์๋ฐ, ์ฝํ๋ฆฐ ์ค ํ ๊ฐ ์ด์์ ์ถฉ๋ถํ ๊ฐ๋ฐ ๊ฒฝํ์ด ์๋ ๋ถ
- Distributed Version Control System์ ์ดํดํ๊ณ ์๋ ๋ถ
- MSA์ ๋ํ ์ดํด์ ๊ฒฝํ์ด ์๋ ๋ถ
- ๋น๋๊ธฐ ์ํคํ ์ฒ์ ๋ํ ์ดํด๊ฐ ์๋ ๋ถ
- AWS ๊ธฐ๋ฐ ํ์์ ๊ฐ๋ฐ ๋ฐ ์ด์ ๊ฒฝํ์ด ์๋ ๋ถ
- ๊ฐ๋ฐ ์ ๊ด ๋ถ์์ ์ํํ ์ปค๋ฎค๋์ผ์ด์ ์ด ๊ฐ๋ฅํ๊ณ ๊ธ์ ์ ์ธ ์ฌ๊ณ ๋ฅผ ์ง๋ ๋ถ |
์ฐ๋์ฌํญ - ๊ธฐ์กด ์๋น์ค๋ฅผ ์คํ๋ง๋ถํธ ๊ธฐ๋ฐ ํ๋ ์์ํฌ๋ก ์ ํํด๋ณธ ๊ฒฝํ์ด ์๋ ๋ถ
- Git-Flow, Gitlab-Flow ๋ฑ์ ์ํฌํ๋ก ๋ฐฉ์์ ํ์ฉํ ํ์ ๊ฒฝํ์ด ์๋ ๋ถ
- ๋ค์ํ ์ธํฐ๋ท ํ๊ฒฝ์์์ failover ์ฒ๋ฆฌ ๋ฐ ๊ฐ์ข ์ฅ์ ๊ทน๋ณต ๊ฒฝํ์ด ์๋ ๋ถ
- ๋๊ท๋ชจ ํธ๋ํฝ์ด๋ ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ์์คํ ์ค๊ณ ๋ฐ ๊ฐ๋ฐ ๊ฒฝํ์ด ์๋ ๋ถ
- ์ธ์ด์ ํ๊ฒฝ์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ์๋น์ค๋ฅผ ๊ตฌ์ถํ ์ ์๋ ๋ฅ๋ ฅ์ด ์๋ ๋ถ
- ์คํ ์์ค ํน์ ๊ฐ๋ฐ ์ปค๋ฎค๋ํฐ ํ๋ ๊ฒฝํ์ด ์๋ ๋ถ
- ์ฟ ๋ฒ๋คํฐ์ค ๊ธฐ๋ฐ์ ๊ฐ๋ฐ ๋ฐ ์ด์ ๊ฒฝํ์ด ์๋ ๋ถ
- ์ฃผ์ํ์ฌ์์ ์๊ตฌํ๋ ๊ธฐ์ ์คํ์ ๋ํด์ ์์ ์๋ค.
ํด๋น ์กฐ๊ฑด์ ๋๋ ์ผ๋ง๋ (๊ธฐ์ ์ ์ผ๋ก) ๋ถํฉํ๋๊ฐ?๋ฅผ ํ๋จํด๋ณด์. ์ฑ์ฉ๊ธฐ์ค์ 4, 5๋ฒ์ผ๋ก ๋ณผ ๋ MSA์ ๋น๋๊ธฐ ๊ด๋ จ ๊ธฐ์ ์ ๋ํ ์ดํด๊ฐ ์์ด์ผ ํ๋ค. ์ฑ ์ ๋ ์์ธํ ๋ด์ฉ์ด ๊ธฐ์ ๋์ด ์๋ค.
- ํํ ๊ด๋ฆฌ - ์๋ถ์์์ ๋๋ฅผ ๋ฐ๋ ค๊ฐ๊น? ๋๋ ์ฃผ๋ณ ์ฌ๋๋ค์๊ฒ ๊ธ์ ์ ์ธ ํ๊ฐ๋ฅผ ๋ฐ๊ณ ์๋ ์ฌ๋์ธ๊ฐ?
- ์๊ธฐ๊ฐ๊ดํ - ๋ด๊ฐ ๋๋ฃ๋ค์๊ฒ ๊ธฐ๋ํ๋ ๊ธฐ์ ์ ์์ค์ ์ด๋ ์ ๋์ธ๊ฐ? ๋๋ฃ๋ค์ด ๋์๊ฒ ๊ธฐ๋ํ๋ ๊ธฐ์ ์ ์ธ ์์ค์ ์ด๋ ์ ๋์ธ๊ฐ?
- ๋ด๊ฐ ์์ ์๋ ์์ญ์ ๋ฌด์์ธ๊ฐ? ๋จ์๊ฒ ์ค๋ช ํ ๋ ๋งํ์์ด ๋์ค๋ ์์ค์ธ๊ฐ?
- ๋ด๊ฐ ๋ถ์กฑํ ์์ญ์ ๋ฌด์์ธ๊ฐ?
- ๋ด๊ฐ ๋ฉด์ ๊ด์ด๋ฉด ๋์ ์ด๋ค ๋ฉด์ ๋ณด๊ณ ๊ธ์ ์ ์ผ๋ก ํ๊ฐํ ๊น? ๋๋ ๋๋ฅผ ๋ฝ์์ ์์๊น?
- ๋ด๊ฐ ํ ์ผ, ๋ด๊ฐ ํ์ง ์์ ์ผ
- ๋ด๊ฐ ์ถ๊ตฌํ๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก , ์ฌ๋ฐ๋ฅด์ง ์์ ๊ฐ๋ฐ ๋ฐฉ์
- ๋ถํ๋ฆฌ๊ธฐ ๊ธ์ง
- ๋ณดํต์ ๋
ธ๋ จํ ๋ฉด์ ๊ด๋ค์ ์ง์์์ ์์ฑํ ์
๋ฌด๊ฐ ๊ฑฐ์ง์ธ์ง ์๋์ง ํ๋จํ๋๋ฐ ํฐ ์ด๋ ค์์ด ์๋ค.
- OOM๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ๋ค โ ์ ๋ฐ์ ํ๋๊ฐ? ์ด๋ค ์กฐ์น๋ค์ ํด๋ณด์๋๊ฐ? ์ด๋ค ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ๋๊ฐ?
- OOM์ ๊ฒฐ๊ณผ์ ์ผ๋ก ํ ๊ณต๊ฐ ๋ถ์กฑ์ผ๋ก ์ธํ JVM์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์ด์์ธ๋ฐ? ์ฌ๋ฐ๋ฅธ ๋๋ต๊ณผ ์ฌ๋ฐ๋ฅด์ง ์์ ๋๋ต์?
์ญ๋ - ์ฌ์ ์ ์๋ฏธ๋ก ์ด๋ค ์ผ์ ํด๋ผ ์ ์๋ ํ, ์ฑ๊ณผ๋ฅผ ๋ด๋ ๋ฅ๋ ฅ, ๊ธฐ๋ฅ์ ํฅ์์ํค๋ ๋ฅ๋ ฅ
๊ฒฐ๊ณผ์ ์ผ๋ก ์ผ์ด ๋๊ฒ ํ๋(์ด๋์ด ๊ฐ๊ฑฐ๋ ๋ง๋ค์ด ๋ด๋) ๋ฅ๋ ฅ
- ๊ฒฝํ
- ๊ธฐ์ ์ง์
- ์ปค๋ฎค๋์ผ์ด์
์ธ๋ถ์ ์ผ๋ก๋
- ์
๋ฌด ๋ถ์ ๋ฅ๋ ฅ
- ๋ฐ์ดํฐ์ ํ๋ฆ
- ํธ์ถ ์ฐ๊ด ๊ด๊ณ
- ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ ๋ถ์
- ์
๋ฌด์ ์ ์ฑ
๊ณผ ๊ด๋ จ๋ ์ฝ๋ ๋ถ์
- ํฐ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋ ๋ฅ๋ ฅ๊ณผ ๊ทธ ์์์ ๋ํ
์ผ์ ์ฑ๊ธฐ๋ ์์ญ
- ํ๋ก๊ทธ๋๋ฐ ๊ตฌํ ๋ฅ๋ ฅ
- ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ
- ๋๋ฉ์ธ์ ์ดํด
- ์ค๋ํ๊ณ ์ดํด์ํค๋ ์ปค๋ฎค๋์ผ์ด์
๋ฅ๋ ฅ
- ๊ธฐ์ ์ง์์ ์ ๋ฆฌํ๊ณ ์ ํํ๋ ๋ฅ๋ ฅ
ํ์ต ์๋๊ฐ ๋น ๋ฅด๊ณ ๊ณ ์ฐฉํ๋ ์ต๊ด์ด ์์ด์ ๋ฌด์์ด๋ ํก์ํ๊ณ ๋ฐ์๋ค์ด๊ธฐ ์ข์ ์๊ธฐ ๊ฐ์ฅ ์ค์ํ ๋๋ชฉ : ํ๋, ์ฑ์ฅ์ ๋ํ ์๊ตฌ
ํ๋์คํฌ
- ํ๊ฐ์ง ์ด์ ์ธ์ด์ ๋ํ ๊ณต๊ณ ํ ์ดํด (์, Javascript, Java, Go, Python)
- ์๋ฃ๊ตฌ์กฐ/์๊ณ ๋ฆฌ์ฆ์ ํฌํจํ ์ ๋ฐ์ ์ธ CS ์ง์ (์ ๊ณต์ ์์ค์ ์ง์)
- ์๋ฒ ๋ฐ ์ธํ๋ผ์ ๋ํ ์ดํด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ดํด
- ํด๋ผ์ฐ๋ ํน์ ์ปจํ ์ด๋ ํ๊ฒฝ์ ๋ํ ์ดํด (Optional)
- Git
- CI/CD
์ํํธ์คํฌ
- ๋ฌธ์ ์ธ์๊ณผ ํด๊ฒฐ ๋ฅ๋ ฅ
- ํ์ต ๋ฅ๋ ฅ, ๊ธฐ์ ์ ์ฑ์ฅ์ ๋ํ ์์ง
- ์์ฌ ์ํต
- ํ ์ํฌ, ํ์ ์ ์ค์ ์ ๋ ์ปค๋ฎค๋์ผ์ด์
์์) ์๋ฐ ๊ธฐ๋ฐ์ ๋ฐฑ์๋ ์ฃผ๋์ด๋ผ๊ณ ๊ฐ์
- Java, Spring, JPA (์)
- JavaScript, Handlebars (์)
- DBMS (MySQL, Oracle ์), NoSQL (MongoDB ์ค)
- Python, Node.js (ํ)
- ๊ธฐํ ๊ฐ๋ฐ ํด ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ
- IntelliJ, Git, Jenkins, AWS (๋จ๋ ์ผ๋ก ์๋ฒ ์ค์ ๋ฐ ๋ฐฐํฌ ๊ฐ๋ฅ)
- RESTful API ์ค๊ณ ๋ฐ ๊ฐ๋ฐ ์ด์ (3๋ ์ด์ ๊ฒฝํ)
- MSA ์ค๊ณ ๋ฐ ๊ฐ๋ฐ ๊ฒฝํ (1๋ ์ด์ ๊ฒฝํ)
์์) ํ๋ฐํธ์๋ ์ฃผ๋์ด๋ผ๊ณ ๊ฐ์
- JavaScript , TypeScript
- Node.js, Next.js, React, Vue.js
- Webpack, Babel, Vite
- ๊ธฐํ ์ฐธ๊ณ ์ฌํญ
- MFA(Micro Frontend Architecture) ๊ฐ๋ฐ ๊ฒฝํ,
- ํ๋ฐํธ์๋ ์ฑ๋ฅ ๊ฐ์ ๊ฒฝํ
- ํ ์คํธ ์๋ํ ๋๊ตฌ ํ์ฉ ๊ฒฝํ
[1์์] ๊ฐ๋ฐ์ ๋ํ ํธ๊ธฐ์ฌ
- ๊ฐ๋ฐ์ ํฅ๋ฏธ๊ฐ ์๊ณ ์ด์ ์ด ์๋ ์ง์์์ธ๊ฐ?
- ๊ธฐ๋ณธ์ ์ธ ์ธ์ด ํ๋ ์ ๋์ ์คํ์ ์ ์ดํดํ๊ณ ์์ผ๋ฉฐ ํฐ ์ด๋ ค์ ์์ด ๊ตฌ์ฌํ ์ ์๋๊ฐ?
[2์์] ์ฑ์ฅ ์๊ตฌ
- ์ฑ์ฅ์ ๋ํ ์๊ตฌ๊ฐ ํ์คํ๊ณ ์๊ธฐ ๊ณ๋ฐ ์์ง๊ฐ ์๋๊ฐ?
[3์์] ์ ๊ณต ์ดํด๋
- ์ ๊ณต ์ง์์ ๋ํ ๊ณต๊ณ ํ ์ดํด, ํ์ ์ด์ธ์ ๋ณธ์ธ์ด ๊ด์ฌ ๊ฐ๋ ๋ถ์ผ์ ์ง์์ ๊พธ์คํ ์๊ณ ์๋๊ฐ?
[1์์] ์ ์ฌํ ์ ๋ฌด ๊ฒฝํ๊ณผ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ
- ๊ธฐ๋ณธ๊ธฐ๊ฐ ํํํ์ฌ ๊ฒฝํ์น๋ง ์์ด๋ฉด ์ถฉ๋ถํ ํ์ ๊ธฐ์ฌํ ์ ์๋๊ฐ?
- ํด๋น ์ ๋ฌด์ ๊ฒฝํ์ ์์๋๊ฐ?
- ์ ๋ฌด์ ๋ชฐ์ ํ๊ณ ์ฃผ์ด์ง ์ ๋ฌด์ ์ต์ ์ ๋คํ ์ ์๋๊ฐ?
- ์ฐ์ฐจ์ ๋น๋กํ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ ๊ฐ์ง๊ณ ์๋๊ฐ?
[2์์] ํ์ฌ ๋ณด์ ํ ์ค๋ ฅ๊ณผ ์ฑ์ฅ ๊ฐ๋ฅ์ฑ
- ์ฐ์ฐจ๊ฐ ๋์ ๊ฒฝ์ฐ ํ ๋ด์ ํฌ์ ํ์ ๋ ์ฆ์ ์ ๋ ฅ ๊ฐ์ธ๊ฐ? ์ฆ, ๋ฐ๋ก ํผํฌ๋จผ์ค๋ฅผ ๋ผ ์ ์๋ ์ฌ๋์ธ๊ฐ?
- ์ฐ์ฐจ๊ฐ ๋ฎ์ ๊ฒฝ์ฐ ์ ๋ฆฌ๋ฉํด์ฃผ๋ฉด ๋ฐ๋ผ์ฌ ๋งํ ํํํ ๊ธฐ๋ณธ ์ง์์ ๊ฐ์ถ์๋๊ฐ?
[3์์] ์ ๊ทน์ ์ธ ์๊ธฐ ๊ณ๋ฐ ์์ง, ๊พธ์คํ ๋ ธ๋ ฅ ๋ฐ ๋์
- ํ์ฌ ๊ณต๋ถํ๊ณ ์๋ ๋ถ์ผ๊ฐ ํ์ฌ๊ฐ ๋ฐฉํฅ๊ณผ ์ผ์นํ๋๊ฐ? ์ฆ, ๋ชฉํ๋ก ํ ํ์ฌ์ ๊ธฐ์ ์คํ์ ๋ฏธ๋ฆฌ ๊ณต๋ถํ๊ณ ๊ฒฝํํ๋ ค๊ณ ๋ ธ๋ ฅํ์๋๊ฐ?
- ๊พธ์คํ ํ์ต์ ํตํด ์ฑ์ฅํ๊ณ ์ ํ๋๊ฐ?
- ๋ณธ์ธ์ด ์ข์๋ค๊ณ ๋๋ ๊ฐ๋ฐ ๊ด๋ จ ์์ ์ด๋ ๊ธฐ์ , ๋ณธ์ธ์ ๊ณต๋ถ์ ๋์์ด ๋ ์์ค ๋ฑ ์์ ์ ๋ ธ๋ ฅ์ ๋ํด์ ๋ฉด์ ๊ด๊ณผ ๋ํ๊ฐ ๊ฐ๋ฅํ๊ฐ?
- ๋น๊ต์ ์ผ๊ด์ฑ ์๋ ์ปค๋ฆฌ์ด ๊ด๋ฆฌ๊ฐ ํ์ํ๊ณ ํ๋ด ์ฃผ๋์ด๋ค์ ์ฑ์ฅ์ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ ์ญ๋์ ๋ณด์ ํด์ผ ํจ.
- ํน์ ์ ํ๊ตฐ์ ๊ตญํ๋ ๊ธฐ์ ์ธ๊ฐ?
- ์๋ํํฐ์ ์๋ช ๊ณผ ์ฐ๊ด๋์ด ์๋๊ฐ?
- ์ด์ ๋ ์ด์ IT ์ธก๋ฉด์ ๋ด์ฌํ๋ฅผ ๊ธฐ๋ํ๊ธฐ ํ๋ ์ฐ์ ์ธ๊ฐ?
- ์ฌ๋ผ์ด๋ ํ๋ ์ด์ด
ํ์ฌ๋ง๋ค ๋ฉด์ ์๋ฅผ ํ๊ฐํ๋ ํญ๋ชฉ๋ค์ด ์กด์ฌํ๋ค.
- ๋ฝ์์ผ ํ๋ค๋ฉด ์ด์ ๋ ๋ฌด์์ธ๊ฐ?
- ๋ฝ์ง ๋ง์์ผ ํ๋ค๋ฉด ์ด์ ๋ ๋ฌด์์ธ๊ฐ?
- ๊ตฌ์ฒด์ ์ธ ํ๋ ์์ ๊ธฐ๋ฐ ํ๊ฐ์ ์ง๋ฌธ๋ค (Behavioral Interviewing Technique)
- ์ง์์์ ๊ณผ๊ฑฐ ๊ฒฝํ์ ๋ฐํ์ผ๋ก ๋ฏธ๋์ ํ๋์ ์์ธกํ๋ ๋ฉด์ ๊ธฐ๋ฒ
- ๊ฐ์ธ์ ์ฑ๊ฒฉ์ด๋ ๊ฐ์น๊ด๊ณผ ๊ฐ์ ์์ญ์ ๊ธฐ์ค์ผ๋ก ํน์ ์ํฉ์์ ์ด๋ค ํ๋๋ค์ ํ๋๊ฐ๋ฅผ ํ๊ฐํ๋ ๋ฐฉ์, ์กฐ์ง ์ ์๋ ฅ์ด๋ ํ์ํฌ, ์ปฌ์ฒํ๋ฑ์ ์์๋ณด๊ธฐ ์ํจ
- ๋ฒ๊ทธ(์ฅ์ )๋ฅผ ์ด๋ป๊ฒ ๋๋ฒ๊น ํ๊ณ ์ถ์ ํ๋์ง?
- ๋ค๋ฅธ ๊ฐ๋ฐ์์ ์ผํ๋ฉด์ ๊ฒช์ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ์๋์ง?
- ํ์ฌ์ ์ ์ฅ๊ณผ ๊ฐ์ธ์ ์ ์ฅ
- ํ์ฌ๋ ๋๋ฃ์๊ฒ ์ํฅ์ ๋ฏธ์น ๊ฒฝํ (๊ธ์ ์ด๋ ๋ถ์ ์ด๋ ํน์ ๋ฐ๋์ ์ํฉ์์ ๋์ฒ๋ฒ)
- ์ฑ์ทจ๊ฐ์ด ๋์๋ ์๊ฐ์?
- ๋ฌด๋ฆฌํ ์๊ตฌ์ฌํญ์ด ์ ๋ฌ๋์์๋ ๋ณธ์ธ์ด ์ทจํ ์ ์๋ ์ต์ ์ ๋ฐฉ๋ฒ์?
STAR ์ง๋ฌธ ์์ฑ๋ฒ
Situation:๊ณผ๊ฑฐ ์ํฉ์ ์ค๋ช
Task:๋น์ ์ํํด์ผ ํ๋ ์
๋ฌด๋ฅผ ์ค๋ช
Action:๋น์ ์ทจํ๋ ํ๋์ ์ค๋ช
Result:ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ค๋ช
ํ๊ฐ์ ๊ธฐ๋ฐ ์ดํด๋ณด๊ธฐ
- ๊พธ์คํ ์ฑ์ฅ, ๊ณ๋จ์ ์ฑ์ฅ์ ์ํ ๋์ ๋
ธ๋ ฅ์ ์ ํฌ์ฅํด์ ์ด๋ ฅ์๋ฅผ ์ ์ถํ์.
- ๊พธ์คํ ๋
ธ๋ ฅ์ ๊ฒฐ๊ตญ ์์ ์ฑ์ทจ๊ฐ๋ค์ ํตํด์ ๋ณด์๋ฐ์ ์ ์๋ค.
- ์ฑ์ทจ๊ฐ = ๊พธ์คํด์ผ ๋์ค๋ ๊ฒฐ๊ณผ๋ฌผ = ์๊ทธ๋งํ ์ฑ์ทจ๊ฐ ๋ชจ์ฌ ํฐ ์ฑ์ทจ๋ฅผ ๋ง๋ ๋ค.
- ์พ๊ฐ ๋ณด์ ์์คํ
ํด๊ฒฐํ ๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ๋ช ํํ๊ฒ ์ ๋ฆฌํ์.
- ํด๊ฒฐํ๊ธฐ ์ด๋ ค์ ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๊ฐ?
- ํด๊ฒฐ๊น์ง๋ ์๋ฒฝํ๊ฒ ๋ชปํ์ง๋ง ๋ฐฉํฅ์ฑ์ ํ์ธํ๋๊ฐ? ๋ฐฉ๋ฒ์ ์ ์ถํ ์ ์๋๊ฐ?
- ํฉ๋ฆฌ์ ์ผ๋ก ํ๋จํ์ฌ ์์ ํด๋ฒ(์ค๋ง๋ฆฌ ๋ฐ๊ฒฌ)๋ถํฐ ํ์ฅ๋ ํด๋ฒ(์๋ฃจ์ ๋ฐ๊ฒฌ)๊น์ง ์ ์ํ์๋๊ฐ?
- ๊ฐ๋ฐํ๋ฉด์ ๋๋ถ๋ถ์ ์๊ธฐ๊ธฐ ๋ง๋ จ์ด๊ณ , ์ด๋ฅผ ์ ์ ๋ฆฌํด๋๊ณ ๊น๊ฒ ํ๋ด์ผ ํ๋ค.
์ฃผ๋์ด ๋ ๋ฒจ์์ ๊ฐ์ถ์ด์ผ ํ ๊ฒ
- CS๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ํ๋์คํฌ, ์ํํธ ์คํฌ์ ๋ด๊ฒ์ผ๋ก ๋ง๋๋ ๋ ธ๋ ฅ
- ์ฑ์ฅ์ ์ํ ์๊ตฌ, ๊ฐ๋ฐ์ ๋ํ ํธ๊ธฐ์ฌ๊ณผ ์ด์
์ข์ ์ฝ๋, ๊ฒฌ๊ณ ํ ์ํํธ์จ์ด๊ฐ ๋ฌด์์ธ์ง ๊พธ์คํ ๊ด์ฌ์ ๊ฐ์ง๊ณ ๋ณธ์ธ์ ์๊ฐ์ ์ ๋ฆฝํด์ผ ํ๋ค.
- ์ข์ ์ฝ๋๋?
- ์ฌ๋๋ง๋ค ๋ค๋ฅด๊ฒ ์ ์ํ๋ ์์ญ
- Code As Docuementation by Martin fowler
์ ์ ์ฌ์๊ธฐ์ ๋ก๋๋งต๋ค์ด๋ฐ๊ธฐ
๋ฐฑ์๋๊ธฐ์ ๋ก๋๋งต๋ค์ด๋ฐ๊ธฐ
https://github.com/devoxx/JavaRoadmap/blob/main/JavaRoadmap2024.jpg
- ์กฐ์ง์ ๋ฆฌ๋, ์ ๋ฌด ๊ด๋ฆฌ, ์ผ์ ๊ด๋ฆฌ, ์ฃผ๋์ด ์ฑ์ฅ
- ์ฝ๋์ ํ์ง, ์ฅ์ ์ ๊ฐ์ ๊ณผ ๋ฐฉ์ง
- ์ํคํ ์ฒ์ ๋ํ ์ดํด์ ์ค์ผ์ผ๋ง
- ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ๋ํ ์ค๊ณ ๋ฅ๋ ฅ
- ๋น ๊ธฐ๋ฅ์ (NFR) ์๊ตฌ ์ฌํญ์ ๋ํ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ (ํ์ฅ์ฑ, ์์ ์ฑ, ๊ฐ์ฉ์ฑ, ๋ชจ๋ํฐ๋ง)
- ๋๋์ ํธ๋ํฝ, ๋์ฉ๋ ๋ฐ์ดํฐ ๋ถ์ฐ ์ฒ๋ฆฌ์ ๋ํ ํ์ต
- ๊ธฐ์ ๋ถ์ฑ ๊ด๋ฆฌ
- ๊ธฐ์ ๋ถ์ฑ๋ก ์ธํ ์ ๋ฌด ์๋์ ์ ํ, ์์คํฌ๋น์๋ก ์ธํ ๋ถ์์ฉ๋ค๋ก ์ธํด ๊ด๋ จ ๊ฐ๋ฐ ์กฐ์ง์ ๋ฒ์์์ด ์จ๋ค.
- ๊ฒฐํจ/๋ฒ๊ทธ ์ถ์ , ๊ด๋ฆฌ
- ๋ฌธ์ํ
- ํ ์คํธ ๋ฐ ์๋ํ
- ์ํคํ ์ฒ ๊ฐ์
- ์ฝ๋ฉ ๊ฐ์ด๋, ์ฝ๋ ๋ฆฌ๋ทฐ ๊ฐ์ด๋ ๋ฐฐํฌ
๊ธฐ์ ๋ชฉ๋ก ๋ค๋ฒ์งธ - ์๋์ด๋ก์จ ์ค๊ณ ๊ฒฝํ์ ์์ ๋ฌด๋ ต ์์๋ฌ์ผ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ฅ ์ฒ๋ฆฌ ์ ๋ต
์ค๋ฉ๊ณผ ํํฐ์ ๋
- ๋ํ์ ์ธ ๋ถ์ฐ ์ ์ฅ ์ฒ๋ฆฌ ๋ฐฉ์ - ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ๋ถํ ํ์ฌ ์ ์ฅํ๋ ๊ฒ์ ์๋ฏธํจ.
- ๊ทธ๋ฌ๋ ์ด์ ๋ฐ ์ธํ๋ผ ๋ณต์ก๋๊ฐ ๊ต์ฅํ ์ปค์ง๋ฏ๋ก ๊ฐ๊ธ์ ์ต๋ํ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ ์ ์๋์ง ์ฐพ์๋ณธ ๋ค์ ์ ์ฉ.
- ๋ถ๊ฐํผํ ๋๋ ์ ์ฉํด์ผํ๋ค.
์ค๋ฉ์ ํผํ๊ณ ์ถ์ด์โฆ
- ์บ์ฑ
- ์์ง ์ค์ผ์ผ๋ง
- SQL ์ต์ ํ
- ์ฝ๊ธฐ Replication
- ๊ตฌ์กฐ๊ฐ์
- ํํฐ์ ๋ - ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ด์์ ๋ฐ์ดํฐ๋ฅผ ๋ถํ
์ด๋์ฉ๋ - ์ฟผ๋ฆฌํ๋, ์บ์ฑ, ๋ฐ์ดํฐ ๋ถํ ์ ์ฅ์ผ๋ก๋ ํด๊ฒฐ์ด ์๋๋ค๋ฉด?
- ์ค์ผ์ผ์ -ํ๋์จ์ด ๊ฐ์ , NoSQL ๊ฒํ (Cassandra, CouchDB, HBase, ๊ทธ๋ํ ๋๋น ๋ฑ), MemSQL(SingleStore)
์ฐธ๊ณ ์ด๋ฏธ์ง (์๊ฐํํ๋ฉด ๋ ์ดํดํ๊ธฐ ์ฌ์์)
์๋์ ํ์ฅ์ด๋ฏธ์ง๋ ๊ตฌ๊ธ์์ db sharding ์ผ๋ก ๊ฒ์ํ ํ ์ด๋ฏธ์ง ํญ(์ ํธ์ํฐ Alex Xu ๊ธ)์์ ํ์ธ ํ ์ ์์ต๋๋ค.
๋๋ https://architecturenotes.co/database-sharding-explained/ ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์ธ์ด๋ ํ๋ ์์ํฌ๋ ์ค์ค๋ก ์คํ์ ๋ช ํํ ํ์ ํ์ ์ผ ํฉ๋๋ค.
์ฑ ์ ๋ ์์ธํ ๋ด์ฉ์ด ๊ธฐ์ ๋์ด ์์ต๋๋ค.
์ธ์ฐ์ง ๋ง์๊ณ ์ดํดํด์ผ ํฉ๋๋ค. ์ฝ๋๋ก ๊ตฌํํด์ ํ ์คํธ๋ฅผ ํด๋ณด๊ณ ์ด๋ค ์ฐจ์ด์ ์ด ์๋์ง, ์ด๋ค ํน์ง์ด ์๋์ง ์คํํ์ธ์.
- ํ๋ก์ธ์ค์ ์ค๋ ๋
- ๋์์ฑ๊ณผ ๋ณ๋ ฌ์ฑ
- Dead Lock, Transaction ๊ฒฉ๋ฆฌ๋ ๋ฒจ, ํธ๋์ญ์ ๋ฝ
- DROP, TRUNCATE ์ฐจ์ด์
- JPA 1์ฐจ ์บ์, 2์ฐจ ์บ์, OSIV, N+1 ๋ฌธ์
- JPQL๊ณผ QueryDSL
- ๋ธ๋ผ์ฐ์ ์์ domain์ ํธ์ถํ ๋ค ํ์ด์ง๊ฐ ๋๋ฉ๋๊ธฐ ๊น์ง์ ์ํคํ ์ฒ์ ํ๋ฆ
- Map, Set, List
- Stack๊ณผ Queue
- Tree์ Heap
- HashMap๊ณผ HashTable
- http์ https
- CORS
- ๊ธฐ๋ณธํค(Primary key), ์ธ๋ํค(Foreign key), ๋ณตํฉํค(Composite key)
- ํ ์ด๋ธ๊ณผ ์ธ๋ฑ์ค, ์ธ๋ฑ์ค์ ํ์ฉ
- Mutable๊ณผ Immutable
- Session๊ณผ Cookie, Session Storage
- IoC์ DI
- Filter์ Interceptor
- ํ๋ ์์ํฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- RESTFul Architecture
- Proxy์ Reverse Proxy
- SQL Injection๊ณผ XSS,
- OAuth, JWT, Token
- MicroServices Architecture
๊ฒฝํ์ด ๋ถ์กฑํ ์์ญ์ ๊ฐ์ ํ์ต(์ฑ , ์จ๋ผ์ธ ์ปค๋ฎค๋ํฐ, ๋ฉํ ๋ง, ๋์์)์ ๊พธ์คํ ์ฐพ์์ ๋ณด์ธ์.
๋ฉด์ ๋ ๊ฒฝํ์น์ ์์ญ์ด๋ค. ํ๋ฝ์ ๋๋ ค์ํ์ง ๋ง์.
-
์๋ฅ๋ง ๊ณ์ ํ๋ฝํ ๊ฒฝ์ฐ ์ด๋ ฅ์ ๋ฆฌ๋ทฐ, ์ฒจ์ญ์ ๋ฐ์๋ณด๋ ๊ฒ์ ์ถ์ฒํ๋ค.
- ์ฌ๋ฌ ๋ฒ์ ์ ์ด๋ ฅ์ ๋ฐ ์๊ธฐ์๊ฐ์๋ฅผ ๊ฐ์ง๊ณ ABํ ์คํธ๋ฅผ ํด๋ณด์.
-
ํ์ธ์ ํ๊ฐ๋ฅผ ๋ฐ์๋๋ ค์ผ ํ๋ค.
-
์ ๋ง ์ค๋น๊ฐ ๋ง๋งํ๋ค๋ฉด ๋ฉํ ๋ง์ ๋ฐ์.
- ๊ธฐ์ ๋ฉด์ , ์ธ์ฑ๋ฉด์ , ์ฐ๋ด ํ์ ๋ฑ ๋ค ๊ฒฝํ์น์ ์์ญ์ด๋ค.
-
์ธํฐ๋ท์ ์๋ ์ง๋ฌธ ๋ชฉ๋ก์ ์ธ์์ ๋ต๋ณํด๋ด๋ ์ฌ์ค ํฐ ๋์์ ์๋ ์ ์๋ค.
-
๋ฉํ์ธ์ง
-
2์ฐจ ๊ณต๊ฒฉ๊ณผ ๋ด ์์ ๋ณด๋ค ๋ ๊น์ ์ง๋ฌธ๋คโฆ
-
1 Depth ์ง๋ฌธ๊ณผ 2 Depth ์ง๋ฌธ, ๊ทธ๋ฆฌ๊ณ ์ด์ด์ง๋ 3 Depth ์ง๋ฌธ์ ๊ณ ๋ฏผํด์ผ ํ๋ค.
- ์ฑ๊ฒฉ์ ์ฅ์ ์ ๋ฌธ์ ํด๊ฒฐ ์ค์ฌ์ ์ผ๋ก ์ฌ๊ณ ํ๋ค๊ณ ์ ์๋๋ฐ, ๋ํ์ ์ธ ์ฌ๋ก๋?
- ๊ทธ ์ฌ๋ก๋ก ์ฌ์ฉ์ ํน์ ํ์ฌ๊ฐ ์ป์ ์ด์ต์?
- ๊ทธ ๋ฐฉ๋ฒ ๋ง๊ณ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋ญ๊ฐ ์์๊น?
- ๊ทธ ์ฌ๋ก๋ก ์ฌ์ฉ์ ํน์ ํ์ฌ๊ฐ ์ป์ ์ด์ต์?
- ์ฑ๊ฒฉ์ ์ฅ์ ์ ๋ฌธ์ ํด๊ฒฐ ์ค์ฌ์ ์ผ๋ก ์ฌ๊ณ ํ๋ค๊ณ ์ ์๋๋ฐ, ๋ํ์ ์ธ ์ฌ๋ก๋?
-
์ ์ค๋ช ํ๊ธฐ์ ์ ์ง๋ฌธํ๊ธฐ
- ์๊ฐ๋ณด๋ค ๋ง์ ์ด๋ณด์๋ค์ด ์ค์ค๋ก ๋ญ ๋ชจ๋ฅด๋์ง ๋ชจ๋ฆ(์ ์๊ณ ์ง๋ฌธํ๋ ๊ฒฝ์ฐ๊ฐ ํ์ ํ ์ ์)
- ์ ๋ชจ๋ฅด๋ค๋ณด๋ ์ง๋ฌธ ์์ฒด๋ ๊ต์ฅํ ๋ง์ฐํจ
- ์ง๋ฌธ์ด ๋ชจํธํ๋ค๋ณด๋ ๋ต๋ณ์ด ๋ถ๊ฐ๋ฅ
- ๊ธ์ ๋ด๊ฐ ์ฝ๋๊ฒ ์๋๋ผ ํ์ธ์ด ์ฝ๋ ๊ฒ, ๋จ์ ์ดํด์ํค๋ ํ์, ๋ฌธ์๋ ๋ง์ฐฌ๊ฐ์ง
- ์ ๋ชจ๋ฅด๋ค๋ณด๋ ์ง๋ฌธ ์์ฒด๋ ๊ต์ฅํ ๋ง์ฐํจ
- https://stackoverflow.com/help/how-to-ask
- RTFM (https://namu.wiki/w/RTFM)
- ์ ๊ฒ์, ํ ์ง๋ฌธ
- ๋จ์๊ฒ ์ค๋ช ํ๋ค๋ณด๋ ๋์ ์ง์์ด ๋ ์ ์ดํด(์ฌ์ ๋ฆฌ)๊ฐ ๋์๋ค.
- ์๊ฐ๋ณด๋ค ๋ง์ ์ด๋ณด์๋ค์ด ์ค์ค๋ก ๋ญ ๋ชจ๋ฅด๋์ง ๋ชจ๋ฆ(์ ์๊ณ ์ง๋ฌธํ๋ ๊ฒฝ์ฐ๊ฐ ํ์ ํ ์ ์)
-
์๊ณ ๋ ์๋๋ฐ, ์ค๋ช ์ ์ ๋ชปํ๊ฒ ๋ค โ ์๋ฒฝํ๊ฒ ์ดํดํ์ง ๋ชปํ ๊ฒฝ์ฐ, ์ ๋ฐ๋ง ์ดํดํ ๊ฒฝ์ฐ
-
๋ด๊ฐ ์๊ฒ๋ ๋ด์ฉ์ ์ง์์ ์ผ๋ก ๋ค๋ฅธ ์ฌ๋์๊ฒ ์ ๋ฌํ๋๊ฒ ์ค์
-
์ ๋ฆฌํ๋ ์ต๊ด์ด ์ค์
- ๋ฌธ์ ๋ฅผ ์๋ณํ์
- ๋ด ๊ฒฝํ์ ๊น๋จน์ง ๋ง๊ณ ๊ธฐ๋กํ์. ๊ธฐ๋ก์ด ์์ฐ์ด๋ค.
- ์์) ๋ฌธ์ ์ ์ธ์๊ณผ ํด๊ฒฐ ๊ณผ์ ์ ๊ธฐ๋ก
-
โํ์ฐฝ์์ ๊ณต๋ถ ์ํ๋ ์น๊ตฌ์๊ฒ๋ ์ฃผ๋ณ์ ๋ค๋ฅธ ์น๊ตฌ๋ค์ด ๋ค์ํ ์ง๋ฌธ๋ค์ ํด๋๋ค. ๊ทธ ์ง๋ฌธ์ ์ค๋ช ํ๋ ํ๋ จ์ ํ๋ฉด์ ์ง์์ด ๋์ฑ ๊ณต๊ณ ํด์ง๋คโ
-
-
์ฐ๋ด ํ์๋ ๊ฒฝํ์ด๋ค.
- ์๊ธฐ๊ณ๋ฐ, ์ฐ๋ด์ ์ฌ๋ฆฌ๋ ํ์์ ์ง๊ฒฐ๋ ๊ฒ๋ค์๋ ๋(์๊ฐ, ๊ฒฝํ, ๋์)์ ํฌ์ํด์ผ ํ๋ค.
- ์์ฆ ์ฑ์ฉ์์ฅ ์ํฉ์ดโฆ
- ๊ธ๋ฆฌ๊ฐ...