๐ป Computer Science/CS interview
ํ๋ก๊ทธ๋๋ฐ
์ ์ฐ ๊ธฐ๋ณธ ๊ฐ์ฒด์งํฅ์ด ๋ฌด์์ธ๊ฐ์? ์ ์ฐจ์งํฅ๊ณผ์ ์ฐจ์ด์ ์ ๋ญ์ฃ ? ๊ฐ์ฒด์งํฅ SOLID ์์น์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ๊ฐ์ฒด์งํฅ 4๊ฐ์ง ํน์ง์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ๋ํ์ ์ธ ๊ฐ์ฒด์งํฅ ์ธ์ด์๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์? ๋ฐ์ดํฐ ํ์ ๊ณผ ๋ณ์์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์? ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. AOP๋ ๋ฌด์์ธ๊ฐ์? ์ปดํ์ผ๋ฌ์ ์ธํฐํ๋ฆฌํฐ์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์? ์ค๋ฒ๋ก๋ฉ๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์? 1๊ธ ๊ฐ์ฒด์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. JAVA ๊ธฐ๋ณธ Java ์ ๊ทผ ์ ์ด์์ ๋ํด์ ๊ฐ๊ฐ ์ค๋ช ํด ์ฃผ์ธ์. JVM์ ๊ตฌ์กฐ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. Garbage Collector ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ์ด๋ป๊ฒ ๋์ํ๋์? GC์ ์ข ๋ฅ์ ๋ํด์ ๋งํด๋ณด์ธ์. Java ๋ฒ์ ๋ณ ํน์ฑ์ ๋ํด์ ์๋๋๋ก ๋งํด์ฃผ์ธ์. Jav..
์๋ฃ๊ตฌ์กฐ
์ ์ฐ ๊ธฐ๋ณธ ๋ฐฐ์ด๊ณผ ๋งํฌ๋ ๋ฆฌ์คํธ์ ์ฐจ์ด์ ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ์คํ๊ณผ ํ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ํด์ํ ์ด๋ธ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ํธ๋ฆฌ ํฌํ(Perfect) ์ด์งํธ๋ฆฌ, ์์ (Complete) ์ด์งํธ๋ฆฌ, ์ (Full) ์ด์งํธ๋ฆฌ์ ์ฐจ์ด์ ์ ๋ํด ๊ฐ๊ฐ ์ค๋ช ํด์ฃผ์ธ์. ๊ทธ๋ํ์ ํธ๋ฆฌ์ ์ฐจ์ด์ ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ํ ์๋ฃ๊ตฌ์กฐ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์. ํ์ ์ฝ์ ๊ณผ ์ญ์ ๋ ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๋์? ๋ ๋ ๋ธ๋ ํธ๋ฆฌ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. ๋ ๋ ๋ธ๋ ํธ๋ฆฌ์ ์ฝ์ ๊ณผ ์ญ์ ๊ณผ์ ์ ๋ํด์ ๋งํด๋ณด์ธ์. B-Tree์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ์ต์ ์ ์ฅ ํธ๋ฆฌ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์.
์๊ณ ๋ฆฌ์ฆ
์ ์ฐ ๊ธฐ๋ณธ ๋น ์ค ํ๊ธฐ๋ฒ์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์ ํฉํ ๋ฆฌ์ผ(factorial)์ ๊ตฌํํด ๋ณด์ธ์(์์ฝ๋ฉ). ํผ๋ณด๋์น ์์ด ๊ตฌํ ๋ฐฉ์ ์ธ ๊ฐ์ง๋ฅผ ๋งํด๋ณด์๊ณ , ์๊ฐ๋ณต์ก๋์ ๊ณต๊ฐ๋ณต์ก๋๋ฅผ ์ค๋ช ํด ์ฃผ์ธ์. BFS/DFS ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์? ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ์ํ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ์ ๋ ฌ ์ ๋ ฌ์ ์ข ๋ฅ์๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์? ์ฝ์ ์ ๋ ฌ์ด ์ผ์ด๋๋ ๊ณผ์ ์ ์ค๋ช ํด ๋ณด์ธ์. ํต ์ ๋ ฌ์ด ์ผ์ด๋๋ ๊ณผ์ ์ ์ค๋ช ํด ๋ณด์ธ์. 54321 ๋ฐฐ์ด์ด ์์ ๋, ์ด๋ค ์ ๋ ฌ์ ์ฌ์ฉํ๋ฉด ์ข์๊น์? ๋๋ค์ผ๋ก ๋ฐฐ์น๋ ๋ฐฐ์ด์ด ์์๋, ์ด๋ค ์ ๋ ฌ์ ์ฌ์ฉํ๋ฉด ์ข์๊น์? ์๋ฆฟ์๊ฐ ๋ชจ๋ ๊ฐ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด์ด ์์ ๋, ์ด๋ค ์ ๋ ฌ์ ์ฌ์ฉํ๋ฉด ์ข์๊น์?
OS
๊ธฐ๋ณธ๊ฐ๋ ์ด์์ฒด์ ๋ ๋ฌด์์ธ๊ฐ์? ์ด์ ์ฒด์ ๋ ์ปดํจํฐ ํ๋์จ์ด๊ฐ ์ปดํจํฐ ์ํํธ์จ์ด์ ํต์ ํ๊ณ ์๋ํ๋๋กํ๋ ์ํํธ์จ์ด ํ๋ก๊ทธ๋จ์ด๋ค. ์ด์์ฒด์ ์ ์ฃผ์ ๋ชฉ์ ์ ๋ฌด์์ธ๊ฐ์? 1. ์ปดํจํฐ ์์คํ ์ ๊ณ์ฐ ํ๋์ ๊ด๋ฆฌํ์ฌ ์ปดํจํฐ ์์คํ ์ด ์ ๋๋ก ์๋ํ๋๋ก ํ๋ค. 2. ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋ฐ ์คํ์ ์ํ ํ๊ฒฝ์ ์ ๊ณตํ๋ค. ํ๋ก์ธ์ค๋ ๋ฌด์์ธ๊ฐ์? ์ปดํจํฐ์์ ์คํ๋๊ณ ์๋ ํ๋ก๊ทธ๋จ์ ํ๋ก์ธ์ค๋ผ๊ณ ํ๋ค. ์ด์ ์ฒด์ ํ๋ก์ธ์ค, ์ฌ์ฉ์ ํ๋ก์ธ์ค๊ฐ ์๋ค. ํ๋ก์ธ์ค์ ํน์ง์ ๋ฌด์์ธ๊ฐ์? ์ค๋ ๋๋ ๋ฌด์์ธ๊ฐ์? ์ค๋ ๋์ ํน์ง์ ๋ฌด์์ธ๊ฐ์? ํ๋ก์ธ์ค Q1.ํ๋ก์ธ์ค์ ์ค๋ ๋์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์? ํ๋ก์ธ์ค๋ ๋ฉ๋ชจ๋ฆฌ ์์์ ์คํ์ค์ธ ํ๋ก๊ทธ๋จ์ ๋งํ๋ฉฐ, ์ค๋ ๋๋ ์ด ํ๋ก์ธ์ค ์์์ ์คํ๋๋ ํ๋ฆ ๋จ์๋ฅผ ๋งํ๋ค. ํ๋ก์ธ์ค๋ ์ต์ ํ๋์ ์ค๋ ๋๋ฅผ ๋ณด์ ..
DB
์ ์ฐ ๊ธฐ๋ณธ JOIN์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ๋ด๋ถ ์กฐ์ธ๊ณผ ์ธ๋ถ ์กฐ์ธ์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์? ์ ๊ทํ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ํํฐ์ ๋๊ณผ ์ค๋ฉ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. ORM์ด๋ ๋ฌด์์ธ๊ฐ์? NoSQL์ด๋ ๋ฌด์์ธ๊ฐ์? ์คํค๋ง๋ ๋ฌด์์ธ๊ฐ์? ์ธ๋ฑ์ค ์ธ๋ฑ์ค๋ ๋ฌด์์ธ๊ฐ์? ์ด๋ป๊ฒ ๋์ ํ๋์? ์ธ๋ฑ์ค์ ์๊ณ ๋ฆฌ์ฆ์๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์? Table Full Scan๊ณผ Index Range Scan ์ ์ค๋ช ํด์ฃผ์ธ์. ํธ๋์ญ์ ํธ๋์ญ์ ์ด๋ ๋ฌด์์ธ๊ฐ์? 4๊ฐ์ง ์์น์ ํฌํจํด์ ์ค๋ช ํด ์ฃผ์ธ์. ํธ๋์ญ์ ์ ๊ฒฉ๋ฆฌ ์์ค๊ณผ ๊ฐ ์์ค์์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ค์ ๋ํด ๋งํด๋ณด์ธ์. ๊ณต์ ๋ฝ๊ณผ ๋ฐฐํ ๋ฝ์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์? ๋ฐ๋๋ฝ์ด๋ ๋ฌด์์ด๋ฉฐ, ์ด๋ป๊ฒ ๋ฐ์ํ ๊น์?