1. λ°λλ½
1.1. λ°λλ½μ΄λ?
1.2. λ°λλ½μ μμ
1.3. λ°λλ½μ΄ μ£Όλ‘ λ°μνλ κ²½μ°
1.4. μ² νμ λ¬Έμ
2. λ°λλ½ λ°μ 쑰건
2.1. λ°λλ½ λ°μ 쑰건?
2.2. μνΈ λ°°μ
2.3. μ μ λκΈ°
2.4. λΉμ μ
2.5. μν λκΈ°
3. λ°λλ½ μ²λ¦¬
3.1. μλ°© : κ΅μ°© μν λ°μ 쑰건 μ€ νλλ₯Ό μ κ±°νλ©° ν΄κ²°, μμ λλΉκ° μ¬ν¨
3.2. ννΌ : κ΅μ°© μν λ°μμ ννΌνλ λ°©λ²
3.3. νμ§ : μμ ν λΉ κ·Έλνλ₯Ό ν΅ν΄ κ΅μ°© μν νμ§
3.4. ν볡 : κ΅μ°© μνλ₯Ό μΌμΌν¨ νλ‘μΈμ€λ₯Ό μ’ λ£νκ±°λ, ν λΉλ μμμ ν΄μ μμΌ ν볡νλ λ°©λ²
1. λ°λλ½
1.1. λ°λλ½μ΄λ?
νλ‘μΈμ€κ° νμν μμμ μ»μ§ λͺ»ν΄ λ©μΆ μν
'κ΅μ°© μν'λΌκ³ λ λΆλ¦
νμ λ μμμ μ¬λ¬ νλ‘μΈμ€μμ μ κ·Όνλ €κ³ ν λ λ°μν¨

1.2. λ°λλ½μ μμ
- μμ μ¬μ§κ³Ό κ°μ΄ κ° νλ‘μΈμ€κ° μμμ μ μ ν μ±, 꼬리물기 μμΌλ‘ μμμ μꡬνκ² λλ©΄ 무νμ wait μνμ λΉ μ§
- μ΄λ¬ν μν©μ λ°λλ½μ΄λΌκ³ ν¨
1.3. λ°λλ½μ΄ μ£Όλ‘ λ°μνλ κ²½μ°
- λ©ν° νλ‘κ·Έλλ° νκ²½μμμ μμ κ²½μ
- ν νλ‘μΈμ€κ° νμν μμμ΄ μ¬μ©ν μ μλ μν©μ΄λ©΄ λκΈ° μνμ λ€μ΄κ°λλ°, κ·Έ νλ‘μΈμ€κ° λ€μ λμμ¬ μ μμΌλ©΄ λ°λλ½ λ°μ
1.4. μ² νμ λ¬Έμ
- μΌμͺ½ ν¬ν¬κ° μ¬μ© κ°λ₯ν΄μ§ λκΉμ§ μκ°μ νλ€. λ§μ½ μ¬μ© κ°λ₯ν΄μ§λ©΄ μ§μ΄λ λ€.
- μ€λ₯Έμͺ½ ν¬ν¬κ° μ¬μ© κ°λ₯ν΄μ§ λκΉμ§ μκ°μ νλ€. λ§μ½ μ¬μ© κ°λ₯ν΄μ§λ©΄ μ§μ΄λ λ€.
- μμͺ½μ ν¬ν¬λ₯Ό μ‘μΌλ©΄ μ ν΄μ§ μκ°λ§νΌ μμ¬λ₯Ό νλ€.
- μ€λ₯Έμͺ½ ν¬ν¬λ₯Ό λ΄λ €λλλ€.
- μΌμͺ½ ν¬ν¬λ₯Ό λ΄λ €λλλ€.
- λ€μ 1λ²μΌλ‘ λμκ°λ€.
λ§μ½ λͺ¨λ μ² νμλ€μ΄ λμμ μμ μ μΌμͺ½ ν¬ν¬λ₯Ό μ‘λλ€λ©΄ λͺ¨λ μ² νμλ€μ μκΈ° μ€λ₯Έμͺ½μ ν¬ν¬κ° μ¬μ© κ°λ₯ν΄μ§ λκΉμ§ κΈ°λ€λ €μΌ νλλ° μ΄κ²μ κ΅μ°© μνλΌκ³ νλ€
2. λ°λλ½ λ°μ 쑰건
2.1. λ°λλ½ λ°μ 쑰건?
λ°λλ½μ΄ λ°μν μ μλ 쑰건
4κ°μ§ λͺ¨λ μ±λ¦½ν΄μΌ λ°μνλ©°, νκ°μ§λΌλ ν΄λΉλμ§ μμΌλ©΄ ν΄κ²° κ°λ₯νλ€.
2.2. μνΈ λ°°μ
- μμμ νλ²μ ν νλ‘μΈμ€λ§ μ¬μ©ν μ μμ
2.3. μ μ λκΈ°
- μ΅μν νλμ μμμ μ μ νκ³ μμΌλ©΄μ λ€λ₯Έ νλ‘μΈμ€μ ν λΉλμ΄ μλ μμμ μ μ νκΈ° μν΄ λκΈ°νλ νλ‘μΈμ€κ° μ‘΄μ¬ν΄μΌ ν¨
2.4. λΉμ μ
- λ€λ₯Έ νλ‘μΈμ€μ ν λΉλ μμμ κ°μ λ‘ λΉΌμμ μ μμ
2.5. μν λκΈ°
- νλ‘μΈμ€μ μ§ν©μμ μν ννλ‘ μμμ λκΈ°νκ³ μμ΄μΌ ν¨(μμ μ¬μ§ μ²λΌ)
3. λ°λλ½ μ²λ¦¬
3.1. μλ°© : κ΅μ°© μν λ°μ 쑰건 μ€ νλλ₯Ό μ κ±°νλ©° ν΄κ²°, μμ λλΉκ° μ¬ν¨
- μνΈ λ°°μ λΆμ : μ¬λ¬ νλ‘μΈμ€κ° λμμ 곡μ μμμ μ¬μ©νλλ‘ νλ€.
- μ μ λκΈ° λΆμ : νλ‘μΈμ€ μ€νμ μ λͺ¨λ μμμ νλ²μ ν λΉν¨
- λΉμ μ λΆμ : μμ μ μ μ€μΈ νλ‘μΈμ€κ° λ€λ₯Έ μμμ μꡬν λ κ°μ§ μμμ λ°λ©νλλ‘ ν¨
- μνλκΈ° λΆμ : μμμ κ³ μ λ²νΈ ν λΉ ν μμλλ‘ μμμ μꡬνλλ‘ ν¨
3.2. ννΌ : κ΅μ°© μν λ°μμ ννΌνλ λ°©λ²
- μνμ μκ³ λ¦¬μ¦ : νλ‘μΈμ€κ° μμμ μꡬν λ, μμ€ν μ κ·Έ νλ‘μΈμ€μκ² ν΄λΉ μμμ ν λΉν΄λ μμ μνλ‘ λ¨μμλμ§ μ¬μ μ κ²μ¬νλ λ°©λ², λ§μ½ μμ μνλ©΄ μμμ ν λΉνλ©°, μλλ©΄ λ€λ₯Έ νλ‘μΈμ€κ° μμμ λ°λ©ν λκΉμ§ λκΈ°ν¨
3.3. νμ§ : μμ ν λΉ κ·Έλνλ₯Ό ν΅ν΄ κ΅μ°© μν νμ§
- μμ μμ² μ, νμ§ μκ³ λ¦¬μ¦μ μ€νμμΌμΌ νλ―λ‘ μ€λ²ν€λ λ°μ
3.4. ν볡 : κ΅μ°© μνλ₯Ό μΌμΌν¨ νλ‘μΈμ€λ₯Ό μ’ λ£νκ±°λ, ν λΉλ μμμ ν΄μ μμΌ ν볡νλ λ°©λ²
- νλ‘μΈμ€ μ’ λ£ : κ΅μ°© μνμ νλ‘μΈμ€ λͺ¨λ μ’ λ£, κ΅μ°© μνκ° μ κ±°λ λ κΉμ§ νλ‘μΈμ€ νλμ© μ€μ§νλ€.
- μμ μ μ λ°©λ² : κ΅μ°© μνμ νλ‘μΈμ€κ° μ μ νκ³ μλ μμμ μ μ ν΄ λ€λ₯Έ νλ‘μΈμ€μκ² ν λΉνλ€. (κ΅μ°© μνμ νλ‘μΈμ€λ μΌμ μ€μ§ μνλ‘ μ μ΄νλ€)
Reference
https://github.com/gyoogle/tech-interview-for-developer
gyoogle/tech-interview-for-developer
πΆπ» μ μ κ°λ°μ μ 곡 μ§μ & κΈ°μ λ©΄μ λ°±κ³Όμ¬μ π. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.
github.com
http://www.dt.co.kr/contents.html?article_no=2008022802011860739001
[μμλ΄ μλ€] μ² νμλ€μ λ§μ°¬λ¬Έμ (The Dining-Philosophers Problem)
Λμ² νμ 5λͺ μ΄ 5κ°μ ν¬ν¬λ₯Ό 2κ°μ© μ¨μ μ΄λ»κ² μ¬μ΄μ’κ² μ€νκ²ν°λ₯Ό λ¨ΉμκΉΛμνν..
www.dt.co.kr