Skip to content

Latest commit

ย 

History

History
1167 lines (817 loc) ยท 33.7 KB

01.Solutions_Architect.md

File metadata and controls

1167 lines (817 loc) ยท 33.7 KB

๐Ÿ“ข๐Ÿ™ ๋ฉด์ ‘ ์˜ˆ์ƒ ์งˆ๋ฌธ ๋ฐ ๋‹ต๋ณ€ - ์†”๋ฃจ์…˜์ฆˆ ์•„ํ‚คํ…ํŠธ(Solutions Architect)

22.06.11 ํ˜„์žฌ ์ด ๋ฌธ์ œ

[๋ชฉ์ฐจ]

1. Basics of Cloud Service / Virtualization

Q1. (MSP ๊ธฐ์ถœ) On-Premise์™€ Cloud ์ฐจ์ด๋ž€?
  • On-Premise

    • +: ๋งž์ถคํ˜• ํ•˜๋“œ์›จ์–ด / ๋ฐ์ดํ„ฐ ๊ฐ€์‹œ์„ฑ ๋ฐ ๊ด€๋ฆฌ
    • -: ์ดˆ๊ธฐ ํˆฌ์ž ๋น„์šฉ / ํ•œ์ •๋œ ์ปดํ“จํŒ… ํŒŒ์›Œ / ์ธ๋ ฅ ํˆฌ์ž / ํ™•์žฅ์ด ์šฉ์ดํ•˜์ง€ ์•Š์Œ
  • Cloud

    • +: ๋ณ€ํ™”์— ์‹ ์†, ํƒ„๋ ฅ / ์ธํ”„๋ผ ์šด์˜๋Œ€์‹  ๋น„์ฆˆ๋‹ˆ์Šค์— ์ง‘์ค‘ / ์ ์€ ์ดˆ๊ธฐ๋น„์šฉ / ์–ธ์ œ ์–ด๋””์„œ๋“  ์ ‘๊ทผ ๊ฐ€๋Šฅ
    • -: ๊ฐ€์‹œ์„ฑ ์šฐ๋ ค / ์ง€์†์ ์ธ ๋น„์šฉ

Q2. (MSP ๊ธฐ์ถœ) ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ vs ํ”„๋ผ์ด๋น— ํด๋ผ์šฐ๋“œ

๋ฆฌ์†Œ์Šค ๊ณต์œ , ๊ด€๋ฆฌ, ํšจ์œจ์  / ๊ฐ€์ƒํ™” , ์ž๋™ํ™” / ์ข…๋Ÿ‰์ œ

  • Public : ์ˆ˜์š”๋ณ€๋™์— ํƒ„๋ ฅ์  / Azure, GCP, AWS
  • Private : ์ธํ”„๋ผ ๋‚ด๋ถ€์  ์šด์šฉ / ๋ณด์•ˆ๊ฐ•์  / ๋ฆฌ์†Œ์Šค ํ†ต์ œ / ๋น„์šฉ
  • Hybrid : VPN, P2P ์—ฐ๊ฒฐ / ํŠธ๋ž˜ํ”ฝ ๊ธ‰์ฆ์‹œ ํผ๋ธ”๋ฆญ์—์„œ ๋‹น๊ฒจ์˜ด /

Q3. (MSP ๊ธฐ์ถœ) AWS, GCP, Azure์˜ ์ฐจ์ด์  ๋ฐ ํŠน์ง•
  • AWS : ๊ด‘๋ฒ”์œ„ํ•œ ์˜ํ–ฅ๋ ฅ, ๋‹ค์–‘ํ•œ ์ƒํ’ˆ / ์ œํ’ˆ๊ฐ„ ๊ฒฐํ•ฉ ๋ฏธํก
  • GCP : ์˜คํ”ˆ์†Œ์Šค(K8s, Tensorflow) ํŒŒ์›Œ / ๋Œ€๊ธฐ์—… ๋Œ€์‘ ๋ถ€์กฑ
  • Azure : ์™„๋ฒฝํ•œ ์—”๋“œ ํˆฌ ์—”๋“œ(Oracle, SAP), ๋น„์šฉ, Winserver / Availability Zone ์˜ต์…˜ ์ƒ๋Œ€์ ์œผ๋กœ ์ ๋‹ค.

Q4. (MSP ๊ธฐ์ถœ) VPN / VPC ์„ค๋ช…
  • VPN : ๊ฐ€์ƒ์˜ ์‚ฌ์„ค๋ง / ์‹ค์ œ๋กœ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ์ƒ์ด์ง€๋งŒ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ
  • VPC : ๋ฆฌ์†Œ์Šค๊ฐ„ ํ—ˆ์šฉ ์ตœ์†Œํ™” / ๊ทธ๋ฃน๋ณ„ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ์šฉ์ด

Q5. (MSP ๊ธฐ์ถœ) IaaS, PaaS, SaaS์˜ ์ฐจ์ด
  • Infrastructure(aaS) / HW ์ธํ”„๋ผ ์ œ๊ณต / ๋น ๋ฅธ ๋ณ€ํ™” / AWS EC2, Azure, GCE
  • Platform(aaS) / ์‘์šฉ SW ๊ฐœ๋ฐœ.์šด์˜ ํ™˜๊ฒฝ ์ œ๊ณต / ์‹ ์† ๊ฐœ๋ฐœ / Google App Engine, Openshift
  • Software(aaS) / ์†Œํ”„ํŠธ์›จ์–ด ์ œ๊ณต / ๋น„์ฆˆ๋‹ˆ์Šค ์ง‘์ค‘ / Google Apps, MS Office, Dropbox

2. Development

2-1. Overall

Q1. (CSP ์˜ˆ์ƒ) distributed and scalable systems ๊ตฌ์„ฑ ์‹œ ๊ณ ๋ คํ•  ์š”์†Œ?
  • ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์ด๋ž€? ์—ฌ๋Ÿฌ ๋…๋ฆฝ๋œ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ๋ชจ์•„ ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.
  • ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์‹œ์Šคํ…œ์ด๋ž€? ๋งŽ์€ ๋ถ€ํ•˜๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

[๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์„ค๊ณ„ ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ]

  1. ๊ฐ€์šฉ์„ฑ: ์ค‘์š”ํ•œ ์ปดํฌ๋„ŒํŠธ์˜ ์ด์ค‘ํ™”, ์‹คํŒจ ๋ฐœ์ƒ ์‹œ ๋น ๋ฅธ ๋ณต๊ตฌ, ์ผ๋ถ€ ๋งŒ์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ „๋ฉด ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ตฌ์„ฑ(graceful degradation)
  2. ์„ฑ๋Šฅ: ๋น ๋ฅธ ์‘๋‹ต์‹œ๊ฐ„, ๋‚ฎ์€ ๋ ˆ์ดํ„ด์‹œ๋Š” ์‚ฌ์šฉ์„ฑ, ๋งŒ์กฑ๋„, ๊ฒ€์ƒ‰์—”์ง„ ๋žญํ‚น(์ˆ˜์ต๊ณผ ์ง์ ‘์  ์—ฐ๊ด€)์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.
  3. ์‹ ๋ขฐ์„ฑ: ๋˜‘๊ฐ™์€ ์š”์ฒญ์—๋Š” ๋˜‘๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•ด์•ผํ•œ๋‹ค(์‹œ์Šคํ…œ ์ •์ƒ์ž‘๋™).
  4. ํ™•์žฅ์„ฑ: ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์ถ”๊ฐ€ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€, ์ €์žฅ ๊ณต๊ฐ„์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์–ผ๋งˆ๋‚˜ ์‰ฌ์šด์ง€, ์–ผ๋งˆ๋‚˜ ๋” ๋งŽ์€ ํŠธ๋žœ์žญ์…˜์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€.
  5. ๊ด€๋ฆฌ์„ฑ: ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ๋ถ„์„์ด ์šฉ์ดํ•ด์•ผํ•˜๋ฉฐ ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ์•ผํ•œ๋‹ค. ์—…๋ฐ์ดํŠธ, ์ˆ˜์ •, ์‹œ์Šคํ…œ ์šด์šฉ ์ž์ฒด๊ฐ€ ์‰ฌ์›Œ์•ผํ•œ๋‹ค.
  6. ๋น„์šฉ: ํ•˜๋“œ์›จ์–ด, ์†Œํ”„ํŠธ์›จ์–ด ๋น„์šฉ ์™ธ ์‹œ์Šคํ…œ ๋ฐฐํฌ, ๊ด€๋ฆฌ ๋น„์šฉ ๋“ฑ ์‹œ์Šคํ…œ ์†Œ์œ ์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋น„์šฉ.

์ฃผ์˜: ์œ„์˜ ๊ณ ๋ ค์‚ฌํ•ญ์€ ๋•Œ๋•Œ๋กœ ํŠธ๋ ˆ์ด๋“œ ์˜คํ”„ ๊ด€๊ณ„์ผ ์ˆ˜ ์žˆ๋‹ค(์ฒ˜๋ฆฌ๋Ÿ‰ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์„œ๋ฒ„๋ฅผ ์ˆ˜ํ‰ํ™•์žฅ ์‹œ ๊ด€๋ฆฌ์„ฑ, ๋น„์šฉ ์ธก๋ฉด์—์„œ ์ข‹์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค)


Q2. (MSP ๊ธฐ์ถœ) 2 tier / 3 tier ์ฐจ์ด

ํ”„๋ ˆ์  ํ…Œ์ด์…˜(WEB) / ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(WAS) / ๋ฐ์ดํ„ฐ(DB)

  • 2tier : (WEB + WAS) + DB / ๊ฐœ๋ฐœํŽธ์˜์„ฑ
  • 3tier : WEB + WAS + DB / ํ™•์žฅ์„ฑ, ์„ฑ๋Šฅ, ์ž์›ํ™œ์šฉ, ๊ด€๋ฆฌ

Q3. WEB / WAS ์„œ๋ฒ„๋ž€?
  • ์›น ์„œ๋ฒ„(Web Server): ์ •์ ์ธ ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„๋กœ ๋Œ€ํ‘œ์ ์ธ ์›น ์„œ๋ฒ„๋กœ๋Š” Apache HTTP server, NGINX ๋“ฑ์ด ์žˆ๋‹ค.
  • ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(Web Application Server): DB ์กฐํšŒ ๋“ฑ ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ๋™์ ์ธ ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„์ด๋‹ค. ๋Œ€ํ‘œ์ ์ธ WAS๋กœ๋Š” Tomcat, JEUS ๋“ฑ์ด ์žˆ๋‹ค.

Q4. (CSP ์˜ˆ์ƒ) 3 tier ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ •์˜์™€ ๊ตฌ์„ฑ๋ฐฉ์‹? (์ž‘์„ฑ์ค‘)

Q5. WEB / WAS์˜ ์ฐจ์ด? (์ž‘์„ฑ์ค‘)

Q6. micro services design ์˜ ์žฅ๋‹จ์ ?
  • ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ณ
    • ์žฅ์ 
      • End-to-End ํ…Œ์ŠคํŠธ๊ฐ€ ์šฉ์ด
      • ๋น ๋ฅด๊ฒŒ ๊ฐ„๋‹จํ•œ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ
    • ๋‹จ์ 
      • ์ž‘์€ ์ˆ˜์ •์‚ฌํ•ญ์ด ์žˆ์–ด๋„ ์ „์ฒด๋ฅผ ๋นŒ๋“œ & ๋ฐฐํฌ (๋…๋ฆฝ์ ์ด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ)
      • ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์›€
      • ๋ฉ์น˜๊ฐ€ ์ปค์ ธ ๊ตฌ๋™์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚จ
      • ์ผ๋ถ€๋ถ„์˜ ์˜ค๋ฅ˜๊ฐ€ ์ „์ฒด์— ์˜ํ–ฅ์„ ๋ฏธ์นจ
      • ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์—†์Œ
  • ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ:
    • ์žฅ์ 
      • ์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด
      • ๊ฑฐ๋Œ€ํ•œ ์„œ๋น„์Šค๋„ ๋น ๋ฅด๊ฒŒ ์ˆ˜์ • ๊ฐ€๋Šฅ (๊ฐ ๊ธฐ๋Šฅ์ด ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐฐํฌ๋˜๊ธฐ ๋•Œ๋ฌธ)
      • ๊ฐ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค
    • ๋‹จ์ 
      • ๋ชจ๋‹ˆํ„ฐ๋ง์ด ์–ด๋ ค์›€
      • End-to-end ๊ตฌ๋™ ๋ถˆํŽธ(ํ…Œ์ŠคํŠธ ๋ถˆํŽธ)

Q7. JEUS๋ž€?
  • ์ œ์šฐ์Šค(JEUS, Java Enterprise User Solution์˜ ์ค€๋ง): ํ‹ฐ๋งฅ์Šค์†Œํ”„ํŠธ์‚ฌ์—์„œ ์ œ์ž‘ํ•œ ์ƒ์šฉ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS). ํ˜„์žฌ ๊ธฐ์—…์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์›น ์‹œ์Šคํ…œ์— ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋™์‚ฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ์›น ์„œ๋ฒ„์ธ ์›นํˆฌ๋น„(WebtoB)์™€ ๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

Q8. Ant, Maven, Gradle์˜ ์ฐจ์ด
  1. Apache Ant
  • ํ˜•์‹์  ๊ทœ์น™์ด ์—†์Œ: ๊ฒฐ๊ณผ๋ฌผ์„ ๋„ฃ์„ ์œ„์น˜๋ฅผ ์•Œ๋ ค์ค˜์•ผํ•จ(Target + Dependency ์กฐํ•ฉ)

  • ์ ˆ์ฐจ์ : ๋ช…ํ™•ํ•œ ๋นŒ๋“œ ์ ˆ์ฐจ ์ •์˜๊ฐ€ ํ•„์š”

  • ์ƒ๋ช…์ฃผ๊ธฐ X = ๊ฐ ํƒ€๊ฒŸ์— ๋Œ€ํ•œ ์˜์กด๊ด€๊ณ„ ๋ฐ ์ž‘์—…์„ ์ •์˜ํ•ด์•ผํ•จ

  • ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด: XML ๊ธฐ๋ฐ˜(build.xml)

  • ์žฅ์ 

    • ๊ฐœ๋ฐœ์ž๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์„ ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ.
  • ๋‹จ์ 

    • ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ณต์žกํ•ด์งˆ ๊ฒฝ์šฐ ๋นŒ๋“œ ๊ณผ์ • ์ดํ•ด ์–ด๋ ค์›€
    • XML, Remote repository ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Œ(IVY ๋„์ž…)
    • ์Šคํฌ๋ฆฝํŠธ ์žฌ์‚ฌ์šฉ ์–ด๋ ค์›€
  1. Apache Maven
  • Dependency ๊ด€๋ฆฌ, ํ‘œ์ค€ํ™”๋œ ํ”„๋กœ์ ํŠธ ์ œ๊ณต

  • ์ƒ๋ช…์ฃผ๊ธฐ(Lifecycle)์™€ ํ”„๋กœ์ ํŠธ ๊ฐ์ฒด ๋ชจ๋ธ(POM, Project Object Model) ๊ฐœ๋… ๋„์ž…

  • ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด: XML ๊ธฐ๋ฐ˜(pom.xml)

  • ์žฅ์ 

    • Ant์˜ ์žฅํ™ฉํ•œ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐœ์„ .
    • pom.xml์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ์–ธํ•˜๋ฉด ์ž๋™์œผ๋กœ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋กœ ๋ถˆ๋Ÿฌ์™€ ํŽธ๋ฆฌ.
  • ๋‹จ์ 

    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์„œ๋กœ ์ข…์†๋  ๊ฒฝ์šฐ XML์ด ๋ณต์žกํ™”
    • ํ”Œ๋กœ์šฐ, ์กฐ๊ฑด๋ถ€ ์ƒํ™ฉ ํ‘œํ˜„ ์–ด๋ ค์›€
    • ๋งž์ถคํ™”๋œ ๋กœ์ง ์‹คํ–‰ ์–ด๋ ค์›€
    • ์ƒ๋Œ€์ ์œผ๋กœ ํ•™์Šต ์žฅ๋ฒฝ์ด ๋†’์Œ
  1. Apache Gradle
  • Ant, Maven ๋“ฑ ์ด์ „ ์„ธ๋Œ€ ๋นŒ๋“œ ๋„๊ตฌ์˜ ๋‹จ์  ๋ณด์™„ & ์žฅ์  ์ทจํ•ฉํ•ด ๋งŒ๋“  ์˜คํ”ˆ์†Œ์Šค๋กœ ๋นŒ๋“œ ๋„๊ตฌ

  • ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด: ๊ทธ๋ฃจ๋น„(Groovy)๊ธฐ๋ฐ˜์˜ DSL(Domain Specific Language)

  • ํŠน์ง•

    • ๋งค์šฐ ์œ ์—ฐํ•œ ๋ฒ”์šฉ ๋นŒ๋“œ ๋„๊ตฌ
    • Maven๊ณผ ๊ฐ™์€ ๊ตฌ์กฐํ™” ๋œ ๋นŒ๋“œ ํ”„๋ ˆ์ž„์›Œํฌ
    • Maven, Ivy๋“ฑ์˜ ๊ธฐ์กด ์ €์žฅ์†Œ ์ธํ”„๋ผ ๋˜๋Š” pom.xml ํŒŒ์ผ๊ณผ ivy.xml ํŒŒ์ผ์— ๋Œ€ํ•œ ํ˜ธํ™˜์„ฑ
    • ๋ฉ€ํ‹ฐ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์ง€์›
    • ์˜์กด์„ฑ ๊ด€๋ฆฌ์˜ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ• ์ œ๊ณต
    • ๊ธฐ์กด Build๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ’๋ถ€ํ•œ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ œ๊ณต
    • Gradle ์„ค์น˜ ์—†์ด Gradle Wrapper๋ฅผ ์ด์šฉํ•˜์—ฌ ๋นŒ๋“œ ์ง€์›
    • ์Šคํฌ๋ฆฝํŠธ ๊ทœ๋ชจ๊ฐ€ ์ž‘๊ณ  ์ฝ๊ธฐ ์‰ฌ์›€

Q9. ๋””์ž์ธ ํŒจํ„ด์ด๋ž€?
  • ๋””์ž์ธ ํŒจํ„ด(Design Pattern)

    • "์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ํŠน์ • ๋งฅ๋ฝ์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๊ณ ์งˆ์ ์ธ ๋ฌธ์ œ๋“ค์ด ๋˜ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์žฌ์‚ฌ์šฉํ•  ํ•  ์ˆ˜ ์žˆ๋Š” ํ›Œ๋ฅญํ•œ ํ•ด๊ฒฐ์ฑ…"
  • ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด(Singleton Pattern)

    • ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜๋งŒ ์ƒ์„ฑํ•˜๋ฉฐ, ์–ด๋””์„œ๋“  ์ด๋ฏธ ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋งŒ์„ ์ฐธ์กฐํ•˜๋„๋ก ํ•˜๋Š” ํŒจํ„ด
  • ํŒฉํ† ๋ฆฌ ํŒจํ„ด(Factory Pattern)

    • ๊ฐ์ฒด๊ฐ„ ์˜์กด์„ฑ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๊ฐ์ฒด์˜ ์ƒ์„ฑ๊ณผ ๋ฐ์ดํ„ฐ ์ฃผ์ž…๋งŒ ๋‹ด๋‹นํ•˜๋Š” Factory ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๊ณ , ย  ๊ฐœ๋ฐœ ์ฝ”๋“œ ๋ถ€๋ถ„์—์„œ๋Š” ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•จ์œผ๋กœ์„œ ์˜์กด์„ฑ์„ ์ค„์ด๋Š” ๋ฐฉ์‹
  • ์˜ต์ €๋ฒ„ ํŒจํ„ด(Observer Pattern)

    • ์–ด๋–ค ๊ฐ์ฒด์˜ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ, ๊ทธ์™€ ์—ฐ๊ด€๋œ ๋ชจ๋“  ๊ฐ์ฒด๋“ค์—๊ฒŒ ์ƒํƒœ๋ณ€๊ฒฝ์„ ์•Œ๋ฆฌ๋Š” ๋””์ž์ธ ํŒจํ„ด

Q10. (MSP ๊ธฐ์ถœ)ELK Stack ์„ค๋ช…
  • ELK Stack: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊น… ์‹œ์Šคํ…œ. ๊ฐœ๋ฐœ์ž๋“ค์ด ์„œ๋ฒ„์— ์ ‘๊ทผํ•ด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ๋ฅผ ๋ฐ›์„ ํ•„์š”๊ฐ€ ์—†๊ฒŒ ๋œ๋‹ค.

  • Elastic Search : ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐํ˜• ๊ฒ€์ƒ‰ ๋ฐ ๋ถ„์„ ์—”์ง„

  • Kibana : ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”(๋Œ€์‹œ๋ณด๋“œํ™”)

  • Logstash : ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ (์—ฌ๋Ÿฌ ์„œ๋ฒ„์˜ ๋Œ€๋Ÿ‰์˜ ๋กœ๊ทธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ์ถ”์ƒํ™” ๋ ˆ์ด์–ด)

  • Beats : ๋ฐ์ดํ„ฐ(๋กœ๊ทธ) ์ „์†ก (๊ธฐ์กด ELK์—์„œ ELK Stack์ด ๋œ ์ด์œ )


Q11. ์„œ๋น„์Šค ๋ฉ”์‹œ(Service Mesh)๋ž€?
  • ์„œ๋น„์Šค ๋ฉ”์‹œ(Service Mesh)
    • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์—์„œ์˜ ์„œ๋น„์Šค๊ฐ„ ํ†ต์‹ ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํŠนํ™”๋œ ์ธํ”„๋ผ ๊ณ„์ธต
    • ์ธํ”„๋ผ ๊ณ„์ธต์˜ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ๊ฐ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœ
    • ์„œ๋น„์Šค ์™ธ๋ถ€์—์„œ ์ž‘๋™ํ•˜๋Š” sidecar proxy๊ฐ€ ๋ชจ์—ฌ ์„œ๋น„์Šค ๋ฉ”์‹œ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.

2-2. Python

Q1. ๋žŒ๋‹ค(lambda)ํ•จ์ˆ˜๋ž€? (์ž‘์„ฑ์ค‘)

Q2. PEP8๋ž€? (์ž‘์„ฑ์ค‘)

Q3. ์ƒ์„ฑ์ž(generator)๋ž€? (์ž‘์„ฑ์ค‘)

2-3. Java

Q1. ๊ฐ€๋น„์ง€ ์ฝœ๋ ‰์…˜์ด๋ž€?
  • ๊ฐ€๋น„์ง€ ์ฝœ๋ ‰์…˜(Garbage Collection): ์‹œ์Šคํ…œ์—์„œ ๋”์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋™์  ํ• ๋‹น๋œ ๋ฉ”๋กœ๋ฆฌ ๋ธ”๋Ÿญ์„ ์ฐพ์•„ ์ž๋™์œผ๋กœ๋‹ค์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ž์›์œผ๋กœ ํšŒ์ˆ˜ํ•˜๋Š” ๊ฒƒ. ์‹œ์Šคํ…œ์—์„œ ๊ฐ€๋น„์ง€์ปฌ๋ ‰์…˜์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ถ€๋ถ„์„ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๋ผ ๋ถ€๋ฅธ๋‹ค.

  • ์ฐธ๊ณ : ๋„Œ ์ž˜ํ•˜๊ณ  ์žˆ์–ด


Q2. JVM์ด๋ž€?
  • JVM(Java Virtual Machine)
    • ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์ƒ๋จธ์‹ 
    • ์ž๋ฐ”์™€ OS์‚ฌ์ด์˜ ์ค‘๊ฐœ์ž ์—ญํ• . OS๋งˆ๋‹ค ๋…๋ฆฝ์ ์ธ ํ”Œ๋žซํผ์œผ๋กœ JAVA๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ.

2-4. Linux / OS

Q1. CentOS์™€ Ubuntu์˜ ์ฐจ์ด๋ž€?
  • CentOS

    • Redhat Linux Enterprise ๊ธฐ๋ฐ˜
    • ๋„คํŠธ์›Œํฌ, ์›น์„œ๋ฒ„ ๊ด€๋ จํ•ด ๋งŽ์ด ์‚ฌ์šฉ
    • ์—…๋ฐ์ดํŠธ ๋Š๋ฆฌ๋‚˜ ์•ˆ์ •์ 
    • yum, rpm์œผ๋กœ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ
  • Ubuntu

    • Debian ๊ธฐ๋ฐ˜
    • ๋ฐ์Šคํฌํƒ‘์šฉ์œผ๋กœ ์ฃผ๋กœ ์‚ฌ์šฉ
    • ์ž์ฃผ ์—…๋ฐ์ดํŠธ ๋˜๋‚˜ ์—…๋ฐ์ดํŠธ ๋œ ํŒจํ‚ค์ง€๊ฐ€ ์•ˆ์ •๋  ๋•Œ๊นŒ์ง€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆผ
    • .deb, apt-get ํŒจํ‚ค์ง€๋กœ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

Q2. ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ๋ž€?
  • Thread(์“ฐ๋ ˆ๋“œ):ย ํ”„๋กœ์„ธ์Šค๋‚ด์—์„œ ๋™์‹œ์— ์‹คํ–‰๋˜๋Š”๋…๋ฆฝ์ ์ธ ์‹คํ–‰ ๋‹จ์œ„๋ฅผ ๋งํ•จ, ์žฅ์ ์œผ๋กœ๋Š” ์ž์›์„ ๋งŽ์ดย ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ตฌํ˜„์ด ์‰ฌ์šฐ๋ฉฐ ๋ฒ”์šฉ์„ฑ์ด ๋†’๋‹ค

  • Process(ํ”„๋กœ์„ธ์Šค): ์šด์˜์ฒด์ œ์—์„œ ์‹คํ–‰์ค‘์ธ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ(ํ•˜๋‚˜ ์ด์ƒ์˜ ์“ฐ๋ ˆ๋“œ๋ฅผ ํฌํ•จํ•œ๋‹ค.)

  • Threadย ์žฅ์ 

    • ๋น ๋ฅธ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ
    • ์ ์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ
    • ์‰ฌ์šด ์ •๋ณด ๊ณต์œ 
  • Thread ๋‹จ์ 

    • ๊ต์ฐฉ์ƒํƒœ์— ๋น ์งˆ ์ˆ˜ ์žˆ๋‹ค.
    • ์ฐธ๊ณ : ๊ต์ฐฉ์ƒํƒœ๋ž€ย ๋‹ค์ค‘ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฒด์ œ์—์„œ ํ•˜๋‚˜ ๋˜๋Š” ๊ทธ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์—†๋Š”ย ์–ด๋–ค ํŠน์ •์‹œ๊ฐ„์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ์ƒํƒœ.

Q3. ์Šค๋ ˆ๋“œ์™€ ํ”„๋กœ์„ธ์Šค์˜ ์ฐจ์ด (์ž‘์„ฑ์ค‘)

Q4. ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šค์™€ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด
  • ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค (Multi-process)

    • ๊ฐœ๋…: ์—ฌ๋Ÿฌ CPU(ํ”„๋กœ์„ธ์„œ)๊ฐ€ ํ˜‘๋ ฅ์ ์œผ๋กœ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌ(๋ณ‘๋ ฌ์ฒ˜๋ฆฌ
    • ์žฅ์ 
      • ๋…๋ฆฝ๋œ ๊ตฌ์กฐ๋กœ ์•ˆ์ •์„ฑ ๋†’์Œ
      • ํŠน์ • ํ”„๋กœ์„ธ์Šค ์žฅ์•  ์‹œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ ์—†์Œ
    • ๋‹จ์ 
      • ์ž‘์—…๋Ÿ‰์ด ๋งŽ์„ ์ˆ˜๋ก ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ์ผ์–ด๋‚˜ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•ด ์„ฑ๋Šฅ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒ
  • ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ (Multi-thread)

    • ๊ฐœ๋…: ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์— ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋กœ ์ž์›์„ ๊ณต์œ ํ•˜๋ฉฐ ์ž‘์—…์„ ์ˆ˜ํ–‰

    • ์žฅ์ 

      • ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ(ํ”„๋กœ์„ธ์Šค ํ• ๋‹น = ์‹œ์Šคํ…œ ์ฝœ ์ค„์–ด๋“ฌ)
      • ์Šค๋ ˆ๋“œ๊ฐ„ ๋ฐ์ดํ„ฐ ํ†ต์‹  ๋น ๋ฆ„ (ํž™ ์˜์—ญ์„ ๊ณต์œ )
    • ๋‹จ์ 

      • ๋ณ‘๋ชฉํ˜„์ƒ ๋“ฑ ๋™๊ธฐํ™” ๋ฌธ์ œ
      • ํ•˜๋‚˜ ์Šค๋ ˆ๋“œ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ์ „์ฒด ํ”„๋กœ์„ธ์Šค ์˜ํ–ฅ

Q5. ์„œ๋ฒ„๋ฅผ ์–ด๋–ป๊ฒŒ ์ ‘์†? ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ๋‚˜ ๋ฐฉ๋ฒ•?
  • ssh๋ฅผ ํ†ตํ•ด ์ ‘์†
    • Public Key & Private key์˜ ํ‚คํŽ˜์–ด ๋ฐฉ์‹์œผ๋กœ ID/PW๋ณด๋‹ค ์•ˆ์ „

Q6. IP๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋Š”? ์ž์‹ ์˜ public ip๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด?
  • ifconfig๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ip๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • public ip ํ™•์ธ = curl ifconfig.co / curl ifconfig.me

Q7. ํŠน์ • ๋„๋ฉ”์ธ์˜ ip๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋Š”?
  • nslookup์„ ์‚ฌ์šฉํ•ด ip๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋„๋ฉ”์ธ ์งˆ์˜ ์ ˆ์ฐจ
    1. ๋กœ์ปฌ์˜ /etc/hosts ํŒŒ์ผ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ํ™•์ธ
    2. ์—†์„ ๊ฒฝ์šฐ /etc/resolv.conf ํŒŒ์ผ์— ์ €์žฅ๋œ ๋„ค์ž„์„œ๋ฒ„๋กœ ์งˆ์˜
    3. ๋„ค์ž„์„œ๋ฒ„์—์„œ ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ public domain server๋กœ ์งˆ์˜

Q8. ์›น ์„œ๋ฒ„ ํ˜น์€ DB ๋“ฑ์˜ ์„œ๋ฒ„๋“ค์„ ํ™•์ธํ•˜๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋Š”?
  • telnet ํ˜น์€ nc๋กœ ํ™•์ธํ•œ๋‹ค(ping์€ ์ž˜๋ชป๋œ ๋‹ต๋ณ€ = ํฌํŠธ ์ง€์ •์ด ๋ถˆ๊ฐ€ํ•˜๋ฉฐ ICMP ํŒจํ‚ท์„ ์ฐจ๋‹จํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ)
  • telnet

3. Network

Q1. (MSP ๊ธฐ์ถœ) OSI 7๊ณ„์ธต์ด๋ž€?

๋„คํŠธ์›Œํฌ์—์„œ ํ†ต์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ 7๋‹จ๊ณ„๋กœ ๋‚˜๋ˆˆ ๊ฒƒ(ํ†ต์‹  ๊ณผ์ •์„ ๋‹จ๊ณ„๋ณ„๋กœ ํŒŒ์•…)

  • Layer7 : ์‘์šฉ / UI, Application (DHCP, DNS, FTP, HTTP, TELNET)
  • Layer6 : ํ‘œํ˜„ / ์ธ์ฝ”๋”ฉ, ๋””์ฝ”๋”ฉ, ์•”ํ˜ธํ™” (JPEG, MPEG)
  • Layer5 : ์„ธ์…˜ / ์„ธ์…˜๊ตฌ์ถ• ๋ฐ ๊ด€๋ฆฌ (SSH, TLS)
  • Layer4 : ์ „์†ก / TCP, UDP
  • Layer3 : ๋„คํŠธ์›Œํฌ / IP, ARP, RARP, ICMP, IGMP
  • Layer2 : ๋ฐ์ดํ„ฐ๋งํฌ / MAC์ฃผ์†Œ, PPP, ๋ธŒ๋ฆฌ์ง€, ์Šค์œ„์น˜
  • Layer1 : ๋ฌผ๋ฆฌ / ์ „๊ธฐ์ ์‹ ํ˜ธ, ํ—ˆ๋ธŒ, ๋ฆฌํ”ผํ„ฐ

Q2. (MSP ๊ธฐ์ถœ) TCP/IP 4๊ณ„์ธต๋ชจ๋ธ์ด๋ž€?
  • Layer4(5,6,7) : ์‘์šฉ / HTTP, FTP, Telnet, DNS, SMTP
  • Layer3(4) : ์ „์†ก / TCP, UDP
  • Layer2(3) : ์ธํ„ฐ๋„ท / IP, ARP, RARP,
  • Layer1(1,2) : ๋„คํŠธ์›Œํฌ์—‘์„ธ์Šค / Ethernet, Token Ring, PPP

Q3. (MSP ๊ธฐ์ถœ) TCP์™€ UDP์˜ ์ฐจ์ด
  • TCP : ์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ / 1:1 ํ†ต์‹ ๋ฐฉ์‹ / ๋ณด์•ˆ์„ฑ์ด ๋†’์€ ๋Œ€์‹  UDP๋ณด๋‹ค ์ „์†ก์†๋„๊ฐ€ ๋Š๋ฆผ / ์‹ ๋ขฐ์„ฑ
  • UDP : ๋น„์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ / 1:N, N:N ํ†ต์‹ ๋ฐฉ์‹ / ๋ณด์•ˆ์„ฑ์ด ๋‚ฎ์ง€๋งŒ ์†๋„๊ฐ€ ๋น ๋ฆ„ / ์ŠคํŠธ๋ฆฌ๋ฐ, VoIP

Q4. (MSP ๊ธฐ์ถœ)3 Way Handshake, 4 Way Handshake ์ด๋ž€
  1. 3 Way Handshake
  • SYN / ์—ฐ๊ฒฐ์š”์ฒญ
  • SYN, ACK / ์ˆ˜๋ฝ
  • ACK / ์ˆ˜๋ฝ ํ™•์ธ
  1. 4 Way Handshake
  • FIN / ์ข…๋ฃŒ์š”์ฒญ
  • ACK / ํ™•์ธ, ๋Œ€๊ธฐ์š”์ฒญ
  • FIN / ์ข…๋ฃŒ์š”์ฒญ
  • ACK / ์ข…๋ฃŒ ํ™•์ธ

Q5. (MSP ๊ธฐ์ถœ) Bridge์™€ NAT ์ฐจ์ด
  • NAT : ์‚ฌ์„ค IP -> ๊ณต์ธ IP / ๊ณต์œ ๊ธฐ
  • Bridge : ์‚ฌ์„ค IP X / ํ˜ธ์ŠคํŠธ์˜ ๊ณต์ธ IP์™€ ๊ฐ™์€ ๋Œ€์—ญ๋Œ€ IP ์‚ฌ์šฉ

Q6. L4์™€ L7 ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์˜ ์ฐจ์ด
  • L4 : IP + ํฌํŠธ / ํฌํŠธ ๊ธฐ๋ฐ˜ ๋ฏธ๋Ÿฌ๋ง / ๋ถ€ํ•˜๋ถ„์‚ฐ ํŠนํ™”, ๊ณ ์‹ ๋ขฐ์„ฑ
  • L7 : IP + ํฌํŠธ + ํŽ˜์ด๋กœ๋“œ(์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ) / ์„ฌ์„ธ, ๊ณ ๋น„์šฉ / ์ปจํ…์ธ  ๊ธฐ๋ฐ˜ ํŠธ๋ž˜ํ”ฝ ์ œ์–ด, QoS, ํ•„ํ„ฐ๋ง, ํŒจํ‚ท๋ถ„์„

Q7. (CSP ์˜ˆ์ƒ)Load Balancer๋ž€?
  • ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ž€? ๋‘˜ ํ˜น์€ ์…‹์ด์ƒ์˜ ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜ ํ˜น์€ ์ €์žฅ์žฅ์น˜์™€ ๊ฐ™์€ ์ปดํ“จํ„ฐ ์ž์›๋“ค์—๊ฒŒ ์ž‘์—…์„ ๋‚˜๋ˆ„๋Š” ์žฅ์น˜(์„œ๋ฒ„ ๋ถ„์‚ฐ ์žฅ์น˜)
  • ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜

Q8. ์„ธ์…˜๊ณผ ์ฟ ํ‚ค๋ž€? ์‚ฌ์šฉ์ด์œ 
  • ์„ธ์…˜๊ณผ ์ฟ ํ‚ค์˜ ๊ณตํ†ต์ : Connectionless(๋น„์—ฐ๊ฒฐ์ง€ํ–ฅ), statelessํ•œ ํŠน์„ฑ์„ ๊ฐ€์ง„ HTTP ํ”„๋กœํ† ์ฝœ์˜ ํ•œ๊ณ„๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•œ ์žฅ์น˜
    • Connectionless: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ ์‹œ ๊ทธ ์š”์ฒญ์— ๋งž๋Š” ์‘๋‹ต์„ ๋ณด๋‚ธํ›„ ์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹ค.
    • Stateless: ์ƒํƒœ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์„ธ์…˜(Session)
    • ์ƒํƒœ ์ •๋ณด๋ฅผ ์„œ๋ฒ„์— ์ €์žฅ
    • ์†๋„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋Š๋ฆฌ๋‹ค (์„œ๋ฒ„ ์ฒ˜๋ฆฌ ํ•„์š”)
    • ๋ณด์•ˆ ๋ฉด์—์„œ ์šฐ์ˆ˜ํ•˜๋‹ค
  • ์ฟ ํ‚ค(Cookie)
    • ์ƒํƒœ ์ •๋ณด๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ
    • ์†๋„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋น ๋ฅด๋‹ค (์„œ๋ฒ„ ์ฒ˜๋ฆฌ ๋ถˆํ•„์š”)
    • ๋ณด์•ˆ ๋ฉด์—์„œ ์ทจ์•ฝ(๋กœ์ปฌ์— ์ €์žฅ๋œ ์ฟ ํ‚ค / request์‹œ ์Šค๋‹ˆํ•‘ ์šฐ๋ ค)

Q9. ๋ณด์•ˆ์„ฑ์ด ๋‚ฎ์€ Cookie ๋Œ€์‹  Session์„ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š”๋ฐ ์•ˆํ•˜๋Š” ์ด์œ ?
  • ๋ชจ๋“  ์ •๋ณด๋ฅผ Session์— ์ €์žฅํ•˜๋ฉด ์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์–ด ์„œ๋ฒ„์— ๋ฌด๋ฆฌ๊ฐ€ ๊ฐ€๊ธฐ ๋•Œ๋ฌธ

Q10. Envoy๋ž€? (์ž‘์„ฑ์ค‘)
  • Envoy: L3/4 ๊ณ„์ธต๊ณผ L7๊ณ„์ธต์„ ์ปค๋ฒ„ํ•˜๋Š” ํ”„๋ก์‹œ ์„œ๋ฒ„์ด๋‹ค.
    • L3/L4 ํ”„๋ก์‹œ: SSL/TLS ์ธ์ฆ ์ฒ˜๋ฆฌ
    • L7 ํ”„๋ก์‹œ: ์„œ๋กœ ๋‹ค๋ฅธ URL์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ๋ฐฑ์—”๋“œ๋กœ ์—ฐ๊ฒฐ
    • Transparent proxy : ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋Œ€์ƒ ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ๋‹ค.
    • ์‚ฌ์šฉ ์˜ˆ: ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ Istio, Contour๋“ฑ์˜ Data plane์œผ๋กœ ์‚ฌ์šฉ

4. Storage

Q1. (CSP ์˜ˆ์ƒ) RAID๋ž€?
  • RAID๋ž€? ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋””์Šคํฌ๋ฅผ ๋ฌถ์–ด ๋ฐ์ดํ„ฐ๋ฅผ read, write ํ•˜๋Š” ๋ฐฉ์‹

Q2. RAID์˜ ์žฅ์ 
  • RAID์˜ ์žฅ์ 
    1. ์„ฑ๋Šฅ ํ–ฅ์ƒ
    2. ํšจ์œจ์„ฑ ์ฆ๋Œ€
    3. ์•ˆ์ •์„ฑ ์ฆ๋Œ€
    4. ๊ฐ€์šฉ์„ฑ ์ฆ๋Œ€

Q3. RAID์˜ ์ข…๋ฅ˜
  • RAID์˜ ์ข…๋ฅ˜ (RAID 1~6)
    • RAID 0: Stripe. ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ๋ฐฐ์น˜ ๋ฐ ๋””์Šคํฌ IO ์†๋„ ํ–ฅ์ƒ
    • RAID 1: Mirror(๋””์Šคํฌ 1,2 ์–‘์ชฝ์— ๋ฐ์ดํ„ฐ ์ €์žฅ). ์•ˆ์ •์„ฑ ํ–ฅ์ƒ. RAID0๊ณผ ๋น„๊ตํ•ด ๋ฐ์ดํ„ฐ write ์†๋„๋Š” ๋™์ผํ•˜๋‚˜ read์†๋„ 2๋ฐฐ
    • RAID 5: ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ถ„์‚ฐ & ํ—ฌ์Šค์ฒดํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์•ˆ์ •์„ฑ ๋†’์ž„
    • RAID 0 + 1: mirror & stripe ๋™์‹œ ๊ตฌ์„ฑํ•ด ์†๋„ + ์•ˆ์ •

Q4. (MSP ๊ธฐ์ถœ)์„œ๋ฒ„์˜ ์ข…๋ฅ˜: NFS, LDAP, AD, DNS ์„œ๋ฒ„๋ž€?
  • NFS : ์ฌ๋งˆ์ดํฌ๋กœ / ๋„คํŠธ์›Œํฌ์ƒ ์—ฐ๊ฒฐ๋œ ๋‹ค๋ฅธ PC ํ•˜๋“œ๋ฅผ ์‚ฌ์šฉ / ์ค‘์•™์ง‘์ค‘ํ˜•
  • LDAP : DAP ๊ฒฝ๋Ÿ‰ / TCP/IP ๋””๋ ‰ํ† ๋ฆฌ ์„œ๋น„์Šค ์กฐํšŒ, ์ˆ˜์ • ํ”„๋กœํ† ์ฝœ
  • AD : ๊ณ„์ •, PC, ์ •์ฑ… ์ •๋ณด ์ €์žฅ
  • DNS : ๋„๋ฉ”์ธ IP ๋ณ€ํ™˜ / ์›๋ž˜๋Š” Hosts ํŒŒ์ผ / root(.) โ€“ top-lv -second-lv - sub

5. Security

Q1. (CSP ์˜ˆ์ƒ)์›น๋ฐฉํ™”๋ฒฝ์ด ์ผ๋ฐ˜ ๋ฐฉํ™”๋ฒฝ๊ณผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€?
  • ๊ณตํ†ต์ : ์•…์˜์  ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ํƒ์ง€ ๋ฐ ์ฐจ๋‹จ

  • ๋ฐฉํ™”๋ฒฝ(Firewall = FW)

    • ๋กœ์ปฌ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ณดํ˜ธ(๋ณดํ˜ธ ๋Œ€์ƒ ์‹œ์Šคํ…œ๊ณผ ๊ทธ ์™ธ ์‹œ์Šคํ…œ์˜ ๊ฒฝ๊ณ„์„  ์—ญํ• )
    • IP์™€ Port๋ฅผ ์ œ์–ดํ•ด ์ธ๊ฐ€๋œ ์‚ฌ์šฉ์ž๋งŒ ์ ‘๊ทผ ํ—ˆ์šฉ
    • OSI 7๊ณ„์ธต ๊ธฐ์ค€: L3 ~ L4(Network)์„ ๋ฐฉ์–ด
  • ์›น ๋ฐฉํ™”๋ฒฝ(Web Application Firewall = WAF)

    • ์›น ์„œ๋ฒ„๋งŒ์„ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ์ •๋ณด ๋ณดํ˜ธ ์‹œ์Šคํ…œ
    • HTTP๋กœ ์‹œ๋„๋˜๋Š” ๊ณต๊ฒฉ(DDoS ๋“ฑ) ์ฐจ๋‹จ
    • OSI 7๊ณ„์ธต ๊ธฐ์ค€: L7(Application)์„ ๋ฐฉ์–ด

Q2. IPS๋ž€?
  • ์นจ์ž…๋ฐฉ์ง€ ์‹œ์Šคํ…œ(IPS: Intrusion Detection System)
    • ์ „๋ฐ˜์ ์ธ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์นจํ•ด์‚ฌ๊ณ  ๋Œ€์‘
    • ๋ชจ๋“  ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ทจ์•ฝ์  ๊ด€๋ จ ํŒจํ„ด DB๋ฅผ ํ†ตํ•œ ํƒ์ง€/์ฐจ๋‹จ
    • OSI 7๊ณ„์ธต ๊ธฐ์ค€: L3 ~ L7์„ ๋ฐฉ์–ด (FW, WAF์— ๋น„ํ•ด ์„ธ๋ถ€ ์„ค์ • ์–ด๋ ค์›€)

Q3. Parameter ๋ณ€์กฐ ๊ณต๊ฒฉ์ด๋ž€?
  • ๊ณต๊ฒฉ์ž๊ฐ€ HTTP ํ†ต์‹ ์˜ POST์š”์ฒญ์ด๋‚˜ URL์˜ ๊ฐ’์„ ์ž„์˜๋กœ ์กฐ์ •ํ•ด ๋ณด๋‚ด๋Š” ๊ฒƒ.
    • ex. POST์š”์ฒญ์—์„œ ์ฟ ํ‚ค์— ์“ฐ์—ฌ์ง„ ๊ถŒํ•œ์„ ์กฐ์ž‘ํ•ด์„œ ๋ณด๋‚ด๊ธฐ => ํ•ด๊ฒฐ๋ฒ•: ํŠน์ • ์œ ์ €์˜ ๊ถŒํ•œ์„ ์„œ๋ฒ„์—์„œ ๊ทธ๋•Œ๊ทธ๋•Œ ๋ถ€์—ฌ & ์„œ๋ฒ„์—์„œ ๋งค๋ฒˆ ์ธ์ฆ์ •๋ณด์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์ฒดํฌ, ์ˆ˜์ƒํ•œ ์‹œ๋„๋“ค์„ ๊ฐ์ง€ํ•ด ์ฐจ๋‹จ
    • ex2. URL์˜ ํ‚ค์›Œ๋“œ๋ฅผ ๋ฐ”๊ฟ” ์ ‘๊ทผํ•ด ๋น„๋ฐ€๊ฒŒ์‹œ๋ฌผ์ด๋‚˜ ๊ฐœ์ธ์ •๋ณด์— ์ ‘๊ทผ => ํ•ด๊ฒฐ๋ฒ•: ์œ ์ € ์ธ๋ฑ์Šค ๊ฐ’์˜ ํ† ํฐ์„ ํ•ด์‹œ๊ฐ’์œผ๋กœ ์„ค์ •

Q4. XSS๊ณต๊ฒฉ์ด๋ž€?
  • XSS(Cross Site Scripting): ์‚ฌ์ดํŠธ์— ๋ช…๋ น์–ด ์ฝ”๋“œ, ์Šคํฌ๋ฆฝํŒ…์„ ์ง‘์–ด ๋„ฃ๋Š” ๊ฒƒ.
    • ex. ๊ฒŒ์‹œํŒ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•ด ์‹คํ–‰ => ํ•ด๊ฒฐ: XSSํ•„ํ„ฐ๋‚˜ ๊ฒŒ์‹œํŒ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ, ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ์ฟ ํ‚ค๋Š” HTTPOnly ์†์„ฑ์„ ๊ฑธ์–ด JS๊ฐ€ ์ ‘๊ทผ ๋ชปํ•˜๋„๋ก ์„ค์ •

Q5. SQL Injection์ด๋ž€?
  • SQL Injection: SQL ์ฟผ๋ฆฌ๋ฅผ ์กฐ์ž‘ํ•ด ๊ด€๋ฆฌ์ž์ธ๊ฒƒ์ฒ˜๋Ÿผ ์กฐ์ž‘. ์ผ๋ถ€๋Ÿฌ SQL ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ ๋’ค ์˜ค๋ฅ˜ ๋‚ด์šฉ์„ ๋ณด๊ณ  DB๊ตฌ์กฐ๋ฅผ ํŒŒ์•…. => SQL๋ฌธ์— ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋“ค์–ด๊ฐ€๋Š” ๊ฐ’์„ ๊ฒ€์ฆํ•œ๋‹ค & ์˜ค๋ฅ˜ ์ „์šฉ ํŽ˜์ด์ง€๋ฅผ ๋”ฐ๋กœ ๋‘”๋‹ค & ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ถŒ์žฅ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๋”ฐ๋ฅธ๋‹ค.

Q6. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‚ฌ์šฉ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ ์ €์žฅ๋ฒ•
  • ์‚ฌ์šฉ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ํ‰๋ฌธ์œผ๋กœ ๋„ฃ์–ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ๋ฐ˜๋“œ์‹œ ํ•ด์‹œ๊ฐ’์œผ๋กœ ์ €์žฅํ•˜๊ณ , ๋ ˆ์ธ๋ณด์šฐ ํ…Œ์ด๋ธ”์„ ๋ฌด๋ ฅํ™”ํ•˜๊ธฐ์œ„ํ•ด ์†”ํŒ…(salting)์„ ํ•ด์•ผํ•œ๋‹ค.
  • ๋ ˆ์ธ๋ณด์šฐ ํ…Œ์ด๋ธ”(rainbow table): ์–ด๋–ค ์ž…๋ ฅ๊ฐ’์ด ์–ด๋–ค ๊ฐ’์œผ๋กœ ํ•ด์‹ฑ๋˜๋Š”์ง€ ๋ชจ์•„๋‘” ํ…Œ์ด๋ธ”.
  • ์†”ํŒ…(salting): ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ทธ๋Œ€๋กœ ํ•ด์‹ฑํ•˜์ง€ ์•Š๊ณ  ๋žœ๋ค ๊ฐ’(salt)์„ ๋”ํ•ด ํ•ด์‹ฑ.

6. Database

Q1. (CSP ์˜ˆ์ƒ)Hadoop์ด๋ž€?
  • Hadoop์ด๋ž€? ์•„ํŒŒ์น˜ ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ(Apache Software Foundation)์—์„œ ๋งŒ๋“  ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ. ํ•˜๋‚˜์˜ ๋Œ€ํ˜• ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ/์ €์žฅํ•˜๋Š” ๋Œ€์‹ , ํ•˜๋“œ์›จ์–ด๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ๋ง ํ•ด ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์…‹์„ ๋ณ‘๋ ฌ๋กœ ๋ถ„์„ํ• ์ˆ˜ ์žˆ๋‹ค. (๊ด€๋ จ AWS ์ƒํ’ˆ: Amazone EMR)

    • ์žฅ์ : ํ™•์žฅ์„ฑ, ๋ผ์ด์„ ์Šค ๋น„์šฉ ๋ฌด๋ฃŒ
    • ๋‹จ์ : ์šด์˜ ๋‚œ์ด๋„ ๋†’์Œ
  • ์ฐธ๊ณ : Velog - Hadoop์ด๋ž€?


Q2. (CSP ์˜ˆ์ƒ)RDBMS / NoSQL์˜ ์ฐจ์ด์ 
  • RDBMS(Relational Database Management System): ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๊ธฐ์ดˆ๋กœ ๋‘๊ณ  ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ 2์ฐจ์› ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”๋“ค๊ณผ ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ๋ชจ์—ฌ์žˆ๋Š” ์ง‘ํ•ฉ์ฒด. ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด **์™ธ๋ž˜ ํ‚ค(foreign key)**๋ฅผ ์‚ฌ์šฉํ•ด ํ…Œ์ด๋ธ”๊ฐ„ join์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  • NoSQL(Not Only SQL): ํ…Œ์ด๋ธ”๊ฐ„ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(ํ…Œ์ด๋ธ”๊ฐ„ join ๋ถˆ๊ฐ€). ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‹จ์ ์ธ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅ. ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ํฌ๊ธฐํ•˜๋˜ ๋น„์šฉ์„ ๊ณ ๋ คํ•ด ์—ฌ๋Ÿฌ๋Œ€์˜ DB์— ๋ถ„์‚ฐํ•ด ์ €์žฅํ•˜๋Š” scale-out์„ ๋ชฉํ‘œ๋กœ ๋“ฑ์žฅ


Q2. RDBMS / NoSQL์˜ ์žฅ๋‹จ์ 
  • RDBMS(Relational Database Management System)

    • ์žฅ์ 

      1. ๋ช…ํ™•ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ณด์žฅ(์Šคํ‚ค๋งˆ)
      2. ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์—†์ด ์ €์žฅ
    • ๋‹จ์ 

      1. ์‹œ์Šคํ…œ์ด ์ปค์งˆ ๊ฒฝ์šฐ ์ฟผ๋ฆฌ๋ฌธ์ด ๋ณต์žก(JOIN๋ฌธ์ด ๋งŽ์•„์ง)
      2. Scale-up๋งŒ ์ง€์›(์„ฑ๋Šฅํ–ฅ์ƒ์— ๋น„์šฉ์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ์Œ)
      3. ์Šคํ‚ค๋งˆ๊ฐ€ ๋ณ€๊ฒฝ๋  ๊ฒฝ์šฐ ๋ฒˆ๊ฑฐ๋กญ๊ณ  ์–ด๋ ค์›€
  • NoSQL(Not Only SQL)

    • ์žฅ์ 
      1. ์œ ์—ฐํ•˜๊ณ  ์ž์œ ๋กœ์šด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ
      2. ์ €์žฅ ๋ฐ์ดํ„ฐ ์กฐ์ • & ์ƒˆ๋กœ์šด ํ•„๋“œ ์ถ”๊ฐ€ ์šฉ์ด
      3. Scale Up & Scale Out ๊ฐ€๋Šฅ
    • ๋‹จ์ 
      1. ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๋ฐœ์ƒ ์šฐ๋ ค
      2. ๋ช…ํ™•ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ณด์žฅ ์•ˆํ•จ

Q3. NoSQL DB์˜ ์ข…๋ฅ˜
  1. Key-Value Database
  • ๋ฐ์ดํ„ฐ๊ฐ€ key, value ์Œ์œผ๋กœ ์ €์žฅ
  • ์งˆ์˜ ์†๋„๊ฐ€ ๊ต‰์žฅํžˆ ๋น ๋ฅธ ํŽธ
  • ๋Œ€ํ‘œ ์˜ˆ: Redis, AWS Dynamo DB
  1. Document Database
  • key, document(๊ณ„์ธต ํ˜•ํƒœ = ๊ฐ์ฒด์™€ ์œ ์‚ฌ) ํ˜•ํƒœ๋กœ ์ €์žฅ
  • ๊ฒ€์ƒ‰์— ์ตœ์ ํ™”
  • ์‚ฌ์šฉ์ด ๋ฒˆ๊ฑฐ๋กญ๊ณ  ์ฟผ๋ฆฌ๊ฐ€ SQL๊ณผ ์ƒ์ด
  • ๋Œ€ํ‘œ ์˜ˆ: Mongo DB
  1. Wide Column Database
  • Column - Family ๋ชจ๋ธ ๊ธฐ๋ฐ˜
  • ํ‚ค๋Š” Row(ํ‚ค ๊ฐ’), Column-family, Columnn-name์„ ๊ฐ€์ง„๋‹ค.
  • ๋Œ€ํ‘œ ์˜ˆ: HBase
  1. Graph Database
  • Node, Edge, Property์™€ ํ•จ๊ป˜ ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉ
  • ๋ฐ์ดํ„ฐ๊ฐ„ ๊ด€๊ณ„๊ฐ€ ํƒ์ƒ‰์˜ ํ‚ค์ผ ๊ฒฝ์šฐ ์ ํ•ฉ(SNS, ์ถ”์ฒœ์—”์ง„, ํŒจํ„ด์ธ์‹์— ์ ํ•ฉ)
  • ๋Œ€ํ‘œ ์˜ˆ: Neo4J

Q4. ์ธ๋ฑ์Šค๋ž€?

์ธ๋ฑ์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ„์•ผ์— ์žˆ์–ด์„œํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๋™์ž‘์˜ ์†๋„๋ฅผ ๋†’์—ฌ์ฃผ๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ์ผ์ปซ๋Š”๋‹ค. ์ธ๋ฑ์Šค๋Š” ํ…Œ์ด๋ธ” ๋‚ด์˜ 1๊ฐœ์˜ ์ปฌ๋Ÿผ, ํ˜น์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปฌ๋Ÿผ์„ ์ด์šฉํ•˜์—ฌ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ณ ์†์˜ ๊ฒ€์ƒ‰๋™์ž‘๋ฟ๋งŒ ์•„๋‹ˆ๋ผ๋ ˆ์ฝ”๋“œ ์ ‘๊ทผ๊ณผ ๊ด€๋ จ ํšจ์œจ์ ์ธ ์ˆœ์„œ ๋งค๊น€ ๋™์ž‘์— ๋Œ€ํ•œ ๊ธฐ์ดˆ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ธ๋ฑ์Šค๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋””์Šคํฌ ๊ณต๊ฐ„์€ ๋ณดํ†ต ํ…Œ์ด๋ธ”์„ ์ €์žฅํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋””์Šคํฌ ๊ณต๊ฐ„๋ณด๋‹ค ์ž‘๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ…Œ์ด๋ธ”๊ณผ ํด๋Ÿฌ์Šคํ„ฐ์— ์—ฐ๊ด€๋˜์–ด ๋…๋ฆฝ์ ์ธ ์ €์žฅ ๊ณต๊ฐ„์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ๊ฐ์ฒด(object)์ด๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ์ž๋ฃŒ๋ฅผ ๋”์šฑ ๋น ๋ฅด๊ฒŒ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•œ๋‹ค.

DB์—์„œ ์ž๋ฃŒ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• FTS(Full Table Scan) : ํ…Œ์ด๋ธ”์„ ์ฒ˜์Œ ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ• Index Scan : ์ธ๋ฑ์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ํ•ด๋‹น ์ž๋ฃŒ์˜ ํ…Œ์ด๋ธ”์„ ์•ก์„ธ์Šค ํ•˜๋Š” ๋ฐฉ๋ฒ•.


Q5. ์Šคํƒ๊ณผ ํ๋ž€?
  • ์Šคํƒ(STACK)

    • LIFO(Last In First Out)์˜ํ›„์ž…์„ ์ถœ ๊ตฌ์กฐ
    • push();๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ, pop();์„ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ
    • ์˜ˆ) ์‹œ์Šคํ…œ ์Šคํƒ : ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ๊ณผ ๋ณต๊ท€ ์ˆœ์„œ๋Š” ์Šคํƒ์˜ ๊ตฌ์กฐ๋ฅผ ์‘์šฉํ•˜์—ฌ ๊ด€๋ฆฌ
    • ์—ญ์ˆœ ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ, ์ˆ˜์‹์˜ ๊ด„ํ˜ธ ๊ฒ€์‚ฌ, ์ˆ˜์‹์˜ ํ›„์œ„ ํ‘œ๊ธฐ๋ฒ• ๋ณ€ํ™˜
  • ํ(QUEUE)

    • FIFO(First In First Out)์˜์„ ์ž…์„ ์ถœ ๊ตฌ์กฐ
    • enQueue();๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ, deQueue();๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ
    • ์˜ˆ) ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ™์€ ์ž‘์—… ์˜ˆ์•ฝ(์ธ์‡„ ๋Œ€๊ธฐ์—ด), ์„ ์ž…์„ ์ถœ์ด ํ•„์š”ํ•œ ๋Œ€๊ธฐ์—ด(ํ‹ฐ์ผ“ ์นด์šดํ„ฐ)
    • Linear Queue(์„ ํ˜•ํ)๋Š” ๋ฉ”๋ชจ๋ฆฌ ์žฌ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ๋ณด์™„ํ•˜์—ฌ Circular Queue(์›ํ˜• ํ)๊ฐ€ ๋‚˜์˜ด

7. DevOps

Q1. (MSP ๊ธฐ์ถœ, CSP ์˜ˆ์ƒ)์ปจํ…Œ์ด๋„ˆ๋ž€? (์ž‘์„ฑ์ค‘)
  • ์ปจํ…Œ์ด๋„ˆ(Container): ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ & ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ๋™ํ•˜๋Š” ํ™˜๊ฒฝ์„ ๊ฒฉ๋ฆฌํ•œ ๊ณต๊ฐ„(ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๋””ํŽœ๋˜์‹œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ํŽธ๋ฆฌ) / OS ๊ฐ€์ƒํ™” X ํ”„๋กœ์„ธ์Šค
  • VM๊ณผ์˜ ์ฐจ์ด์ 
    • VM: Host OS ์—์„œ Guest OS๋ฅผ ๊ธฐ๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•œ๋‹ค.
    • ์ปจํ…Œ์ด๋„ˆ: ํ˜ธ์ŠคํŠธ์˜ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ํ”„๋กœ์„ธ์Šค๋กœ ๊ธฐ๋™.

Q2. (MSP ๊ธฐ์ถœ)์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์ด๋ž€?
  • ๋งŽ์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ. ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ฐฐ์น˜ํ•˜๊ณ  ๊ด€๋ฆฌ.
  • ์ปจํ…Œ์ด๋„ˆ ์Šค์ผ€์ฅด๋ง / ํด๋Ÿฌ์Šคํ„ฐ๋ง / ์„œ๋น„์Šค ๋””์Šค์ปค๋ฒ„๋ฆฌ / ๋กœ๊น… ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง

Q3. (MSP ๊ธฐ์ถœ)Docker์™€ Kubernetes ์ฐจ์ด์ (์ž‘์„ฑ์ค‘)
  • ๋„์ปค(Docker) : ์˜คํ”ˆ์†Œ์Šค ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ.
  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes) : ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํˆด / Docker๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋„๊ตฌ / ๋น„์Šทํ•œ ํˆด = Docker Swarm, EKS, Nomad

Q4. (MSP ๊ธฐ์ถœ)DevOps, DevSecOps๋ž€?(์ž‘์„ฑ์ค‘)
  • ๋ฐ๋ธŒ์˜ต์Šค(DevOps): ์• ์ž์ผ์— ๊ฐœ๋ฐœ๊ณผ ์šด์˜ ๊ฐœ์„  ๋ฐ ์ž๋™ํ™”๊ฐ€ ํ•ฉ์ณ์ง„ ๋ชจ๋ธ / ๊ฐœ๋ฐœ, ๋ฐฐํฌ ๋‹ด๋‹น์ž๋“ค์€ ํ•˜๋‚˜์˜ ํŒ€ / ๊ฐœ๋ฐœ๊ณผ ๋ฐฐํฌ๋ฅผ ์„œ๋กœ ์ž˜ ์œตํ•ฉ์‹œํ‚ค๊ณ  ์†Œํ†ต์„ ์›ํ• ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋ฐœ๋ก 
  • DevSecOps : ์œ„ ๊ณผ์ •์— ๋ณด์•ˆ์„ ๋นŒํŠธ์ธ / ํŒŒ์ดํ”„๋ผ์ธ์ƒ์— ์œ ๊ธฐ์  ๊ฒฐํ•ฉ

Q5. (CSP ์˜ˆ์ƒ)CI/CD๋ž€?
  • CI(Continuous Integration)- ์ง€์†์  ํ†ตํ•ฉ

    • ๊ฐœ๋ฐœ์ž๋“ค์ด ์ž์ฃผ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ฉ”์ธ๋ผ์ธ์— ๋จธ์ง€ํ•œ๋‹ค.
  • CD(Continuous Delivery / Continuous Deployment) - ์ง€์†์  ์ „๋‹ฌ / ๋ฐฐํฌ

    • ์†Œ์Šค์ €์žฅ์†Œ ์—…๋ฐ์ดํŠธ๋ฅผ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธํ•œ ํ›„, ์Šคํ…Œ์ด์ง•ํ•˜๋Š” ์ž๋™ํ™”๋œ ํ๋ฆ„
    • Continuous Delivery: CI ์™„๋ฃŒ -> CD ์™„๋ฃŒ ํ›„ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ด์•ผํ•œ๋‹ค(์‚ฌ๋žŒ์˜ ๊ฒฐ์ •์— ์˜ํ•ด ๋ฐฐํฌ).
    • Continuous Deployment: CD์™„๋ฃŒ ํ›„ ์™„์ „ํžˆ ๋ฐฐํฌ๋˜๋Š” ๊ฒƒ
  • CI/CD์˜ ์žฅ์ 

    • ์†Œํ”„ํŠธ์›จ์–ด ๋ฆด๋ฆฌ์Šค ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™”: ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋ฐฐํฌ
    • ๊ฐœ๋ฐœ์ž ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ: ์ˆ˜๋™ ์ž‘์—… ๋ถ€๋‹ด ๋œ๊ธฐ
    • ๋ฒ„๊ทธ ๋ฐœ๊ฒฌ / ํ•ด๊ฒฐ: ์ž์ฃผ & ํฌ๊ด„์ ์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด ํฐ ๋ฌธ์ œ๋กœ ๋ฐœ๊ฒฌํ•˜๊ธฐ ์ „ ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌ
    • ์—…๋ฐ์ดํŠธ ๋น ๋ฅด๊ฒŒ ์ œ๊ณต

Q7. IaC๋ž€?
  • IaC(Infrastructure as Code) : ์ˆ˜๋™ ๋Œ€์‹  ์Šคํฌ๋ฆฝํŠธ๋กœ ์ปดํ“จํŒ… ์ธํ”„๋ผ ๊ตฌ์„ฑ

Q8. (MSP ๊ธฐ์ถœ) Ansible ์ด๋ž€? ์‚ฌ์šฉ ์ด์œ 
  • ์•ค์„œ๋ธ”(Ansible): IaC ์ง€ํ–ฅ ์ž๋™ํ™” ๊ด€๋ฆฌ ๋„๊ตฌ
    • ์•ค์„œ๋ธ”์˜ ์„ธ๊ฐ€์ง€ ์š”์†Œ = Inventory(์–ด๋””์„œ) & Playbook(๋ฌด์—‡์„) & Module(์–ด๋–ป๊ฒŒ)
    • ๋ฉฑ๋“ฑ(Idempotency)์„ฑ: ์—ฌ๋Ÿฌ๋ฒˆ ์ ์šฉํ•ด๋„ ๊ฒฐ๊ณผ๊ฐ€ ๋™์ผ
    • ์ธํ”„๋ผ ํ”„๋กœ๋น„์ €๋‹ ํ›„ ์„œ๋ฒ„ ์„ค์ •(configuration) ๊ด€๋ฆฌ์— ํŠนํ™”
    • ์„ ์–ธํ˜•๊ณผ ์ ˆ์ฐจํ˜•์˜ ํ˜ผํ•ฉ(hybrid)

Q9. Terraform์ด๋ž€?
  • Terraform:
    • HashiCorp์—์„œ Go์–ธ์–ด๋กœ ๊ฐœ๋ฐœ๋œ IaC ๋„๊ตฌ
    • (์ธํ”„๋ผ) ํ”„๋กœ๋น„์ €๋‹(provisioning)์— ํŠนํ™”
    • HCL(Hashcorp Configuration Language)๋ฅผ ์‚ฌ์šฉํ•ด ํด๋ผ์šฐ๋“œ ๋ฆฌ์†Œ์Šค๋ฅผ ์„ ์–ธํ•œ๋‹ค.

Q10. (๊ธฐ์ˆ ์Šคํƒ ๊ด€๋ จ)TKG๋ž€? TKG์˜ ์žฅ๋‹จ์  (์ž‘์„ฑ์ค‘)

Q11. Jira, Trello, Confluence๋ž€?
  • Jira:
  • Trello:
  • Confluence:

Q12. Octant๋ž€?
  • VMware์—์„œ ๊ฐœ๋ฐœํ•œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ์›น ์ธํ„ฐํŽ˜์ด์Šค

Q13. Lens๋ž€?(์ž‘์„ฑ์ค‘)

Q14. ReDii๋ž€?
  • ReDii: ๋„์ปค ์ด๋ฏธ์ง€ ์ €์žฅ์†Œ ์ค‘ ํ•˜๋‚˜

Q15. Harbor๋ž€? ์žฅ๋‹จ์ (์ž‘์„ฑ์ค‘)

Q16. Jenkins๋ž€? ์žฅ๋‹จ์ (์ž‘์„ฑ์ค‘)

Q17. Git/Github๋ž€?(์ž‘์„ฑ์ค‘)

Q18. SVN๊ณผ Git์˜ ์ฐจ์ด(์ž‘์„ฑ์ค‘)

Q19. Ingress Controller๋ž€?(์ž‘์„ฑ์ค‘)

Q20. Contour๋ž€? ์žฅ๋‹จ์ (์ž‘์„ฑ์ค‘)

Q21. NGINX๋ž€? ์žฅ๋‹จ์ (์ž‘์„ฑ์ค‘)

Q22. Apache์™€ NGINX ์ฐจ์ด(์ž‘์„ฑ์ค‘)

Q23. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ฐ ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ ์„ค๋ช…(์ž‘์„ฑ์ค‘)