λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
개발기/μ •μ²˜κΈ°

λͺ¨μ˜ 문제

by 동 λ”” 2025. 3. 30.

βœ… 1~10 번 문제


[1] μš”κ΅¬μ‚¬ν•­ 뢄석

  1. λ‹€μŒ 쀑 μ†Œν”„νŠΈμ›¨μ–΄ 개발 생λͺ…μ£ΌκΈ°(SDLC)μ—μ„œ μš”κ΅¬μ‚¬ν•­ 뢄석 λ‹¨κ³„μ˜ μ£Όμš” ν™œλ™μ΄ μ•„λ‹Œ 것은?
    • β‘  μ‚¬μš©μž μš”κ΅¬μ‚¬ν•­ μˆ˜μ§‘
    • β‘‘ μ‹œμŠ€ν…œ 섀계
    • β‘’ μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œ μž‘μ„±
    • β‘£ μš”κ΅¬μ‚¬ν•­ 검증
  2. μš”κ΅¬μ‚¬ν•­ 뢄석 기법 쀑 μ΄ν•΄κ΄€κ³„μž κ°„μ˜ κ°ˆλ“±μ„ μ‘°μ •ν•˜κ³  ν•©μ˜λ₯Ό λ„μΆœν•˜λŠ” λ°©λ²•μœΌλ‘œ κ°€μž₯ μ μ ˆν•œ 것은?
    • β‘  λΈŒλ ˆμΈμŠ€ν† λ°
    • β‘‘ μ›Œν¬μˆ
    • β‘’ 인터뷰
    • β‘£ ν”„λ‘œν† νƒ€μ΄ν•‘

[2] λ°μ΄ν„°λ² μ΄μŠ€

  1. κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(RDBMS)μ—μ„œ μ •κ·œν™”λ₯Ό μˆ˜ν–‰ν•˜λŠ” μ£Όμš” λͺ©μ μ€ 무엇인가? (μ„œμˆ ν˜•)
  2. λ‹€μŒ SQL 문을 μ‹€ν–‰ν–ˆμ„ λ•Œ κ²°κ³Όλ₯Ό κ³ λ₯΄μ‹œμ˜€.
    • β‘  전체 μ§μ›μ˜ 평균 κΈ‰μ—¬κ°€ 5000을 μ΄ˆκ³Όν•˜λŠ” λΆ€μ„œλ₯Ό 좜λ ₯ν•œλ‹€.
    • β‘‘ κΈ‰μ—¬κ°€ 5000 이상인 직원이 ν¬ν•¨λœ λΆ€μ„œλ₯Ό 좜λ ₯ν•œλ‹€.
    • β‘’ 평균 κΈ‰μ—¬κ°€ 5000을 μ΄ˆκ³Όν•˜λŠ” λΆ€μ„œλ₯Ό 좜λ ₯ν•œλ‹€.
    • β‘£ λΆ€μ„œλ³„ κΈ‰μ—¬ 총합이 5000을 μ΄ˆκ³Όν•˜λŠ” λΆ€μ„œλ₯Ό 좜λ ₯ν•œλ‹€.
  3. sql
    SELECT dept, AVG(salary) FROM employee GROUP BY dept HAVING AVG(salary) > 5000;

[3] μ†Œν”„νŠΈμ›¨μ–΄ 섀계 및 κ΅¬ν˜„

  1. 객체지ν–₯ 섀계 원칙 쀑 OCP(Open-Closed Principle)에 λŒ€ν•œ μ„€λͺ…μœΌλ‘œ κ°€μž₯ μ μ ˆν•œ 것은?
    • β‘  개방-폐쇄 원칙: μ†Œν”„νŠΈμ›¨μ–΄ μš”μ†ŒλŠ” ν™•μž₯μ—λŠ” μ—΄λ € 있고 μˆ˜μ •μ—λŠ” λ‹«ν˜€ μžˆμ–΄μ•Ό ν•œλ‹€.
    • β‘‘ 단일 μ±…μž„ 원칙: ν•œ ν΄λž˜μŠ€λŠ” ν•˜λ‚˜μ˜ μ±…μž„λ§Œ κ°€μ Έμ•Ό ν•œλ‹€.
    • β‘’ μ˜μ‘΄μ„± μ—­μ „ 원칙: ꡬ체적인 것보닀 좔상적인 것에 μ˜μ‘΄ν•΄μ•Ό ν•œλ‹€.
    • β‘£ λ¦¬μŠ€μ½”ν”„ μΉ˜ν™˜ 원칙: μžμ‹ ν΄λž˜μŠ€λŠ” λΆ€λͺ¨ 클래슀λ₯Ό λŒ€μ²΄ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.
  2. Javaμ—μ„œ final ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•  수 μ—†λŠ” κ²½μš°λŠ”?
    • β‘  클래슀
    • β‘‘ λ©”μ„œλ“œ
    • β‘’ λ³€μˆ˜
    • β‘£ μΈν„°νŽ˜μ΄μŠ€

[4] μ•Œκ³ λ¦¬μ¦˜ 및 자료ꡬ쑰

  1. λ‹€μŒ μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹œκ°„ λ³΅μž‘λ„λ₯Ό λΆ„μ„ν•˜μ‹œμ˜€. (μ„œμˆ ν˜•)
  2. java
    for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { System.out.println(i + "," + j); } }
  3. 이진 탐색(Binary Search)의 평균 μ‹œκ°„ λ³΅μž‘λ„λŠ”?
    • β‘  O(1)
    • β‘‘ O(log n)
    • β‘’ O(n)
    • β‘£ O(n log n)

[5] λ„€νŠΈμ›Œν¬ 및 λ³΄μ•ˆ

  1. TCP/IP ν”„λ‘œν† μ½œ μŠ€νƒμ—μ„œ 데이터가 μ†‘μˆ˜μ‹ λ  λ•Œ 였λ₯˜ κ²€μΆœ 및 μž¬μ „μ†‘μ„ λ‹΄λ‹Ήν•˜λŠ” 계측은?
    • β‘  μ‘μš© 계측
    • β‘‘ 전솑 계측
    • β‘’ λ„€νŠΈμ›Œν¬ 계측
    • β‘£ 데이터 링크 계측
  2. λ‹€μŒ 쀑 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ³΄μ•ˆ 취약점에 ν•΄λ‹Ήν•˜μ§€ μ•ŠλŠ” 것은?
  • β‘  SQL Injection
  • β‘‘ XSS(Cross-Site Scripting)
  • β‘’ HTTPS μ•”ν˜Έν™”
  • β‘£ CSRF(Cross-Site Request Forgery)

❗ 1 ~ 10번 λ‹΅

[1] μš”κ΅¬μ‚¬ν•­ 뢄석

1. SDLCμ—μ„œ μš”κ΅¬μ‚¬ν•­ 뢄석 λ‹¨κ³„μ˜ μ£Όμš” ν™œλ™μ΄ μ•„λ‹Œ 것은?

μ •λ‹΅: β‘‘ μ‹œμŠ€ν…œ 섀계

  • μš”κ΅¬μ‚¬ν•­ 뢄석 λ‹¨κ³„μ—μ„œλŠ” μ‚¬μš©μž μš”κ΅¬μ‚¬ν•­μ„ μˆ˜μ§‘ν•˜κ³ , 이λ₯Ό λ°”νƒ•μœΌλ‘œ μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œλ₯Ό μž‘μ„±ν•˜κ³  κ²€μ¦ν•©λ‹ˆλ‹€.
  • μ‹œμŠ€ν…œ μ„€κ³„λŠ” κ·Έλ‹€μŒ 단계인 섀계 λ‹¨κ³„μ—μ„œ μˆ˜ν–‰λ©λ‹ˆλ‹€.

2. μš”κ΅¬μ‚¬ν•­ 뢄석 기법 쀑 κ°ˆλ“± μ‘°μ • 및 ν•©μ˜ λ„μΆœμ— μ μ ˆν•œ 방법은?

μ •λ‹΅: β‘‘ μ›Œν¬μˆ

  • μ›Œν¬μˆμ€ μ΄ν•΄κ΄€κ³„μžλ“€μ΄ ν•œμžλ¦¬μ— λͺ¨μ—¬ λ…Όμ˜ν•˜λ©΄μ„œ μš”κ΅¬μ‚¬ν•­μ„ λ„μΆœν•˜κ³  ν•©μ˜ν•˜λŠ” κΈ°λ²•μž…λ‹ˆλ‹€.
  • **λΈŒλ ˆμΈμŠ€ν† λ°(β‘ )**은 창의적인 아이디어λ₯Ό μ–»κΈ° μœ„ν•œ 기법이며,
  • **인터뷰(β‘’)**λŠ” ν•œ λͺ… λ˜λŠ” μ†Œμˆ˜μ˜ μ΄ν•΄κ΄€κ³„μžλ‘œλΆ€ν„° 정보λ₯Ό μˆ˜μ§‘ν•˜λŠ” 방법,
  • **ν”„λ‘œν† νƒ€μ΄ν•‘(β‘£)**은 μ‹œμ œν’ˆμ„ λ§Œλ“€μ–΄ ν”Όλ“œλ°±μ„ λ°›λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

[2] λ°μ΄ν„°λ² μ΄μŠ€

3. μ •κ·œν™”μ˜ μ£Όμš” λͺ©μ μ€?

μ •λ‹΅:

  • 데이터 쀑볡을 μ΅œμ†Œν™”ν•˜μ—¬ 이상 ν˜„μƒ(μ‚½μž…, μ‚­μ œ, κ°±μ‹  이상)을 λ°©μ§€ν•˜λŠ” 것이 λͺ©ν‘œμž…λ‹ˆλ‹€.
  • λ˜ν•œ, λ°μ΄ν„°μ˜ 무결성을 μœ μ§€ν•˜κ³  효율적인 데이터 μ €μž₯ ꡬ쑰λ₯Ό λ§Œλ“œλŠ” 역할을 ν•©λ‹ˆλ‹€.

4. SQL μ‹€ν–‰ κ²°κ³Όλ₯Ό κ³ λ₯΄μ‹œμ˜€.

μ •λ‹΅: β‘’ 평균 κΈ‰μ—¬κ°€ 5000을 μ΄ˆκ³Όν•˜λŠ” λΆ€μ„œλ₯Ό 좜λ ₯ν•œλ‹€.

  • GROUP BY deptλŠ” λΆ€μ„œλ³„λ‘œ 데이터λ₯Ό κ·Έλ£Ήν™”ν•˜κ³ ,
  • AVG(salary) > 5000 쑰건을 HAVING μ ˆμ—μ„œ ν•„ν„°λ§ν•˜λ―€λ‘œ,
    • 평균 κΈ‰μ—¬κ°€ 5000을 μ΄ˆκ³Όν•˜λŠ” λΆ€μ„œλ§Œ 결과둜 좜λ ₯λ©λ‹ˆλ‹€.

[3] μ†Œν”„νŠΈμ›¨μ–΄ 섀계 및 κ΅¬ν˜„

5. OCP(Open-Closed Principle)에 λŒ€ν•œ μ„€λͺ…μœΌλ‘œ κ°€μž₯ μ μ ˆν•œ 것은?

μ •λ‹΅: β‘  개방-폐쇄 원칙

  • 개방-폐쇄 원칙은 ν™•μž₯μ—λŠ” μ—΄λ € 있고, μˆ˜μ •μ—λŠ” λ‹«ν˜€ μžˆμ–΄μ•Ό ν•œλ‹€λŠ” μ›μΉ™μž…λ‹ˆλ‹€.
  • 즉, μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ν•  λ•Œ κΈ°μ‘΄ μ½”λ“œλ₯Ό λ³€κ²½ν•˜μ§€ μ•Šκ³  ν™•μž₯ν•  수 μžˆλ„λ‘ 섀계해야 ν•©λ‹ˆλ‹€.
  • λ‚˜λ¨Έμ§€ μ„ νƒμ§€λŠ” λ‹€λ₯Έ SOLID 원칙듀에 λŒ€ν•œ μ„€λͺ…μž…λ‹ˆλ‹€.

6. Javaμ—μ„œ final ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•  수 μ—†λŠ” κ²½μš°λŠ”?

μ •λ‹΅: β‘£ μΈν„°νŽ˜μ΄μŠ€

  • final ν‚€μ›Œλ“œλŠ” **클래슀(β‘ ), λ©”μ„œλ“œ(β‘‘), λ³€μˆ˜(β‘’)**에 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • ν•˜μ§€λ§Œ μΈν„°νŽ˜μ΄μŠ€(β‘£)λŠ” 기본적으둜 μΆ”μƒμ μ΄λ―€λ‘œ final을 μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

[4] μ•Œκ³ λ¦¬μ¦˜ 및 자료ꡬ쑰

7. λ‹€μŒ μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹œκ°„ λ³΅μž‘λ„λŠ”?

java
λ³΅μ‚¬νŽΈμ§‘
for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { System.out.println(i + "," + j); } }

μ •λ‹΅: O(n²)

  • 이쀑 루프가 각각 nλ²ˆμ”© μ‹€ν–‰λ˜λ―€λ‘œ 총 n * n = O(n²)의 μ‹œκ°„ λ³΅μž‘λ„λ₯Ό κ°€μ§‘λ‹ˆλ‹€.

8. 이진 νƒμƒ‰μ˜ 평균 μ‹œκ°„ λ³΅μž‘λ„λŠ”?

μ •λ‹΅: β‘‘ O(log n)

  • 이진 탐색(Binary Search)은 데이터λ₯Ό μ ˆλ°˜μ”© 쀄여가며 νƒμƒ‰ν•˜λ―€λ‘œ 평균 μ‹œκ°„ λ³΅μž‘λ„λŠ” **O(log n)**μž…λ‹ˆλ‹€.

[5] λ„€νŠΈμ›Œν¬ 및 λ³΄μ•ˆ

9. TCP/IP ν”„λ‘œν† μ½œ μŠ€νƒμ—μ„œ 였λ₯˜ κ²€μΆœ 및 μž¬μ „μ†‘μ„ λ‹΄λ‹Ήν•˜λŠ” 계측은?

μ •λ‹΅: β‘‘ 전솑 계측

  • **전솑 계측(TCP)**은 λ°μ΄ν„°μ˜ 신뒰성을 보μž₯ν•˜λ©°, 였λ₯˜ κ²€μΆœκ³Ό μž¬μ „μ†‘μ„ λ‹΄λ‹Ήν•©λ‹ˆλ‹€.
  • **λ„€νŠΈμ›Œν¬ 계측(β‘’)**은 경둜 섀정을 λ‹΄λ‹Ήν•˜λ©°,
  • **데이터 링크 계측(β‘£)**은 ν”„λ ˆμž„ λ‹¨μœ„μ˜ 였λ₯˜ κ²€μΆœμ„ μˆ˜ν–‰ν•˜μ§€λ§Œ, TCP처럼 μž¬μ „μ†‘μ„ 보μž₯ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

10. μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ³΄μ•ˆ 취약점에 ν•΄λ‹Ήν•˜μ§€ μ•ŠλŠ” 것은?

μ •λ‹΅: β‘’ HTTPS μ•”ν˜Έν™”

  • SQL Injection(β‘ ), XSS(β‘‘), **CSRF(β‘£)**λŠ” μ›Ή λ³΄μ•ˆ 곡격 κΈ°λ²•μž…λ‹ˆλ‹€.
  • 반면, **HTTPS μ•”ν˜Έν™”(β‘’)**λŠ” μ›Ή λ³΄μ•ˆμ„ κ°•ν™”ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

[6] 운영체제

11. ν”„λ‘œμ„ΈμŠ€ μŠ€μΌ€μ€„λ§ 기법 쀑 ‘μ΅œμ†Œ μ‹€ν–‰ μ‹œκ°„’을 κ°€μ§„ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ¨Όμ € μ‹€ν–‰ν•˜λŠ” 방식은?

  • β‘  FCFS (First Come First Serve)
  • β‘‘ RR (Round Robin)
  • β‘’ SJF (Shortest Job First)
  • β‘£ Priority Scheduling

μ •λ‹΅: β‘’ SJF (Shortest Job First)

  • SJFλŠ” μ‹€ν–‰ μ‹œκ°„μ΄ κ°€μž₯ 짧은 ν”„λ‘œμ„ΈμŠ€λ₯Ό λ¨Όμ € μ‹€ν–‰ν•˜λŠ” κΈ°λ²•μž…λ‹ˆλ‹€.
  • **FCFS(β‘ )**λŠ” λ¨Όμ € λ„μ°©ν•œ μˆœμ„œλŒ€λ‘œ μ²˜λ¦¬ν•˜λŠ” 방식,
  • **RR(β‘‘)**은 일정 μ‹œκ°„(time quantum) λ‹¨μœ„λ‘œ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ²ˆκ°ˆμ•„ μ‹€ν–‰ν•˜λŠ” 방식,
  • **μš°μ„ μˆœμœ„ μŠ€μΌ€μ€„λ§(β‘£)**은 ν”„λ‘œμ„ΈμŠ€μ˜ μš°μ„ μˆœμœ„λ₯Ό κ³ λ €ν•΄ μ‹€ν–‰ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.

[7] μ†Œν”„νŠΈμ›¨μ–΄ 곡학

12. μ†Œν”„νŠΈμ›¨μ–΄ ν…ŒμŠ€νŠΈμ—μ„œ ‘ν™”μ΄νŠΈλ°•μŠ€ ν…ŒμŠ€νŠΈ(White-box Testing)’의 λͺ©μ μ€?

μ •λ‹΅:

  • μ½”λ“œ λ‚΄λΆ€ λ‘œμ§μ„ λΆ„μ„ν•˜μ—¬ 결함을 μ°ΎλŠ” ν…ŒμŠ€νŠΈ κΈ°λ²•μž…λ‹ˆλ‹€.
  • 주둜 μ œμ–΄ 흐름(Flow), 쑰건문(Branch), 루프(Loop) 등을 ν…ŒμŠ€νŠΈν•©λ‹ˆλ‹€.

[8] μ‹œμŠ€ν…œ λ³΄μ•ˆ

13. λ°©ν™”λ²½(Firewall)의 μ£Όμš” κΈ°λŠ₯이 μ•„λ‹Œ 것은?

  • β‘  λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½ 필터링
  • β‘‘ μ•…μ„± μ½”λ“œ 감염 탐지 및 치료
  • β‘’ νŠΉμ • 포트 차단
  • β‘£ IP 및 도메인 기반 μ ‘κ·Ό μ œμ–΄

μ •λ‹΅: β‘‘ μ•…μ„± μ½”λ“œ 감염 탐지 및 치료

  • 방화벽은 λ„€νŠΈμ›Œν¬ λ³΄μ•ˆμ„ μœ„ν•œ μ ‘κ·Ό ν†΅μ œ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.
  • ν•˜μ§€λ§Œ **μ•…μ„± μ½”λ“œ 탐지 및 치료(β‘‘)**λŠ” 주둜 μ•ˆν‹°λ°”μ΄λŸ¬μŠ€ μ†Œν”„νŠΈμ›¨μ–΄κ°€ λ‹΄λ‹Ήν•©λ‹ˆλ‹€.