Skip to content

Latest commit

ย 

History

History
815 lines (794 loc) ยท 84.3 KB

oldREADME.md

File metadata and controls

815 lines (794 loc) ยท 84.3 KB

Essential Skills for iOS Developers

Core Programming Languages

Swift: Advanced features and best practices.

  • Swift Proposals Swift์–ธ์–ด๊ฐ€ ๋ฐœ์ „ํ•ด์˜จ ๊ณผ์ •์„ ์‚ดํŽด๋ณด์‹œ๋ฉด ์ •๋ง ๋งŽ์€ ๋„์›€์ด ๋ ๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ผญ ์ฝ์–ด๋ณด์‹œ๊ธธ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
  1. struct์™€ class์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • struct์™€ class๋Š” ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ์ ˆํ•œ๊ฐ€์š”?
    • struct์™€ class ๊ฐ„์˜ ์„ฑ๋Šฅ ์ฐจ์ด๋Š” ์–ด๋– ํ•œ ์›๋ฆฌ๋กœ ๋ฐœ์ƒํ•˜๋‚˜์š”?
  1. struct๋Š” ๊ฐ’ ํƒ€์ž…(Value Type)์ด๊ณ , class๋Š” ์ฐธ์กฐ ํƒ€์ž…(Reference Type)์ธ๋ฐ, ์‹ค์ œ๋กœ ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋‚˜์š”?
  • ๊ฐ’ ํƒ€์ž…๊ณผ ์ฐธ์กฐ ํƒ€์ž…์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Swift์—์„œ ๊ฐ’ ํƒ€์ž…์„ ์„ ํ˜ธํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋– ํ•œ ์žฅ์ ์ด ์žˆ๋Š”๊ฐ€์š”?
  1. class์—์„œ๋Š” ์ƒ์†์ด ๊ฐ€๋Šฅํ•œ๋ฐ, struct์—์„œ๋Š” ์™œ ๋ถˆ๊ฐ€๋Šฅํ•œ๊ฐ€์š”?
  • ์ƒ์†์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ด๋ฉฐ, ์ƒ์† ์—†์ด๋„ ๋น„์Šทํ•œ ํšจ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • ์ƒ์†์˜ ๋Œ€์•ˆ์œผ๋กœ ํ”„๋กœํ† ์ฝœ(Protocol)๊ณผ ์ผ๊ธ‰ ์‹œ๋ฏผ(First-class citizen)์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜๊ณ , ์ด๋“ค์ด ์–ด๋–ป๊ฒŒ ์ƒ์†์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•ด์ฃผ๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. struct์™€ class์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•์€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€์š”?
  • ARC(Automatic Reference Counting)๋Š” ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋ฉฐ, class์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Swift์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ค‘ ์ˆœํ™˜ ์ฐธ์กฐ(Circular reference)์™€ ์•ฝํ•œ ์ฐธ์กฐ(Weak reference), ๋ฏธ์†Œ์œ  ์ฐธ์กฐ(Unowned reference)๋Š” ๊ฐ๊ฐ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์™œ ํ•„์š”ํ•œ๊ฐ€์š”?
  1. Swift์˜ ์˜ต์…”๋„ ์ฒด์ด๋‹(Optional Chaining)์€ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ๊ฐ€์š”?
    • ์˜ต์…”๋„ ์ฒด์ด๋‹๊ณผ ๊ฐ•์ œ ์–ธ๋ž˜ํ•‘(Forced Unwrapping)์˜ ์ฐจ์ด์ ์„ ์–ด๋–ป๊ฒŒ ์„ค๋ช…ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
  2. Swift์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•(ARC)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , ์ˆœํ™˜ ์ฐธ์กฐ(Circular Reference)๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ˆœํ™˜ ์ฐธ์กฐ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ weak์™€ unowned ์ฐธ์กฐ์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ARC๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฐฉ๋ฒ•์€ ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋‚˜์š”?
  3. Swift์˜ ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Protocol-Oriented Programming)์˜ ์žฅ์ ์€ ๋ฌด์—‡์ด๋ฉฐ, ์ด๋ฅผ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์–ด๋–ค ์ฐจ์ด์ ์ด ์žˆ๋‚˜์š”?
    • ํ”„๋กœํ† ์ฝœ์„ ํ™œ์šฉํ•œ ์„ค๊ณ„์—์„œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ”„๋กœํ† ์ฝœ ํ™•์žฅ(Protocol Extension)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  4. Swift์˜ ์ œ๋„ค๋ฆญ(Generic)์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์ ๊ณผ ๊ตฌํ˜„ ์‹œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ œ๋„ค๋ฆญ ํƒ€์ž…์˜ ์ œ์•ฝ ์กฐ๊ฑด(Type Constraints)์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ทธ ์ค‘์š”์„ฑ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ œ๋„ค๋ฆญ๊ณผ ๊ด€๋ จ๋œ ์„ฑ๋Šฅ ๋ฌธ์ œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
  5. Swift์˜ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”์†Œ(์˜ˆ: map, filter, reduce)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์–ด๋–ค ์žฅ์ ์ด ์žˆ์œผ๋ฉฐ, ์–ธ์ œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ์ ˆํ•œ๊ฐ€์š”?
    • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ฑ„ํƒํ•จ์œผ๋กœ์จ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์–ด๋–ป๊ฒŒ ํšจ๊ณผ์ ์œผ๋กœ ์กฐํ•ฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
  6. Swift์—์„œ์˜ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ(Error Handling) ๋ฐฉ๋ฒ•๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
    • ์‚ฌ์šฉ์ž ์ •์˜ ์˜ค๋ฅ˜ ํƒ€์ž…์„ ๋งŒ๋“ค ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์˜ค๋ฅ˜ ์ „ํŒŒ(Error Propagation)์™€ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ํŒจํ„ด์˜ ์„ ํƒ ๊ธฐ์ค€์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  7. Swift์˜ ํด๋กœ์ €(Closure) ์‚ฌ์šฉ ์‹œ ์„ฑ๋Šฅ์ ์ธ ์ธก๋ฉด์„ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?
    • ํด๋กœ์ €์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜(Memory Leak)๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํด๋กœ์ €๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ ์ž‘์—…์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  8. Swift์˜ ํŒจํ„ด ๋งค์นญ(Pattern Matching) ๊ธฐ๋Šฅ์„ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • switch ๋ฌธ๊ณผ ํŒจํ„ด ๋งค์นญ์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํŒจํ„ด ๋งค์นญ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์˜ˆ์‹œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  9. Swift์˜ ํšจ์œจ์ ์ธ ์ปฌ๋ ‰์…˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”. ๋ฐฐ์—ด(Array), ๋”•์…”๋„ˆ๋ฆฌ(Dictionary), ์„ธํŠธ(Set) ์‚ฌ์šฉ ์‹œ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์š”์†Œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ปฌ๋ ‰์…˜์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ปฌ๋ ‰์…˜ ํƒ€์ž…์˜ ์„ ํƒ ๊ธฐ์ค€์€ ์–ด๋–ป๊ฒŒ ๊ฒฐ์ •ํ•˜๋‚˜์š”?
  10. Swift์˜ ๋ชจ๋“ˆํ™” ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ด๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Swift Package Manager์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊ณผ ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ชจ๋“ˆํ™”๋œ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์žˆ์–ด์„œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ฃผ์š” ์š”์†Œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  11. Swift์˜ ์ ‘๊ทผ ์ œ์–ด(Access Control)๋ฅผ ํ™œ์šฉํ•œ ์•ˆ์ „ํ•œ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ ‘๊ทผ ์ œ์–ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ์บก์Šํ™”๋ฅผ ๊ฐ•ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • public, private, internal, fileprivate, open ์ ‘๊ทผ ์ˆ˜์ค€์˜ ์ฐจ์ด์ ๊ณผ ์‚ฌ์šฉ ์ƒํ™ฉ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  12. Swift์˜ ํ™•์žฅ(Extension) ์‚ฌ์šฉ ์‹œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋Š” ๋ฌด์—‡์ด๋ฉฐ, ํ™•์žฅ์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ฃผ์˜์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ™•์žฅ์„ ํ†ตํ•ด ๊ธฐ์กด ํƒ€์ž…์— ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ์˜ ์ด์ ๊ณผ ํ•œ๊ณ„๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๊ธฐ์กด ํด๋ž˜์Šค๋‚˜ ๊ตฌ์กฐ์ฒด์— ํ™•์žฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ, ์ถฉ๋Œ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  13. Swift์—์„œ์˜ ๋Ÿฐํƒ€์ž„ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด๋ฉฐ, ์„ฑ๋Šฅ ๋ถ„์„์„ ์œ„ํ•œ ๋„๊ตฌ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?
    • ์ฝ”๋“œ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ํ”„๋กœํŒŒ์ผ๋ง ๋„๊ตฌ์˜ ์‚ฌ์šฉ ์˜ˆ์‹œ๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?
    • ๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ฃผ์š” ์š”์†Œ๋“ค์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  14. Swift์˜ ๋ฆฌํ„ฐ๋Ÿด๊ณผ ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ์„ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด์ ๊ณผ ์ฃผ์˜์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์‚ฌ์šฉ์ž ์ •์˜ ํƒ€์ž…์— ๋Œ€ํ•œ ๋ฆฌํ„ฐ๋Ÿด ํ‘œํ˜„์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  15. Swift์—์„œ์˜ Type Inference(ํƒ€์ž… ์ถ”๋ก )์˜ ์ž‘๋™ ์›๋ฆฌ์™€ ํšจ์œจ์  ์‚ฌ์šฉ์„ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํƒ€์ž… ์ถ”๋ก ์ด ์ปดํŒŒ์ผ ์‹œ๊ฐ„์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ช…์‹œ์  ํƒ€์ž… ์„ ์–ธ๊ณผ ํƒ€์ž… ์ถ”๋ก  ์ค‘ ์–ด๋Š ๊ฒฝ์šฐ๊ฐ€ ๋” ๋ฐ”๋žŒ์งํ•œ๊ฐ€์š”?
  16. Swift์˜ Associated Types(์—ฐ๊ด€ ํƒ€์ž…)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , ํ”„๋กœํ† ์ฝœ์—์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์—ฐ๊ด€ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์‹œ์™€ ๊ทธ ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์—ฐ๊ด€ ํƒ€์ž…์„ ์‚ฌ์šฉํ•  ๋•Œ ์ œ๋„ค๋ฆญ๊ณผ์˜ ๊ด€๊ณ„๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?
  17. Swift์˜ ํ‚ค-๊ฐ’ ๊ด€์ฐฐ(Key-Value Observing, KVO)๊ณผ ํ”„๋กœํผํ‹ฐ ์˜ต์ €๋ฒ„(Property Observer)์˜ ์ฐจ์ด์ ๊ณผ ๊ฐ๊ฐ์˜ ์‚ฌ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • KVO๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ฃผ์˜์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ”„๋กœํผํ‹ฐ ์˜ต์ €๋ฒ„๋ฅผ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด์ ๊ณผ ํ•œ๊ณ„๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  18. Swift์˜ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ ํŒจํ„ด(Delegate Pattern)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํฌ๋„ŒํŠธ ๊ฐ„ ํ†ต์‹ ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ ํŒจํ„ด์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ ํŒจํ„ด๊ณผ ๋…ธํ‹ฐํ”ผ์ผ€์ด์…˜ ์„ผํ„ฐ(Notification Center)๋ฅผ ๋น„๊ตํ–ˆ์„ ๋•Œ์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  19. Swift์˜ ๋ฆฌํ”Œ๋ ‰์…˜(Reflection)๊ณผ ๋ฉ”ํƒ€ ํƒ€์ž…(MetaType)์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์™€ ์ฃผ์˜์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ฆฌํ”Œ๋ ‰์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์ œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ฆฌํ”Œ๋ ‰์…˜์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์„ฑ๋Šฅ์  ์˜ํ–ฅ์€ ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋‚˜์š”?
  20. Swift์˜ ์ปค์Šคํ…€ ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ(Custom Subscript) ๊ตฌํ˜„ ๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ ์‹œ์˜ ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปฌ๋ ‰์…˜ ๋˜๋Š” ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฒ„๋กœ๋”ฉ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์˜ˆ์‹œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  21. Swift์—์„œ์˜ ๋น„๋™๊ธฐ ์ด๋ฏธ์ง€ ๋กœ๋”ฉ๊ณผ ์บ์‹ฑ์„ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ์‹œ ์„ฑ๋Šฅ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ์ด๋ฏธ์ง€๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋กœ๋”ฉํ•˜๊ณ  ์บ์‹ฑํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  22. Swift์˜ ์ปค์Šคํ…€ ์—ฐ์‚ฐ์ž(Custom Operator)๋ฅผ ์ •์˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ปค์Šคํ…€ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ด์ ๊ณผ ์ž ์žฌ์  ์œ„ํ—˜์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ปค์Šคํ…€ ์—ฐ์‚ฐ์ž์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์€ ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

Objective-C: Basic understanding, primarily for legacy code.

  1. Objective-C๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ „์— ์ž‘์„ฑ๋œ iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ ์ง€๋ณด์ˆ˜ํ•  ๋•Œ ์–ด๋–ค ์ฃผ์š” ๊ณผ์ œ์— ์ง๋ฉดํ–ˆ์—ˆ๋‚˜์š”?
    • ํŠน์ • ๊ณผ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ์ „๋žต์ด๋‚˜ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  2. Objective-C์™€ Swift์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”, ๊ทธ๋ฆฌ๊ณ  ์ด ์ฐจ์ด๊ฐ€ ํ”„๋กœ์ ํŠธ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ณด์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์ฐจ์ด์ ์ด ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ผ์นœ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
  3. Objective-C ์ฝ”๋“œ์™€ Swift ์ฝ”๋“œ๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฒช์—ˆ๋˜ ์ฃผ์š” ๋„์ „ ๊ณผ์ œ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ์ด ๋„์ „์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๊ธฐ์ˆ ์ด๋‚˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
  4. Objective-C์—์„œ ๋ฉ”์‹œ์ง€ ์ „์†ก(message sending)์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”? ์ด ๊ฐœ๋…์ด Objective-C์˜ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€ ๋ง์”€ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  5. Objective-C์˜ ์นดํ…Œ๊ณ ๋ฆฌ(categories)์™€ ์ต์Šคํ…์…˜(extensions)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”, ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์„ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • ์นดํ…Œ๊ณ ๋ฆฌ๋‚˜ ์ต์Šคํ…์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ฉด ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  6. Objective-C์˜ ๋Ÿฐํƒ€์ž„(runtime) ์‹œ์Šคํ…œ์€ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋ฉฐ, ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ Objective-C์˜ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋กœ ์—ฌ๊ฒจ์ง€๋‚˜์š”?
    • ๋Ÿฐํƒ€์ž„์„ ํ™œ์šฉํ•œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ฉด, ๊ทธ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  7. Objective-C์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• ์ค‘ ์ž๋™ ์ฐธ์กฐ ์นด์šดํŒ…(ARC)๊ณผ ๋งค๋‰ด์–ผ ๋ฆฌํ…Œ์ธ ์นด์šดํŠธ(MRC)์˜ ์ฐจ์ด์ ๊ณผ ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ARC๋ฅผ ๋„์ž…ํ•˜๊ธฐ ์ „๊ณผ ํ›„์˜ ๊ฒฝํ—˜์—์„œ ๋Š๋‚€ ์ฐจ์ด์ ์„ ๋ง์”€ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?

Development Environment and Tools

Xcode IDE: Interface Builder, debugging, profiling.

  1. Xcode์˜ ์ธํ„ฐํŽ˜์ด์Šค ๋นŒ๋”๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ธํ„ฐํŽ˜์ด์Šค ๋นŒ๋”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์™€ ์ฝ”๋“œ๋กœ UI๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ, ์–ด๋–ค ์ƒํ™ฉ์—์„œ ๊ฐ๊ฐ ๋” ์œ ๋ฆฌํ• ๊นŒ์š”?
  2. Xcode์—์„œ ๋””๋ฒ„๊น…์„ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์š” ๋„๊ตฌ์™€ ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  3. Xcode์˜ ๋””๋ฒ„๊น… ์ค‘์— LLDB ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” LLDB ๋ช…๋ น์–ด์™€ ๊ทธ ์‚ฌ์šฉ ์˜ˆ์‹œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  4. Xcode์˜ ์ธํ„ฐํŽ˜์ด์Šค ๋นŒ๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค ๋ฐ ํ™”๋ฉด ํฌ๊ธฐ์— ๋Œ€์‘ํ•˜๋Š” UI๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ด๋ฅผ ์œ„ํ•ด ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ์ด๋‚˜ ๊ธฐ์ˆ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  5. Xcode์˜ ๋””๋ฒ„๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๋ฐ ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๋ฌธ์ œ๋ฅผ ์ง„๋‹จํ•  ๋•Œ ์œ ์šฉํ•œ Xcode์˜ ํŠน์ • ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  6. ์ธํ„ฐํŽ˜์ด์Šค ๋นŒ๋”์—์„œ Auto Layout์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ์‘ํ˜• UI๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Auto Layout์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํŒ์ด๋‚˜ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  7. Xcode์—์„œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ(Unit Testing)์™€ UI ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์–ด๋–ค ๋„๊ตฌ๋‚˜ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
  8. Xcode์˜ Asset Catalog๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Asset Catalog๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  9. Xcode์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ๊ณผ ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Xcode ๋‚ด์—์„œ ํšจ์œจ์ ์ธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Version Control: Git.

  1. Git์—์„œ ๋ธŒ๋žœ์น˜(branch)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ๋œ ๋ชฉ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ”„๋กœ์ ํŠธ์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  2. Git์—์„œ ๋ณ‘ํ•ฉ(merge)๊ณผ ๋ฆฌ๋ฒ ์ด์Šค(rebase)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ด๋ฉฐ, ๊ฐ๊ฐ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ ํ•ฉํ•œ๊ฐ€์š”?
    • ๋ณ‘ํ•ฉ๊ณผ ๋ฆฌ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  3. Git์—์„œ ์ถฉ๋Œ(conflict)์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํ•ด๊ฒฐํ•˜๋Š” ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ถฉ๋Œ์„ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•œ ์ข‹์€ ์ž‘์—… ๋ฐฉ์‹์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  4. Git์˜ 'stash' ๊ธฐ๋Šฅ์€ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์œ ์šฉํ•˜๋ฉฐ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€๊ฐ€์š”?
    • Stash ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  5. Git์—์„œ 'cherry-pick'์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์™€ ๊ทธ ๋ชฉ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Cherry-pick์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์™€ ๊ทธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  6. Git์˜ ํƒœ๊ทธ(tagging) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ค ์ƒํ™ฉ์—์„œ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋‚˜์š”?
    • ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•  ๋•Œ์˜ ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  7. Git์—์„œ ์›๊ฒฉ ์ €์žฅ์†Œ(remote repository)์™€ ๋กœ์ปฌ ์ €์žฅ์†Œ(local repository)๋ฅผ ๋™๊ธฐํ™”ํ•˜๋Š” ์ฃผ์š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ๋™๊ธฐํ™”ํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์™€ ๊ทธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  8. Git์˜ 'revert'์™€ 'reset' ๋ช…๋ น์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ด๋ฉฐ, ๊ฐ๊ฐ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉ๋˜๋‚˜์š”?
    • Revert์™€ Reset์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Dependency Management: Swift Package Manager (SPM), CocoaPods.

  1. Swift Package Manager์™€ CocoaPods์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ด ์ฐจ์ด์ ์ด ํ”„๋กœ์ ํŠธ ์„ ํƒ ์‹œ ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋‚˜์š”?
    • ํŠน์ • ์ƒํ™ฉ์—์„œ ํ•œ ๋„๊ตฌ๋ฅผ ๋‹ค๋ฅธ ๋„๊ตฌ๋ณด๋‹ค ์„ ํ˜ธํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  2. CocoaPods์„ ์‚ฌ์šฉํ•  ๋•Œ ๊ฒช์—ˆ๋˜ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”? ๊ทธ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
    • ์ด ๊ฒฝํ—˜์„ ํ†ตํ•ด CocoaPods์˜ ์–ด๋–ค ์ธก๋ฉด์„ ๋” ์ž˜ ์ดํ•ดํ•˜๊ฒŒ ๋˜์—ˆ๋‚˜์š”?
  3. Swift Package Manager๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์„ฑ๋Šฅ์ด๋‚˜ ํ˜ธํ™˜์„ฑ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์–ด๋ ค์›€์„ ๊ฒช์€ ์ ์ด ์žˆ๋‚˜์š”? ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜์…จ๋‚˜์š”?
    • ์ด ๊ณผ์ •์—์„œ SPM์˜ ์–ด๋–ค ์žฅ์ ์ด๋‚˜ ํ•œ๊ณ„๋ฅผ ๋ฐœ๊ฒฌํ•˜์…จ๋‚˜์š”?
  4. ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ CocoaPods ๋Œ€์‹  Swift Package Manager๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ๋‘ ๋„๊ตฌ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ์„๊นŒ์š”?
  5. ์˜์กด์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์„ ํƒํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ๊ณ ๋ คํ•˜๋Š” ์š”์†Œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ”„๋กœ์ ํŠธ์˜ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์ด ๊ธฐ์ค€์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
  6. CocoaPods์ด๋‚˜ Swift Package Manager๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ์ƒํ™ฉ์„ ์„ค๋ช…ํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ด ๊ฒฝํ—˜์„ ํ†ตํ•ด ์–ด๋–ค ์ค‘์š”ํ•œ ๊ตํ›ˆ์„ ์–ป์œผ์…จ๋‚˜์š”?
  7. Swift Package Manager์˜ ๋นŒ๋“œ ์‹œ์Šคํ…œ๊ณผ CocoaPods์˜ ๋นŒ๋“œ ์‹œ์Šคํ…œ์„ ๋น„๊ตํ•ด๋ณธ๋‹ค๋ฉด, ์–ด๋–ค ์ ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์ฐจ์ด๊ฐ€ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋‚˜์š”?
  8. ๊ฐœ์ธ์ ์œผ๋กœ ๊ฐ€์žฅ ์„ ํ˜ธํ•˜๋Š” ์˜์กด์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

Programming Paradigms

Object-Oriented Programming (OOP): Encapsulation, inheritance, polymorphism.

  1. ์บก์Šํ™”๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์•ผ ํ•  ์›์น™์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ด ์›์น™์„ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ์–ด๋–ค ์žฅ์ ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
      • ์ด๋Ÿฌํ•œ ์žฅ์ ์ด ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ ์–ด๋–ป๊ฒŒ ์œ ์šฉํ•˜๊ฒŒ ์ž‘์šฉํ–ˆ๋Š”์ง€ ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค ์ˆ˜ ์žˆ๋‚˜์š”?
  2. ์ƒ์†์„ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ๋œ ์ด์œ ์™€ ๊ทธ๊ฒƒ์ด ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ์— ์–ด๋–ป๊ฒŒ ๊ธฐ์—ฌํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ƒ์†์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ ์€ ๋ฌด์—‡์ด๋ฉฐ, ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
      • ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€์•ˆ์ ์ธ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋ฉด ๋ฌด์—‡์ธ๊ฐ€์š”?
  3. ๋‹คํ˜•์„ฑ์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์žˆ์–ด์„œ ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ๋‹คํ˜•์„ฑ์„ ํ™œ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ ์‹ค์ œ ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
      • ์ด ์‚ฌ๋ก€์—์„œ ๋‹คํ˜•์„ฑ์ด ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
  4. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์บก์Šํ™”, ์ƒ์†, ๋‹คํ˜•์„ฑ์ด ์„œ๋กœ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์˜ ํšจ์œจ์„ฑ์„ ๋†’์ด๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ด ์„ธ ๊ฐ€์ง€ ์›์น™์ด ์ƒ์ถฉ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์‹œ๋‚˜์š”?
      • ์ƒ์ถฉ๋˜๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  5. ์ƒ์†๊ณผ ๋‹คํ˜•์„ฑ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋‚˜์š”?
    • ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์›Œ์งˆ ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์„ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
      • ์ด ์ ‘๊ทผ ๋ฐฉ์‹์ด ์‹ค์ œ๋กœ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ฑฐ๋‚˜ ์˜ˆ๋ฐฉํ–ˆ๋Š”์ง€ ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ก€๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  6. ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ์›์น™(SOLID ๋“ฑ) ์ค‘ ์บก์Šํ™”, ์ƒ์†, ๋‹คํ˜•์„ฑ๊ณผ ๊ด€๋ จํ•˜์—ฌ ํŠนํžˆ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ์›์น™์€ ๋ฌด์—‡์ด๋ฉฐ, ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ด ์›์น™์„ ๋”ฐ๋ฅด์ง€ ์•Š์•˜์„ ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
      • ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ ์ด ์›์น™์„ ์ ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”?

Functional Programming (FP): First-class functions, immutability, pure functions.

  1. ์ผ๊ธ‰ ํ•จ์ˆ˜์˜ ๊ฐœ๋…์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ ์šฉํ•  ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ฃผ์š” ์ด์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์ด์ ์ด ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ ์–ด๋–ป๊ฒŒ ํ™œ์šฉ๋˜์—ˆ๋‚˜์š”?
      • ํ”„๋กœ์ ํŠธ์—์„œ ์ผ๊ธ‰ ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•œ ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค ์ˆ˜ ์žˆ๋‚˜์š”?
  2. ๋ถˆ๋ณ€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ํ”„๋กœ๊ทธ๋žจ์˜ ์‹ ๋ขฐ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์— ์–ด๋–ป๊ฒŒ ๊ธฐ์—ฌํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ๋ถˆ๋ณ€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
      • ์ด ๊ธฐ๋ฒ•์ด ์‹ค์ œ ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ์ด๋‚˜ ์„ฑ๋Šฅ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
  3. ์ˆœ์ˆ˜ ํ•จ์ˆ˜์˜ ๊ฐœ๋…์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ˆœ์ˆ˜ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ๋ถ€์ž‘์šฉ(side effects)์„ ์–ด๋–ป๊ฒŒ ์ œ์–ดํ–ˆ๋‚˜์š”?
      • ์ˆœ์ˆ˜ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์–ด๋–ค ์žฅ์ ์„ ๊ฒฝํ—˜ํ–ˆ๋‚˜์š”?
  4. ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ•ต์‹ฌ ๊ฐœ๋…์ธ ์ผ๊ธ‰ ํ•จ์ˆ˜, ๋ถˆ๋ณ€์„ฑ, ์ˆœ์ˆ˜ ํ•จ์ˆ˜๊ฐ€ ์„œ๋กœ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์˜ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๊ฐœ๋…๋“ค์ด ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์–ด๋ ค์›€์€ ๋ฌด์—‡์ด๋ฉฐ, ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜์‹œ๋‚˜์š”?
      • ์–ด๋ ค์›€์„ ๊ทน๋ณตํ•˜๋Š” ๊ณผ์ •์—์„œ ์–ป์€ ๊ตํ›ˆ์ด ์žˆ๋‚˜์š”?
  5. ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์ „ํ†ต์ ์ธ ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ, ์–ด๋–ค ์ƒํ™ฉ์—์„œ ๋” ํšจ๊ณผ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”?
      • ๊ทธ ๊ฒฝํ—˜์—์„œ ์–ด๋–ค ํŠน์ •ํ•œ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…์ด ํŠนํžˆ ์œ ์šฉํ–ˆ๋‚˜์š”?
  6. ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์‹œ๋‚˜์š”?
    • ํŠนํžˆ ๋ถˆ๋ณ€์„ฑ์ด๋‚˜ ์ˆœ์ˆ˜ ํ•จ์ˆ˜์˜ ์‚ฌ์šฉ์ด ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ๋Œ€์ฒ˜ํ•˜์‹œ๋‚˜์š”?
      • ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ๊ธฐ๋ฒ•์ด๋‚˜ ํŒจํ„ด์ด ์žˆ๋‚˜์š”?

Protocol-Oriented Programming (POP): Leveraging protocols in Swift, protocol extensions.

  1. ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(POP)์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ด๋–ป๊ฒŒ ์•ฑ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
    • ๊ตฌ์ฒด์ ์ธ ์˜ˆ์‹œ๋กœ ์–ด๋–ค ์ƒํ™ฉ์—์„œ POP๊ฐ€ ์œ ์šฉํ•œ์ง€ ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?
  2. Swift์˜ ํ”„๋กœํ† ์ฝœ๊ณผ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ„์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ด๋Ÿฌํ•œ ์ฐจ์ด์ ์ด ์‹ค์ œ ํ”„๋กœ์ ํŠธ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋‚˜์š”?
  3. ํ”„๋กœํ† ์ฝœ ํ™•์žฅ(Protocol Extensions)์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ”„๋กœํ† ์ฝœ ํ™•์žฅ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  4. Swift์—์„œ POP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ์„ ์–ด๋–ป๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ฃผ๋กœ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœํ† ์ฝœ์„ ์„ค๊ณ„ํ•˜๋‚˜์š”?
  5. ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋‹คํ˜•์„ฑ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ทธ ํšจ๊ณผ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • POP๋ฅผ ์ด์šฉํ•œ ๋‹คํ˜•์„ฑ์ด ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ์ƒ์†๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์–ด๋–ค ์žฅ์ ์„ ๊ฐ€์ง€๋‚˜์š”?
  6. ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜์กด์„ฑ ์—ญ์ „ ์›์น™(Dependency Inversion Principle)์„ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ค ๊ตฌ์ฒด์ ์ธ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‚˜์š”?
  7. ํ”„๋กœํ† ์ฝœ์„ ํ™œ์šฉํ•œ ์œ ๋‹› ํ…Œ์ŠคํŠธ์˜ ์žฅ์ ์€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
    • ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜์˜ ์œ ๋‹› ํ…Œ์ŠคํŠธ๊ฐ€ ์ „ํ†ต์ ์ธ ๋ฐฉ์‹๊ณผ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์ง€๋Š” ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  8. Swift์—์„œ ํ”„๋กœํ† ์ฝœ๊ณผ ์ œ๋„ค๋ฆญ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์–ด๋–ค ์ถ”๊ฐ€์ ์ธ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ œ๋„ค๋ฆญ๊ณผ ํ”„๋กœํ† ์ฝœ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ฃผ์˜์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  9. ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ณตํ†ต์ ์ธ ๋ฌธ์ œ์ ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Declarative Programming: Understanding the declarative nature of SwiftUI.

  1. SwiftUI์˜ ์„ ์–ธ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ ‘๊ทผ ๋ฐฉ์‹์ด ๊ธฐ์กด์˜ ๋ช…๋ นํ˜• UI ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€์š”?
    • ์ด๋Ÿฌํ•œ ์ฐจ์ด๊ฐ€ ์•ฑ์˜ UI ๊ฐœ๋ฐœ์— ์–ด๋–ค ์‹ค์งˆ์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น ๊นŒ์š”?
  2. SwiftUI์—์„œ ์„ ์–ธ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด UI์˜ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๊ตฌ์ฒด์ ์ธ ์˜ˆ์‹œ๋กœ ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?
  3. SwiftUI์˜ ์„ ์–ธ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์•ฑ์˜ ์ ‘๊ทผ์„ฑ(Accessibility) ํ–ฅ์ƒ์— ์–ด๋–ป๊ฒŒ ๊ธฐ์—ฌํ•˜๋‚˜์š”?
    • ์ ‘๊ทผ์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ์žˆ์–ด์„œ ์„ ์–ธ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€์ง€๋Š” ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

iOS Frameworks and APIs

User Interface: UIKit, SwiftUI.

  1. Auto Layout์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํ™”๋ฉด ํฌ๊ธฐ์™€ ๋ฐฉํ–ฅ์— ๋Œ€์‘ํ•˜๋Š” UI๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ, ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
    • ํŠน์ • ๋ณต์žกํ•œ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๊ฒช์—ˆ๋˜ ๋„์ „๊ณผ ๊ทธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  2. UIKit์—์„œ ์ปค์Šคํ…€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐœ๋ฐœํ•œ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ์ด ๊ณผ์ •์—์„œ ์ค‘์š”ํ•˜๊ฒŒ ๊ณ ๋ คํ–ˆ๋˜ ์š”์†Œ๋“ค์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ์ปค์Šคํ…€ ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ ์‹œ ์„ฑ๋Šฅ๊ณผ ์‚ฌ์šฉ์„ฑ ์ธก๋ฉด์—์„œ ์–ด๋–ค ์ ์„ ์ฃผ์˜ํ•˜์…จ๋‚˜์š”?
  3. ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” UITableView ๋˜๋Š” UICollectionView์˜ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ๊ตฌํ˜„ํ•œ ๊ตฌ์ฒด์ ์ธ ๊ธฐ์ˆ ์ด๋‚˜ ๊ธฐ๋ฒ•์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  4. ๋ฉ€ํ‹ฐ ํ„ฐ์น˜์™€ ์ œ์Šค์ฒ˜ ์ธ์‹์„ ์‚ฌ์šฉํ•œ ๋ณต์žกํ•œ ์ธํ„ฐ๋ž™์…˜์„ ๊ตฌํ˜„ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ๊ธฐ์ˆ ์  ๊ณผ์ œ๋ฅผ ๋งˆ์ฃผ์ณค๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์ธํ„ฐ๋ž™์…˜์„ ๊ตฌํ˜„ํ•˜๋ฉฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
  5. ๋‹ค๊ตญ์–ด ์ง€์›๊ณผ ๋‹ค์–‘ํ•œ ์ง€์—ญ ์„ค์ •์„ ๊ณ ๋ คํ•œ UI ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ์ด๋ฅผ ์œ„ํ•ด ์–ด๋–ค ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•˜์…จ๋‚˜์š”?
    • ๋‹ค๊ตญ์–ด ๋ฐ ์ง€์—ญ ์„ค์ •์„ ๊ณ ๋ คํ•  ๋•Œ ๊ฒช์—ˆ๋˜ ์ฃผ์š” ๋„์ „๊ณผ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  6. ์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ์‹œ๊ฐ์  ํšจ๊ณผ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚จ ์‚ฌ๋ก€๋ฅผ ๊ณต์œ ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ์„ฑ๋Šฅ์ƒ์˜ ๊ณ ๋ ค์‚ฌํ•ญ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  7. UIViewController์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ํ™œ์šฉํ•œ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋‚˜ ์ƒํƒœ ๋ณ€ํ™” ์ฒ˜๋ฆฌ ๊ฒฝํ—˜์„ ๋ง์”€ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ํŠน์ • ์ƒ๋ช…์ฃผ๊ธฐ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
  8. ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ UI ์ปดํฌ๋„ŒํŠธ์˜ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ๋ชจ๋“ˆํ™”๋ฅผ ์œ„ํ•ด ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์ „๋žต์„ ํ†ตํ•ด ์–ด๋–ค ์ด์ ์„ ์–ป์—ˆ๋‚˜์š”? ์–ด๋–ค ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‚˜์š”?
  9. ์•ฑ์˜ ์ ‘๊ทผ์„ฑ(Accessibility) ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด UIKit์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜์…จ๋‚˜์š”?
    • ์ ‘๊ทผ์„ฑ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌํ˜„ํ•œ ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋Šฅ์ด๋‚˜ ๊ธฐ์ˆ ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  10. ๋‹คํฌ ๋ชจ๋“œ ์ง€์›์„ ์œ„ํ•ด ๊ธฐ์กด์˜ UIKit ๊ธฐ๋ฐ˜ UI๋ฅผ ์–ด๋–ป๊ฒŒ ์ˆ˜์ •ํ•˜์…จ๋‚˜์š”?
    • ๋‹คํฌ ๋ชจ๋“œ ์ ์šฉ ๊ณผ์ •์—์„œ ์–ด๋–ค ๋””์ž์ธ ๋ฐ ๊ธฐ์ˆ ์  ๊ณ ๋ ค์‚ฌํ•ญ์ด ์žˆ์—ˆ๋‚˜์š”?
  11. ๋™์  ํฐํŠธ ํฌ๊ธฐ ์กฐ์ •๊ณผ ๊ฐ™์€ Dynamic Type์„ ๊ตฌํ˜„ํ•˜์—ฌ ์•ฑ์˜ ์ ‘๊ทผ์„ฑ์„ ๊ฐœ์„ ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”?
    • ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉฐ ๊ณ ๋ คํ•ด์•ผ ํ–ˆ๋˜ UI/UX ์ธก๋ฉด์˜ ์ฃผ์š” ์‚ฌํ•ญ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  12. ํ™”๋ฉด ๋ฐฉํ–ฅ ๋ณ€๊ฒฝ(๊ฐ€๋กœ/์„ธ๋กœ ๋ชจ๋“œ)์— ๋”ฐ๋ฅธ UI ๋ ˆ์ด์•„์›ƒ ๋ณ€ํ™”๋ฅผ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜์…จ๋‚˜์š”?
    • ๊ฐ€๋กœ/์„ธ๋กœ ๋ชจ๋“œ ์ „ํ™˜ ์‹œ UI๊ฐ€ ๊ฒช๋Š” ์ฃผ์š” ๋ฌธ์ œ๋“ค์€ ๋ฌด์—‡์ด์—ˆ๊ณ , ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
  13. ๋„คํŠธ์›Œํฌ ์ƒํƒœ๋‚˜ ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ์— ๋”ฐ๋ฅธ UI ๋ณ€ํ™”๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ ์ค‘์—๋Š” ์–ด๋–ค UI ์š”์†Œ๋ฅผ ํ‘œ์‹œํ•˜์…จ๋‚˜์š”?
  14. ๋‹ค์–‘ํ•œ ํ™”๋ฉด ํฌ๊ธฐ์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด Size Classes๋ฅผ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜์…จ๋‚˜์š”?
    • Size Classes๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ ๊ฐ€์žฅ ๋ณต์žกํ•œ ๋ ˆ์ด์•„์›ƒ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  15. UIKit์—์„œ ๋น„๋™๊ธฐ UI ์—…๋ฐ์ดํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๋น„๋™๊ธฐ ์ž‘์—… ์ค‘ UI ์—…๋ฐ์ดํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ๊ฒช์—ˆ๋˜ ์–ด๋ ค์›€๊ณผ ๊ทธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  16. ์ปค์Šคํ…€ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ธํ„ฐ๋ž™์…˜์„ ๊ฐ•ํ™”ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ค ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌํ˜„ํ•˜์…จ๊ณ , ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ๊ธฐ์ˆ ์  ๊ณ ๋ ค์‚ฌํ•ญ์ด ์žˆ์—ˆ๋‚˜์š”?
  17. ๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค์˜ ํ™”๋ฉด ํ•ด์ƒ๋„์™€ ๋ฐ€๋„๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์ด๋ฏธ์ง€์™€ ๋ฏธ๋””์–ด ์ž์‚ฐ์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜์…จ๋‚˜์š”?
    • ์ด๋ฏธ์ง€ ํ•ด์ƒ๋„์™€ ํŒŒ์ผ ํฌ๊ธฐ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ๊ธฐ์ˆ ์ด๋‚˜ ๋ฐฉ๋ฒ•๋ก ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  18. ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ฐ ํ†ต์‹ ์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜์…จ๋‚˜์š”?
    • ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ํŒจํ„ด์ด๋‚˜ ๊ธฐ๋ฒ•์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  19. ๋Œ€์šฉ๋Ÿ‰ ์ปจํ…์ธ ๊ฐ€ ํฌํ•จ๋œ UIScrollView ๋˜๋Š” ๊ทธ ํ•˜์œ„ ํด๋ž˜์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์Šคํฌ๋กค ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์ ์šฉํ•œ ๊ธฐ์ˆ ์ด๋‚˜ ์ „๋žต์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  20. ์Šคํ† ๋ฆฌ๋ณด๋“œ์™€ XIBs๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ UI๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฒช์—ˆ๋˜ ์ฃผ์š” ๋„์ „๊ณผ ๊ทธ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ์Šคํ† ๋ฆฌ๋ณด๋“œ์™€ XIBs์˜ ์žฅ๋‹จ์ ์€ ์–ด๋–ป๊ฒŒ ํ‰๊ฐ€ํ•˜์‹œ๋‚˜์š”?
  21. UI ํ…Œ์ŠคํŠธ์™€ ๋””๋ฒ„๊น…์„ ์œ„ํ•ด ์–ด๋–ค ๋„๊ตฌ๋‚˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
    • UI ๋ฒ„๊ทธ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฐ€์žฅ ํšจ๊ณผ์ ์ด์—ˆ๋˜ ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  22. ํ‚ค๋ณด๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋  ๋•Œ UI ์š”์†Œ๋“ค์˜ ๋ฐฐ์น˜๋ฅผ ์–ด๋–ป๊ฒŒ ์กฐ์ •ํ•˜์…จ๋‚˜์š”?
    • ํ‚ค๋ณด๋“œ๋กœ ์ธํ•ด ๊ฐ€๋ ค์ง€๋Š” UI ์š”์†Œ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  23. UIKit๊ณผ SwiftUI๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์—์„œ, ๊ฐ๊ฐ์˜ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ํŠน์ • ํ”„๋กœ์ ํŠธ์—์„œ UIKit ๋˜๋Š” SwiftUI๋ฅผ ์„ ํƒํ•œ ๊ฒฐ์ •์ ์ธ ์ด์œ ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  24. SwiftUI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ๋„์ „์„ ๊ฒช์—ˆ๋‚˜์š”?
    • SwiftUI์˜ ์–ด๋–ค ํŠน์„ฑ์ด๋‚˜ ๊ธฐ๋Šฅ์ด ๊ทธ ๋„์ „์„ ๊ทน๋ณตํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
  25. UIKit๊ณผ SwiftUI๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•ฑ์„ ๊ฐœ๋ฐœํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์—์„œ ์–ด๋–ค ์ด์ ์„ ๋ฐœ๊ฒฌํ•˜์…จ๋‚˜์š”?
    • ๋‘ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•ฉํ•  ๋•Œ ์–ด๋–ค ๊ธฐ์ˆ ์  ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‚˜์š”?
  26. SwiftUI์˜ ์„ ์–ธ์  UI ์ ‘๊ทผ ๋ฐฉ์‹์ด ์•ฑ์˜ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
    • ์„ ์–ธ์  UI๋ฅผ ํ†ตํ•ด ์–ด๋–ค ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ฑฐ๋‚˜ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‚˜์š”?
  27. SwiftUI์˜ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๋ฐ ์ƒํƒœ ๊ด€๋ฆฌ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๊ณ„์‹œ๋‚˜์š”? ์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‚˜์š”?
    • ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ๊ณผ ์ƒํƒœ ๊ด€๋ฆฌ์˜ ๊ตฌํ˜„์—์„œ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ๋˜ ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ฉด, ๊ทธ ์ƒํ™ฉ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  28. UIKit๊ณผ SwiftUI ์ค‘ ์–ด๋Š ๊ฒƒ์ด ์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ํŠธ๋žœ์ง€์…˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ๋” ์œ ๋ฆฌํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”? ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๊ตฌ์ฒด์ ์ธ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋˜๋Š” ํŠธ๋žœ์ง€์…˜ ๊ตฌํ˜„ ์‚ฌ๋ก€๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  29. SwiftUI์˜ ViewModifier๋ฅผ ์‚ฌ์šฉํ•œ ์ปค์Šคํ…€ ๋ทฐ ๊ตฌํ˜„ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ค ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜์…จ๋‚˜์š”?
    • ViewModifier๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์„ฑ๋Šฅ ๊ด€๋ จ ์‚ฌํ•ญ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  30. UIKit ๊ธฐ๋ฐ˜์˜ ๊ธฐ์กด ํ”„๋กœ์ ํŠธ๋ฅผ SwiftUI๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
    • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ณผ์ •์—์„œ ๋งˆ์ฃผ์นœ ์ฃผ์š” ์–ด๋ ค์›€๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  31. SwiftUI์˜ State์™€ Binding์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜์…จ๋‚˜์š”? ์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ค ์‚ฌ์šฉ์ž ์ธํ„ฐ๋ž™์…˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‚˜์š”?
  32. SwiftUI์—์„œ List ๋˜๋Š” ScrollView๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์ทจํ•œ ์กฐ์น˜๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  33. SwiftUI์˜ ViewModifier๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปค์Šคํ…€ ๋ทฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์ถ•ํ•˜์…จ๋‚˜์š”? ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์ด ๊ธฐ์กด์˜ ๋ทฐ ๊ตฌ์ถ• ๋ฐฉ์‹์— ๋น„ํ•ด ์–ด๋–ค ์ด์ ์„ ์ œ๊ณตํ–ˆ๋‚˜์š”?
  34. SwiftUI์˜ EnvironmentObject๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ ์ „๋ฐ˜์— ๊ฑธ์ณ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”? ์ด ๋ฐฉ๋ฒ•์ด ์•ฑ์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
  35. SwiftUI์™€ Combine์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์ด ์•ฑ์˜ ๋ฐ˜์‘์„ฑ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
  36. SwiftUI์˜ Previews ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค ๋ฐ ์ƒํƒœ์—์„œ UI๋ฅผ ์–ด๋–ป๊ฒŒ ํ…Œ์ŠคํŠธํ•˜์…จ๋‚˜์š”? ์ด ๊ธฐ๋Šฅ์ด UI ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ์–ด๋–ค ์ด์ ์„ ์ œ๊ณตํ–ˆ๋‚˜์š”?
  37. SwiftUI์˜ .onAppear ๋ฐ .onDisappear ์ˆ˜์ •์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ทฐ์˜ ์ƒ๋ช… ์ฃผ๊ธฐ ์ด๋ฒคํŠธ๋ฅผ ๊ด€๋ฆฌํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”? ์ด๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ–ˆ๋˜ ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  38. SwiftUI์˜ GeometryReader๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ ์ธ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌํ˜„ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ์ด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–ด๋–ค ์œ ํ˜•์˜ UI ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‚˜์š”?
  39. SwiftUI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๋ฐ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜์…จ๋‚˜์š”? ํŠนํžˆ, ์—ฌ๋Ÿฌ ๋ทฐ์— ๊ฑธ์ณ ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?

Data Management: Core Data, iCloud integration, UserDefaults, Keychain.

  1. Core Data๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
    • ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ํŠน์ • ์ฝ”์–ด ๋ฐ์ดํ„ฐ API๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์ „๋žต์„ ์ ์šฉํ•œ ํ›„ ์–ด๋–ค ๊ฐœ์„ ์ ์„ ๊ด€์ฐฐํ•˜์…จ๋‚˜์š”?
  2. iCloud์™€ Core Data์˜ ํ†ตํ•ฉ์„ ๊ตฌํ˜„ํ•  ๋•Œ ์–ด๋–ค ๋„์ „ ๊ณผ์ œ์— ์ง๋ฉดํ–ˆ๊ณ , ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
    • iCloud ๋™๊ธฐํ™” ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜์…จ๋‚˜์š”?
    • iCloud ํ†ตํ•ฉ์„ ํ†ตํ•ด ์–ป์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ƒ์˜ ์ด์ ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  3. UserDefaults๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์„ค์ •์„ ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ, ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ UserDefaults์— ์ €์žฅํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜์…จ๋‚˜์š”?
    • UserDefaults๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ณด์•ˆ์ƒ์˜ ๊ณ ๋ ค์‚ฌํ•ญ์€ ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ์—ˆ๋‚˜์š”?
  4. ์•ฑ ๋‚ด์—์„œ ์‚ฌ์šฉ์ž์˜ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด Keychain์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜์…จ๋‚˜์š”?
    • Keychain์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•œ ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  5. Core Data์™€ UserDefaults ๊ฐ„์— ์–ด๋–ค ๊ฒฝ์šฐ์— ๊ฐ๊ฐ์„ ์„ ํƒํ•˜์‹œ๋‚˜์š”? ๊ทธ ๊ธฐ์ค€์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํŠน์ • ์ƒํ™ฉ์—์„œ Core Data ๋Œ€์‹  UserDefaults๋ฅผ ์„ ํƒํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ฉด, ๊ทธ ์ด์œ ์™€ ๊ฒฐ๊ณผ๋Š” ์–ด๋– ํ–ˆ๋‚˜์š”?
  6. ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ฒ˜๋ฆฌํ•  ๋•Œ Core Data์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃจ์…จ๋‚˜์š”?
    • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•  ๋•Œ, ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
  7. ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ ํ™˜๊ฒฝ์—์„œ Core Data๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ์ค‘ Core Data์˜ ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  8. iCloud์™€์˜ ํ†ตํ•ฉ ๊ณผ์ •์—์„œ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ์˜ ๋ฐฑ์—… ๋ฐ ๋ณต์› ์ „๋žต์€ ์–ด๋–ป๊ฒŒ ์„ธ์šฐ์…จ๋‚˜์š”?
    • ์‚ฌ์šฉ์ž๊ฐ€ ์ƒˆ ๊ธฐ๊ธฐ๋กœ ์ „ํ™˜ํ–ˆ์„ ๋•Œ ๋ฐ์ดํ„ฐ ๋ณต์› ๊ณผ์ •์—์„œ ๋งˆ์ฃผ์นœ ์–ด๋ ค์›€๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?

Networking: URLSession, OAuth, API Integration.

  1. URLSession์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ๋„คํŠธ์›Œํ‚น ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ๋„์ „์„ ๊ฒช์—ˆ๊ณ , ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋‚˜์š”?
    • ์ด ๊ฒฝํ—˜์„ ํ†ตํ•ด URLSession์˜ ์–ด๋–ค ๊ธฐ๋Šฅ์ด ๊ฐ€์žฅ ์œ ์šฉํ•˜๋‹ค๊ณ  ๋Š๊ผˆ๋‚˜์š”?
  2. URLSession์„ ์‚ฌ์šฉํ•  ๋•Œ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์–ด๋–ค ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์„ ํƒํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋งˆ์ฃผ์ณค๋˜ ๊ฐ€์žฅ ํฐ ์–ด๋ ค์›€์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ์–ด๋ ค์›€์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ์ „๋žต์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  3. OAuth ์ธ์ฆ ๋ฐฉ์‹์„ ๊ตฌํ˜„ํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ณด์•ˆ ์ธก๋ฉด์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • OAuth๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๊ฒช์—ˆ๋˜ ๊ฐ€์žฅ ํฐ ๋ณด์•ˆ ๊ด€๋ จ ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  4. API ํ†ตํ•ฉ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ€์žฅ ์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”? ๊ทธ ์ƒํ™ฉ์„ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ–ˆ๋‚˜์š”?
    • ์ด ๊ณผ์ •์—์„œ ๋ฐฐ์šด ๊ตํ›ˆ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  5. URLSession๊ณผ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํ‚น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(์˜ˆ: Alamofire)๋ฅผ ๋น„๊ตํ•œ๋‹ค๋ฉด, ์–ด๋–ค ๊ฒฝ์šฐ์— ๊ฐ๊ฐ์„ ์„ ํ˜ธํ•˜์‹œ๋‚˜์š”?
    • ์„ ํ˜ธํ•˜๋Š” ์ด์œ ์—๋Š” ์–ด๋–ค ๊ธฐ์ˆ ์  ๊ณ ๋ ค์‚ฌํ•ญ์ด ํฌํ•จ๋˜๋‚˜์š”?
  6. OAuth๋ฅผ ์‚ฌ์šฉํ•œ ์ธ์ฆ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX) ์š”์†Œ๋Š” ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
  7. ๋‹ค์–‘ํ•œ API๋ฅผ ํ†ตํ•ฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฐ์ดํ„ฐ ํ˜•์‹์˜ ๋ถˆ์ผ์น˜๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜์…จ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋ถˆ์ผ์น˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ๊ธฐ์ˆ ์  ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ด ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ๋ฌธ์ œ์ ์€ ๋ฌด์—‡์ด๋ฉฐ, ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ์˜ˆ๋ฐฉํ•˜๊ฑฐ๋‚˜ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
  8. Alamofire์™€ ๊ฐ™์€ ์™ธ๋ถ€ ๋„คํŠธ์›Œํ‚น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์„ ๋•Œ์˜ ์ฃผ๋œ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
  9. ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ „๋žต์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX) ์ธก๋ฉด์—์„œ ๊ณ ๋ คํ•˜๋Š” ์š”์†Œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ณผ์ •์—์„œ UX๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ทจํ•œ ์กฐ์น˜๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  10. URLSession์„ ์‚ฌ์šฉํ•œ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃจ์…จ๋‚˜์š”?
    • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์€ ์–ด๋–ป๊ฒŒ ๊ฒฐ์ •ํ•˜์…จ๋‚˜์š”?
    • ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์ ์šฉํ•œ ๊ธฐ์ˆ ์  ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Concurrency: Grand Central Dispatch (GCD), Operation Queues, Swift Concurrency.

  1. Grand Central Dispatch์™€ Operation Queues๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์–ด๋–ค ๊ฒฝ์šฐ์— ๊ฐ๊ฐ์„ ์„ ํƒํ•˜์‹œ๋‚˜์š”? ๊ทธ ์„ ํƒ์˜ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ด ๋‘ ๋ฐฉ์‹์„ ์„ ํƒํ•  ๋•Œ ๊ณ ๋ คํ•˜๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์š”์†Œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  2. Swift Concurrency์˜ ๋„์ž…์ด ๊ธฐ์กด์˜ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ ‘๊ทผ ๋ฐฉ์‹์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ด ๋ณ€ํ™”๊ฐ€ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์— ์–ด๋–ป๊ฒŒ ์ ์šฉ๋˜์—ˆ๋‚˜์š”?
  3. ๋ณต์žกํ•œ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ํ™˜๊ฒฝ์—์„œ ๋ฐœ์ƒํ•œ ๊ฐ€์žฅ ๊ธฐ์–ต์— ๋‚จ๋Š” ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”? ๊ทธ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
  4. GCD์™€ Operation Queues ์ค‘ ์–ด๋Š ๊ฒƒ์ด ๋” ์„ฑ๋Šฅ์ ์œผ๋กœ ์šฐ์ˆ˜ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”? ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํŠน์ • ์ƒํ™ฉ์—์„œ ์ด๋“ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํ˜ธํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋‚˜์š”?
  5. Swift Concurrency๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ์ธก๋ฉด์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Swift Concurrency๋ฅผ ๋„์ž…ํ•จ์œผ๋กœ์จ ์–ด๋–ค ํ˜œํƒ์„ ๊ฒฝํ—˜ํ•˜์…จ๋‚˜์š”?
  6. ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ์ ๋“ค์„ ์–ด๋–ป๊ฒŒ ์˜ˆ๋ฐฉํ•˜๊ณ  ํ•ด๊ฒฐํ•˜์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ๊ตฌ์ฒด์ ์ธ ๊ธฐ์ˆ  ๋˜๋Š” ํŒจํ„ด์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  7. GCD์˜ Dispatch Queues๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ์–ด๋–ค ๊ฒฝ์šฐ์— Serial๊ณผ Concurrent Queue๋ฅผ ๊ฐ๊ฐ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ๋•Œ ์–ด๋–ค ์š”์†Œ๋ฅผ ๊ณ ๋ คํ•˜์‹œ๋‚˜์š”?
  8. Operation Queues๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ์˜์กด์„ฑ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง„ ์ž‘์—…๋“ค์„ ๊ด€๋ฆฌํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
  9. Swift์˜ async/await ํŒจํ„ด์„ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์—์„œ, ๊ธฐ์กด์˜ GCD ๋˜๋Š” Operation Queues ๋ฐฉ์‹๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์–ด๋–ค ์žฅ๋‹จ์ ์„ ๊ฒฝํ—˜ํ•˜์…จ๋‚˜์š”?
    • ์ด ํŒจํ„ด์„ ์ ์šฉํ•จ์œผ๋กœ์จ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์ด๋‚˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ์— ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋‚˜์š”?
  10. GCD์˜ DispatchQueue๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๊ฒช์€ ์„ฑ๋Šฅ์ƒ์˜ ๋ฌธ์ œ์™€ ๊ทธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  11. Operation๊ณผ Operation Queue๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ๋น„๋™๊ธฐ ์ž‘์—… ํ๋ฆ„์„ ์„ค๊ณ„ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ์„ค๊ณ„ ๊ฒฐ์ •์„ ๋‚ด๋ ธ๊ณ , ์™œ ๊ทธ๋ ‡๊ฒŒ ๊ฒฐ์ •ํ–ˆ๋‚˜์š”?
  12. Swift Concurrency์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ธ Task Groups์„ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
    • Task Groups๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  13. GCD๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ ˆ์ด์Šค(data race) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ์ƒํ™ฉ์„ ์„ค๋ช…ํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๋ฐ์ดํ„ฐ ๋ ˆ์ด์Šค๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ๊ตฌ์ฒด์ ์ธ ๊ธฐ์ˆ ์ด๋‚˜ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  14. Swift Concurrency์—์„œ ์ œ๊ณตํ•˜๋Š” structured concurrency๊ฐ€ ๊ธฐ์กด์˜ ๋น„๊ตฌ์กฐํ™”๋œ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ ๋ฐฉ์‹๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์–ด๋–ค ์ด์ ์ด ์žˆ๋‚˜์š”?
  15. GCD์˜ dispatch barriers๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์‹œ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ์ƒํ™ฉ์—์„œ ์–ด๋–ป๊ฒŒ barriers๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
  16. Swift Concurrency์˜ actor ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒํƒœ ๊ด€๋ฆฌ ๋ฐ ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • actor ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๊ธฐ์กด ์ฝ”๋“œ์— ์–ด๋–ค ๋ณ€ํ™”๋ฅผ ์ฃผ์–ด์•ผ ํ–ˆ๋‚˜์š”?
  17. Operation Queues๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ทจ์†Œ ๊ฐ€๋Šฅํ•œ ์ž‘์—… ํ๋ฆ„์„ ๊ตฌํ˜„ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ์„ค๊ณ„ ๊ฒฐ์ •์ด ์ค‘์š”ํ–ˆ๋‚˜์š”?
  18. GCD๋ฅผ ์ด์šฉํ•˜์—ฌ ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋˜๋Š” ์ž‘์—…์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ฒ˜๋ฆฌํ•œ ๊ฒฝํ—˜์— ๋Œ€ํ•ด ๋ง์”€ํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… ์ค‘ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ง„ํ–‰ ์ƒํ™ฉ์„ ํ‘œ์‹œํ•˜์…จ๋‚˜์š”?
  19. Swift Concurrency๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์š”์ฒญ๊ณผ ๊ฐ™์€ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ์ด๋•Œ ์–ด๋–ค ํŒจํ„ด์ด๋‚˜ ์ „๋žต์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
  20. Swift Concurrency์˜ async/await์™€ traditional completion handlers๋ฅผ ๋น„๊ตํ•ด๋ณธ๋‹ค๋ฉด, ์–ด๋–ค ์ƒํ™ฉ์—์„œ ๊ฐ๊ฐ์„ ์„ ํ˜ธํ•˜์‹œ๋‚˜์š”?
  21. GCD๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•œ ๊ฒฝํ—˜์— ๋Œ€ํ•ด ๋ง์”€ํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”? ํŠนํžˆ, ์–ด๋–ค ์„ฑ๋Šฅ ์ธก์ • ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
  22. Swift Concurrency๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ์ฃผ์š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ด๋ฉฐ, ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
  23. GCD์˜ custom dispatch queue๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ์ƒํ™ฉ์—์„œ custom queue๊ฐ€ ์ œ๊ณตํ•œ ์ด์ ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  24. Operation Queues์˜ ์šฐ์„ ์ˆœ์œ„์™€ ์ข…์†์„ฑ์„ ํ™œ์šฉํ•˜์—ฌ ์ž‘์—… ์ˆœ์„œ๋ฅผ ์ œ์–ดํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ตฌ์ฒด์ ์ธ ์ƒํ™ฉ์„ ์„ค๋ช…ํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  25. GCD๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ž‘์—…์„ ์ตœ์ ํ™”ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
  26. Swift Concurrency์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ต์ฐฉ ์ƒํƒœ(deadlock)๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ์ƒํ™ฉ์„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
    • ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์š” ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  27. GCD์˜ group์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋น„๋™๊ธฐ ์ž‘์—…์„ ๋™๊ธฐํ™”ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ก€๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์ด ํ”„๋กœ์ ํŠธ์— ์–ด๋–ค ์ด์ ์„ ๊ฐ€์ ธ์™”๋‚˜์š”?

Combine Framework: For reactive programming.

  1. Combine Framework์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ตฌํ˜„ํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฐœ๋…์€ ๋ฌด์—‡์ด๋ฉฐ, ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ด ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ก€๋ฅผ ๋“ค์–ด์ค„ ์ˆ˜ ์žˆ๋‚˜์š”?
  2. Combine๊ณผ ๊ธฐ์กด์˜ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹(์˜ˆ: Callbacks, Promises)๊ณผ์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋‚˜์š”?
  3. Combine์—์„œ Publisher์™€ Subscriber์˜ ๊ด€๊ณ„๋ฅผ ์–ด๋–ป๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์žˆ๋‚˜์š”?
    • Publisher์™€ Subscriber ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ œ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?
  4. Combine์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ค„์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋‚˜์š”?
    • Combine์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ „๋žต์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?
  5. Combine์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ Operators์˜ ์‚ฌ์šฉ ์˜ˆ๋ฅผ ๋“ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ํŠน์ • Operator๋ฅผ ์„ ํƒํ•˜๋Š” ๊ธฐ์ค€์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  6. Combine์„ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํ‚น ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์—๋Ÿฌ ํ•ธ๋“ค๋ง์„ ๊ตฌํ˜„ํ•˜๋‚˜์š”?
    • ๋„คํŠธ์›Œํฌ ์š”์ฒญ์˜ ์„ฑ๊ณต๊ณผ ์‹คํŒจ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ์˜ˆ์‹œ๋ฅผ ์„ค๋ช…ํ•ด์ค„ ์ˆ˜ ์žˆ๋‚˜์š”?
  7. Combine์˜ backpressure ๊ฐœ๋…์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ค„ ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ backpressure๋ฅผ ๊ด€๋ฆฌํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”?
  8. SwiftUI์™€ Combine์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์–ด๋–ค ์ด์ ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋‚˜์š”?
  9. Combine์—์„œ์˜ ๊ณ ๊ธ‰ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ œ์‹œํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ์˜ˆ๋ฅผ ๋“ค๋ฉด, custom Publisher๋‚˜ Operator์˜ ๊ตฌํ˜„ ๋“ฑ์ด ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.
    • ์ด๋Ÿฌํ•œ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๊ฒช์—ˆ๋˜ ๋„์ „๊ณผ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด์ค„ ์ˆ˜ ์žˆ๋‚˜์š”?

Push Notifications: Integration and handling.

  • TBA

Architectural Patterns and Design Patterns

MVC: Model-View-Controller.

  1. MVC ํŒจํ„ด์—์„œ Model, View, Controller์˜ ๊ฐ๊ฐ์˜ ์—ญํ• ์€ ๋ฌด์—‡์ด๋ฉฐ, ์ด๋“ค์ด ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?
    • Model์˜ ๋ฐ์ดํ„ฐ ๋ณ€ํ™”๊ฐ€ View์— ์–ด๋–ป๊ฒŒ ๋ฐ˜์˜๋˜๋Š”์ง€ ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?
    • Controller๊ฐ€ Model๊ณผ View ์‚ฌ์ด์—์„œ ์–ด๋–ค ์ค‘๊ฐœ ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?
  2. MVC ํŒจํ„ด์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ด ํŒจํ„ด์˜ ์žฅ์ ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ํ”„๋กœ์ ํŠธ ์ƒํ™ฉ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • ๋‹จ์ ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ์•ˆ์€ ๋ฌด์—‡์ด ์žˆ์„๊นŒ์š”?
  3. MVC ํŒจํ„ด์„ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ–ˆ์„ ๋•Œ ๊ฒช์—ˆ๋˜ ์–ด๋ ค์›€์ด๋‚˜ ๋„์ „์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์–ด๋ ค์›€์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ํ•ด๊ฒฐ์ฑ…์„ ๋ชจ์ƒ‰ํ–ˆ๋‚˜์š”?
  4. ๋‹ค๋ฅธ ๋””์ž์ธ ํŒจํ„ด(์˜ˆ: MVP, MVVM)๊ณผ MVC๋ฅผ ๋น„๊ตํ•œ๋‹ค๋ฉด ์–ด๋–ค ์ฐจ์ด์ ๊ณผ ๊ฐ๊ฐ์˜ ์ ํ•ฉํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์žˆ์„๊นŒ์š”?
    • ํŠน์ • ์ƒํ™ฉ์—์„œ MVC ๋Œ€์‹  ๋‹ค๋ฅธ ํŒจํ„ด์„ ์„ ํƒํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ฉด ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  5. MVC ํŒจํ„ด์˜ 'View' ๋ถ€๋ถ„์—์„œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•  ๋•Œ, Model์ด๋‚˜ Controller์— ์–ด๋– ํ•œ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ์ด ์žˆ์„ ๋•Œ, ์ „์ฒด ์‹œ์Šคํ…œ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  6. ๋Œ€๊ทœ๋ชจ ํŒ€์—์„œ MVC ํŒจํ„ด์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ํ˜‘์—…์ƒ์˜ ๋ฌธ์ œ์ ๊ณผ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ์•ˆ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํŠนํžˆ View์™€ Model์ด ์„œ๋กœ ๊ฐ„์„ญํ•˜์ง€ ์•Š๋„๋ก ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?
  7. MVC ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ์œ ์ง€๋ณด์ˆ˜ ๋ฐ ํ™•์žฅ์„ฑ์— ๊ด€๋ จํ•œ ๋ฌธ์ œ์— ์–ด๋–ป๊ฒŒ ๋Œ€์ฒ˜ํ•˜์…จ๋‚˜์š”?
    • ํŠนํžˆ ํ™•์žฅ์„ฑ ์ธก๋ฉด์—์„œ MVC ํŒจํ„ด์˜ ํ•œ๊ณ„๋ฅผ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ๋‚˜์š”?

MVVM: Model-View-ViewModel.

  1. MVVM ์•„ํ‚คํ…์ฒ˜๋ฅผ iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ์šฉํ•  ๋•Œ ๊ฐ€์žฅ ํฐ ์ด์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • MVVM์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๊ฒช์—ˆ๋˜ ๊ตฌ์ฒด์ ์ธ ๊ฐœ์„  ์‚ฌ๋ก€๋ฅผ ํ•˜๋‚˜ ๋ง์”€ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  2. MVVM์„ ๋„์ž…ํ•˜๋ฉด์„œ MVC์™€ ๋น„๊ตํ–ˆ์„ ๋•Œ ๊ฒช์—ˆ๋˜ ์ฃผ์š”ํ•œ ๋„์ „ ๊ณผ์ œ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋„์ „์„ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜์…จ๋‚˜์š”?
  3. View์™€ ViewModel ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์žˆ์–ด์„œ ์„ ํ˜ธํ•˜๋Š” ๋ฐฉ์‹์ด๋‚˜ ๋„๊ตฌ๊ฐ€ ์žˆ๋‚˜์š”?
    • ๊ทธ ๋ฐฉ์‹์„ ์„ ํƒํ•œ ํŠน๋ณ„ํ•œ ์ด์œ ๊ฐ€ ์žˆ๋‚˜์š”?
  4. MVVM ์•„ํ‚คํ…์ฒ˜์—์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ UI ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋ถ„๋ฆฌ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์–ด๋–ค ๊ธ์ •์  ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
  5. MVVM ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์ด ์–ด๋–ป๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ๋‚˜์š”?
    • ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ViewModel์˜ ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  6. MVVM๊ณผ ๋‹ค๋ฅธ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด๋“ค(์˜ˆ: MVC, MVP)๊ณผ์˜ ๊ฒฐํ•ฉ ๋˜๋Š” ํ†ตํ•ฉ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹ ๊ฐ€์š”?
    • ๊ทธ๋Ÿฐ ๊ฒฐํ•ฉ์ด๋‚˜ ํ†ตํ•ฉ์„ ์‹œ๋„ํ•œ ์ด์œ ์™€ ๊ทธ ๊ณผ์ •์—์„œ์˜ ๊ฒฝํ—˜์„ ๋ง์”€ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  7. MVVM ์•„ํ‚คํ…์ฒ˜์—์„œ์˜ ViewModel์ด Model๊ณผ์˜ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋‚˜์š”?
    • ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ ๋“ค๊ณผ ๊ทธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  8. MVVM ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ View์™€ ViewModel ์‚ฌ์ด์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•˜์‹œ๋‚˜์š”?
    • ์ด ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ ๊ณผ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  9. MVVM ์•„ํ‚คํ…์ฒ˜ ์ ์šฉ ์‹œ, ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ์˜ ๋ชจ๋“ˆํ™”์™€ ์žฌ์‚ฌ์šฉ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ชจ๋“ˆํ™”์™€ ์žฌ์‚ฌ์šฉ์„ฑ์„ ์ฆ๊ฐ€์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ค ๊ธฐ์ˆ ์ด๋‚˜ ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•˜์…จ๋‚˜์š”?

Design Patterns: Singleton, Observer, Delegate, etc.

  • TBA

Testing and Debugging

Unit and UI Testing: Test case development, automated interface testing.

  1. iOS ์•ฑ ๊ฐœ๋ฐœ์—์„œ Unit Test์™€ UI Test์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ค ์ƒํ™ฉ์—์„œ ๊ฐ๊ฐ์„ ์šฐ์„ ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์‹œ๊ฒ ์–ด์š”?
    • ์–ด๋–ค ์ข…๋ฅ˜์˜ ์•ฑ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•  ๋•Œ Unit Test๋ฅผ ์„ ํƒํ•˜๊ณ , ์–ด๋–ค ๊ฒฝ์šฐ์— UI Test๋ฅผ ์„ ํ˜ธํ•˜์‹œ๋‚˜์š”?
    • UI Test๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ๊ฒช๋Š” ๊ฐ€์žฅ ํฐ ๋„์ „์€ ๋ฌด์—‡์ด์—ˆ๊ณ , ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜์…จ๋‚˜์š”?
  2. iOS ํ™˜๊ฒฝ์—์„œ ํšจ๊ณผ์ ์ธ Unit Testing์„ ์œ„ํ•ด ์–ด๋–ค ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”? ๊ทธ ์„ ํƒ์˜ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  3. UI Testing์„ ์ง„ํ–‰ํ•  ๋•Œ, ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•˜์‹œ๋‚˜์š”? ํ…Œ์ŠคํŠธ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์š”์†Œ๋“ค์„ ์ค‘์ ์ ์œผ๋กœ ๊ณ ๋ คํ•˜์‹œ๋‚˜์š”?
  4. ๋ณต์žกํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒฝ์šฐ, ์–ด๋–ป๊ฒŒ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ๊ตฌ์กฐํ™”ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜์‹œ๋‚˜์š”?
  5. ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋งŽ์€ ์•ฑ์—์„œ Unit Test์™€ UI Test๋ฅผ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜๊ณ , ๋™์‹œ์„ฑ ๋ฌธ์ œ์— ๋Œ€์ฒ˜ํ•˜์‹œ๋‚˜์š”?
  6. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์›์น™์ด๋‚˜ ํŒจํ„ด์„ ์ ์šฉํ•˜์‹œ๋‚˜์š”?
  7. ์ตœ๊ทผ ์ง„ํ–‰ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ€์žฅ ๋„์ „์ ์ด์—ˆ๋˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ๋ฌด์—‡์ด์—ˆ๊ณ , ๊ทธ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
  8. Continuous Integration (CI) ํ™˜๊ฒฝ์—์„œ iOS์˜ Unit ๋ฐ UI Testing์„ ์–ด๋–ป๊ฒŒ ํ†ตํ•ฉํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜์‹œ๋‚˜์š”?
  9. Mocking๊ณผ Stubbing์„ ์‚ฌ์šฉํ•˜์—ฌ iOS ์•ฑ์˜ Unit Test๋ฅผ ์–ด๋–ป๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ค์‹œ๋‚˜์š”? ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?
    • Mocking ๋˜๋Š” Stubbing์„ ๊ตฌํ˜„ํ•  ๋•Œ, ์–ด๋–ค ๋„๊ตฌ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ํ˜ธํ•˜์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๊ฒช์€ ์–ด๋ ค์›€์€ ๋ฌด์—‡์ด์—ˆ๊ณ , ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜์…จ๋‚˜์š”?
  10. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ ์‹œ, ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ์ธก์ •ํ•˜๊ณ , ์ด์ƒ์ ์ธ ์ปค๋ฒ„๋ฆฌ์ง€ ์ˆ˜์ค€์„ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜์‹œ๋‚˜์š”?
  11. Accessibility๋ฅผ ๊ณ ๋ คํ•œ UI Testing์€ ์–ด๋–ป๊ฒŒ ์ง„ํ–‰ํ•˜์‹œ๋‚˜์š”? ์ด ๊ณผ์ •์—์„œ ์ค‘์ ์ ์œผ๋กœ ํ™•์ธํ•˜๋Š” ์š”์†Œ๋“ค์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Debugging Techniques: Breakpoints, LLDB.

  1. iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์‹œ ๊ฐ€์žฅ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋””๋ฒ„๊น… ๊ธฐ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ•ด๋‹น ๊ธฐ๋ฒ•์„ ์„ ํ˜ธํ•˜๋Š” ํŠน๋ณ„ํ•œ ์ด์œ ๊ฐ€ ์žˆ๋‚˜์š”?
  2. Xcode์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ ์ค‘์—์„œ ํŠนํžˆ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๊ทธ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ์ƒํ™ฉ์„ ์˜ˆ๋กœ ๋“ค์–ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  3. LLDB ์ปค๋งจ๋“œ ๋ผ์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋””๋ฒ„๊น…ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฐ€์žฅ ์œ ์šฉํ–ˆ๋˜ ๋ช…๋ น์–ด๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด ํ•ด๊ฒฐํ•œ ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ œ ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  4. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐœ์ƒํ•œ ํฌ๋ž˜์‹œ๋ฅผ ๋””๋ฒ„๊น…ํ•  ๋•Œ ์ฃผ๋กœ ์–ด๋–ค ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • ํฌ๋ž˜์‹œ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์žˆ์–ด์„œ ์ค‘์ ์„ ๋‘๋Š” ๋ถ€๋ถ„์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  5. ์กฐ๊ฑด๋ถ€ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ(Conditional Breakpoints)๋ฅผ ์„ค์ •ํ•˜์—ฌ ํŠน์ • ์ƒํ™ฉ์—์„œ๋งŒ ์ฝ”๋“œ ์‹คํ–‰์„ ์ค‘๋‹จํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์กฐ๊ฑด๋ถ€ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ํ™œ์šฉํ•œ ํšจ๊ณผ์ ์ธ ๋””๋ฒ„๊น… ์‚ฌ๋ก€๋ฅผ ํ•˜๋‚˜ ๋ง์”€ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  6. ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋‚˜ ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์ง„๋‹จํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋””๋ฒ„๊น… ๊ธฐ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ์ง„๋‹จํ•˜๊ณ  ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  7. ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” ์‹ค์ œ ๋””๋ฐ”์ด์Šค์—์„œ ๋””๋ฒ„๊น…์„ ํ•  ๋•Œ, ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ํŠน์ • ์ƒํ™ฉ์—์„œ ํ•œ์ชฝ์„ ์„ ํ˜ธํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  8. ๋„คํŠธ์›Œํฌ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‚˜ ๋„๊ตฌ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋„คํŠธ์›Œํฌ ๋””๋ฒ„๊น… ๊ณผ์ •์—์„œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  9. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด์Šˆ๋ฅผ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๊ด€๋ จ ๋””๋ฒ„๊น…์—์„œ ๊ฐ€์žฅ ์–ด๋ ค์› ๋˜ ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  10. LLDB์˜ ํŒŒ์ด์ฌ ์Šคํฌ๋ฆฝํŒ… ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋””๋ฒ„๊น… ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”?
    • ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ฑฐ๋‚˜ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐœ์„ ํ–ˆ๋‚˜์š”?
  11. Xcode์˜ 'Exception Breakpoint'๋ฅผ ์„ค์ •ํ•˜์—ฌ ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ์ ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ฒ„๊ทธ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”?
  12. 'Symbolic Breakpoint'๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ทธ๊ฒƒ์ด ๋””๋ฒ„๊น… ๊ณผ์ •์—์„œ ์–ด๋–ป๊ฒŒ ๋„์›€์ด ๋˜๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์‹ฌ๋ณผ๋ฆญ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ์„ค์ •ํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  13. LLDB์—์„œ 'watchpoint'๋ฅผ ์„ค์ •ํ•˜๊ณ  ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๋ณ€์ˆ˜ ๊ฐ’์˜ ๋ณ€ํ™”๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ณผ์ •์—์„œ ํŠน๋ณ„ํžˆ ์œ ์šฉํ–ˆ๋˜ ์‚ฌ๋ก€๊ฐ€ ์žˆ๋‚˜์š”?
  14. LLDB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฉ”๋ชจ๋ฆฌ ์ƒํƒœ๋ฅผ ์ง„๋‹จํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ ์ด์Šˆ๋ฅผ ์ง„๋‹จํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” LLDB ๋ช…๋ น์–ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  15. 'Zombie Objects'๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด Xcode์˜ ๋””๋ฒ„๊น… ๋„๊ตฌ๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • ์ข€๋น„ ๊ฐ์ฒด๋ฅผ ์ถ”์ ํ•˜์—ฌ ํ•ด๊ฒฐํ•œ ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  16. ๋Ÿฐํƒ€์ž„์—์„œ ๋ฐœ์ƒํ•˜๋Š” UI ๋ฌธ์ œ๋ฅผ ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • UI ๋””๋ฒ„๊น… ๊ณผ์ •์—์„œ ํŠนํžˆ ์œ ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  17. LLDB์˜ 'breakpoint set' ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์กฐ๊ฑด๋ถ€ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ ์‚ฌ๋ก€๊ฐ€ ์žˆ๋‚˜์š”?
  18. Xcode์˜ 'Visual Memory Debugger'๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๋ฉ”๋ชจ๋ฆฌ ๊ทธ๋ž˜ํ”„ ๋ถ„์„์„ ํ†ตํ•ด ๋ฐœ๊ฒฌํ•œ ์ฃผ์š” ๋ฌธ์ œ์ ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  19. ์•ฑ์˜ ๋ฐฐํฌ ํ›„ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด์Šˆ๋ฅผ ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋„๊ตฌ๋‚˜ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • ์‹ค์ œ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์—์„œ์˜ ๋ฒ„๊ทธ๋ฅผ ์ถ”์ ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฒช์€ ์–ด๋ ค์›€์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  20. LLDB์—์„œ ์‚ฌ์šฉ๋˜๋Š” 'expression' ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ๋Ÿฐํƒ€์ž„์— ์ˆ˜์ •ํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  21. Xcode์˜ 'Address Sanitizer'๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฅ˜๋ฅผ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • 'Address Sanitizer'๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฐพ์•„๋‚ธ ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฅ˜์˜ ์˜ˆ๋ฅผ ๋“ค์–ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?

Performance Optimization

Memory Management: Understanding ARC, identifying memory leaks.

  1. ARC(Automatic Reference Counting)๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์— ์–ด๋–ป๊ฒŒ ๋„์›€์ด ๋˜๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
    • ARC์˜ ์ฃผ์š” ์ž‘๋™ ์›๋ฆฌ๋Š” ๋ฌด์—‡์ด๋ฉฐ, ์ด์ „์˜ ์ˆ˜๋™ ์ฐธ์กฐ ์นด์šดํŒ…๊ณผ ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋‚˜์š”?
  2. ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๊ณผ์ •์—์„œ ์–ด๋–ค ๋„๊ตฌ๋‚˜ ๊ธฐ๋ฒ•์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋‚˜์š”?
    • ์‹ค์ œ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๊ฒฝํ—˜ํ–ˆ์„ ๋•Œ, ๊ทธ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€ ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  3. ๊ฐ•ํ•œ ์ฐธ์กฐ ์ˆœํ™˜(strong reference cycles)์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์™€ ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • weak๋‚˜ unowned ์ฐธ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒํ™ฉ๊ณผ ๊ทธ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  4. iOS์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์˜ ์ค‘์š”์„ฑ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜๋‚˜์š”?
    • ํŠนํžˆ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋‚˜์š”?
  5. ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜์™€ ๊ด€๋ จ๋œ ๊ฐ€์žฅ ๋„์ „์ ์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”?
    • ๊ทธ ์ƒํ™ฉ์—์„œ ์–ด๋–ค ๋ถ„์„ ๋ฐฉ๋ฒ•๊ณผ ํ•ด๊ฒฐ์ฑ…์„ ์ ์šฉํ–ˆ์—ˆ๋‚˜์š”?
  6. GCD(Grand Central Dispatch)์™€ ๊ฐ™์€ ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๋™์‹œ์„ฑ์„ ๋‹ค๋ฃจ๋ฉด์„œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  7. ์˜ต์…”๋„ ์ฒด์ด๋‹๊ณผ ํด๋กœ์ €(closures)๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋‚˜์š”?
    • ํด๋กœ์ € ๋‚ด์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  8. ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋†’์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๊ฐ์ง€ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  9. ๋ฉ”๋ชจ๋ฆฌ ๊ฒฝ๊ณ (memory warning)๋ฅผ ๋ฐ›์•˜์„ ๋•Œ, ์–ด๋–ค ์กฐ์น˜๋ฅผ ์ทจํ•˜์‹œ๋‚˜์š”?
    • ๋ฉ”๋ชจ๋ฆฌ ๊ฒฝ๊ณ  ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ตฌํ˜„ํ•œ ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ์ „๋žต์ด ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  10. Instruments ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์„ฑ๋Šฅ์„ ๋ถ„์„ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”?
    • ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ค Instruments ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ, ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‚˜์š”?
  11. ARC ํ™˜๊ฒฝ์—์„œ retain cycle์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ retain cycle์„ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  12. ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด์ด ์žˆ๋‚˜์š”?
    • ํ•ด๋‹น ํŒจํ„ด์„ ์„ ํƒํ•œ ์ด์œ ์™€ ์‹ค์ œ ์ ์šฉ ์˜ˆ์‹œ๋ฅผ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  13. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ, Swift์™€ Objective-C ๊ฐ„์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋‚˜์š”?
  14. iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜์‹œ๋‚˜์š”?
    • ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ๊ธฐ์ˆ ์ด๋‚˜ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  15. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ธก๋ฉด์—์„œ ๋ณผ ๋•Œ, ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ด์Šˆ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
  16. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ตœ์ ํ™”ํ•˜์‹œ๋‚˜์š”?
    • ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ค‘์š”ํ•œ ์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋‚˜์š”?

Profiling with Instruments: For performance analysis.

  1. Instruments๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ํƒ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?
    • ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ฐพ์•˜์„ ๋•Œ ์–ด๋–ค ์ ‘๊ทผ ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์‹œ๋‚˜์š”?
    • ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด, ๊ทธ ์‚ฌ๋ก€์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  2. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ CPU ์‚ฌ์šฉ๋ฅ ์ด ๋†’์„ ๋•Œ, Instruments๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์›์ธ์„ ๋ถ„์„ํ•˜๋Š” ๊ณผ์ •์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?
    • CPU ์‚ฌ์šฉ๋ฅ ์ด ๋†’์€ ์›์ธ์„ ํŒŒ์•…ํ•œ ํ›„, ์–ด๋–ค ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
  3. Instruments์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ ํˆด ์ค‘์—์„œ, ํผํฌ๋จผ์Šค ํŠœ๋‹์— ๊ฐ€์žฅ ์œ ์šฉํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ํˆด์€ ๋ฌด์—‡์ด๊ณ  ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  4. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ UI ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด Instruments๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • UI ์„ฑ๋Šฅ๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  5. ๋„คํŠธ์›Œํฌ ์„ฑ๋Šฅ ๋ถ„์„์„ ์œ„ํ•ด Instruments๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๋„คํŠธ์›Œํฌ ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์„ ๋•Œ, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•˜๊ณ  ํ•ด๊ฒฐํ•˜์‹œ๋‚˜์š”?
  6. Instruments๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์˜ ๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉ ํšจ์œจ์„ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉ ํšจ์œจ์ด ๋‚ฎ์€ ์›์ธ์„ ํŒŒ์•…ํ•œ ํ›„, ์–ด๋–ค ์ตœ์ ํ™” ์กฐ์น˜๋ฅผ ์ทจํ•˜์…จ๋‚˜์š”?
  7. ์‹ค์‹œ๊ฐ„์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด Instruments๋ฅผ ํ†ตํ•ด ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•˜์‹œ๋‚˜์š”?
  8. Core Animation ํˆด์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ทธ๋ž˜ํ”ฝ ์„ฑ๋Šฅ์„ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๊ทธ๋ž˜ํ”ฝ ์„ฑ๋Šฅ๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด, ๊ทธ ์‚ฌ๋ก€์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  9. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ ˆ์ด์•„์›ƒ ์„ฑ๋Šฅ์„ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด Instruments์˜ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • ๋ ˆ์ด์•„์›ƒ ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ฉด, ๊ทธ ๊ณผ์ •์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  10. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹คํ–‰์‹œ๊ฐ„์„ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด Instruments์˜ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • ์‹œ์ž‘ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐœ๊ฒฌํ•œ ์ฃผ์š” ๋ณ‘๋ชฉ ํ˜„์ƒ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ค ์กฐ์น˜๋ฅผ ์ทจํ•˜์…จ๋‚˜์š”?
  11. Instruments์˜ Time Profiler๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ํŒจํ„ด์„ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ํŒจํ„ด ๋ถ„์„์„ ํ†ตํ•ด ์–ด๋–ค ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
  12. ํŒŒ์ผ I/O ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์ง„๋‹จํ•˜๊ธฐ ์œ„ํ•ด Instruments์—์„œ ์–ด๋–ค ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • I/O ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด, ๊ทธ ์‚ฌ๋ก€์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  13. Instruments์˜ Energy Log๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์—๋„ˆ์ง€ ์‚ฌ์šฉ๋Ÿ‰์„ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์—๋„ˆ์ง€ ์‚ฌ์šฉ๋Ÿ‰์ด ๋น„์ •์ƒ์ ์œผ๋กœ ๋†’์•˜๋˜ ๊ฒฝ์šฐ, ์–ด๋–ค ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•˜์…จ๋‚˜์š”?

Deployment and Distribution

App Store Process: Basics of app submission and review guidelines.

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

CI/CD: Basics of Continuous Integration and Deployment.

  • TBA

User Experience and Design

UI/UX Principles: Following Apple's design guidelines.

  1. Apple์˜ ๋””์ž์ธ ๊ฐ€์ด๋“œ๋ผ์ธ ์ค‘์—์„œ iOS ์•ฑ ๊ฐœ๋ฐœ ์‹œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ์›์น™์€ ๋ฌด์—‡์ด๋ฉฐ, ์™œ ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ๊ทธ ์›์น™์„ ์–ด๋–ป๊ฒŒ ์•ฑ์— ์ ์šฉํ•˜์…จ๋‚˜์š”?
    • ํ•ด๋‹น ์›์น™์„ ์ ์šฉํ•จ์œผ๋กœ์จ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ์–ด๋–ค ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ดค๋‚˜์š”?
  2. Human Interface Guidelines๋ฅผ ์ค€์ˆ˜ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ์˜ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ๊ทธ๋Ÿฐ ์ƒํ™ฉ์—์„œ ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ณ , ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
  3. Accessibility์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ๊ณ ๋ คํ•˜๊ณ  ๊ณ„์‹œ๋‚˜์š”? iOS ์•ฑ์—์„œ Accessibility ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ๊ตฌ์ฒด์ ์ธ ๊ธฐ์ˆ ์ด๋‚˜ ์ „๋žต์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  4. ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋„์ž…ํ•œ UI/UX์˜ ๋ณ€๊ฒฝ์ ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”? ์ด ๋ณ€๊ฒฝ์ด ํ•„์š”ํ–ˆ๋˜ ์ด์œ ์™€ ๊ทธ ํšจ๊ณผ๋Š” ์–ด๋–ค ๊ฒƒ์ด์—ˆ๋‚˜์š”?
  5. ๋‹ค์–‘ํ•œ ํ™”๋ฉด ํฌ๊ธฐ์™€ ์žฅ์น˜์—์„œ ์ผ๊ด€๋œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•˜๊ณ  ๊ณ„์‹œ๋‚˜์š”?
  6. ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์„ UI/UX ๋””์ž์ธ์— ์–ด๋–ป๊ฒŒ ํ†ตํ•ฉํ•˜์‹œ๋‚˜์š”? ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?
  7. ์•ฑ์˜ UI/UX๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์ ์„ ๋‘๋Š” ์š”์†Œ๋Š” ๋ฌด์—‡์ด๋ฉฐ, ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  8. Apple์˜ ๋””์ž์ธ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๋”ฐ๋ฅด๋ฉด์„œ๋„ ์•ฑ์— ๋…ํŠนํ•œ ๋ธŒ๋žœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ํ†ตํ•ฉํ•˜์‹œ๋‚˜์š”?
  9. ์ตœ์‹  iOS ๋ฒ„์ „์—์„œ ์ œ๊ณตํ•˜๋Š” ์ƒˆ๋กœ์šด UI/UX ๊ธฐ๋Šฅ์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜๊ณ  ๊ณ„์‹œ๋‚˜์š”? ์ตœ๊ทผ์— ์ ์šฉํ•ด๋ณธ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?
  10. ์„ฑ๋Šฅ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์‚ฌ์ด์˜ ๊ท ํ˜•์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๊ณ ๋ฏผ์„ ํ•˜์‹œ๋‚˜์š”? ํŠนํžˆ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” UI ์š”์†Œ๋“ค์„ ์–ด๋–ป๊ฒŒ ์ตœ์ ํ™”ํ•˜์…จ๋‚˜์š”?
  11. Dark Mode๋ฅผ ์ง€์›ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฒช์—ˆ๋˜ ์–ด๋ ค์›€์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”? ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์ผ๊ด€๋œ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์กฐ์น˜๋ฅผ ์ทจํ•˜์…จ๋‚˜์š”?

Accessibility and Localization: Basic principles.

  • TBA

Professional Development

Code Reviews: Improving code quality and collaboration.

  1. ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ณผ์ •์—์„œ ๋ฐœ๊ฒฌ๋œ ์ผ๋ฐ˜์ ์ธ ์ฝ”๋“œ ํ’ˆ์งˆ ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”, ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฐœ์„ ํ•˜์…จ๋‚˜์š”?
    • ํŠน์ • ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…ํ•œ ์ฝ”๋”ฉ ํ‘œ์ค€์ด๋‚˜ ๊ทœ์น™์ด ์žˆ๋‹ค๋ฉด ๋ฌด์—‡์ธ๊ฐ€์š”?
  2. iOS ๊ฐœ๋ฐœ์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์„ฑ๋Šฅ ๊ด€๋ จ ์ด์Šˆ๋ฅผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ์–ด๋–ป๊ฒŒ ์‹๋ณ„ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
    • ์„ฑ๋Šฅ ์ด์Šˆ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ๋„๊ตฌ๋‚˜ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  3. ๋™๋ฃŒ ๊ฐœ๋ฐœ์ž์™€์˜ ํ˜‘์—…์„ ํ†ตํ•ด ์ฝ”๋“œ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ์žˆ์–ด์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ์š”์†Œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ด๋Ÿฌํ•œ ํ˜‘์—… ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?
  4. ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ณผ์ •์—์„œ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๋กœ ์–ด๋–ค ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
    • ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ํšจ๊ณผ์ ์ด์—ˆ๋˜ ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ก€๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  5. ํŒ€ ๋‚ด์—์„œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฌธํ™”๋ฅผ ๊ตฌ์ถ•ํ•˜๊ฑฐ๋‚˜ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
    • ์ด ์ „๋žต์ด ํŒ€์˜ ํ˜‘์—… ๋ฐ ์ฝ”๋“œ ํ’ˆ์งˆ์— ์–ด๋–ค ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์ณค๋Š”์ง€ ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ๋ง์”€ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  6. ์ฝ”๋“œ ๋ฆฌ๋ทฐ์—์„œ ์ž์ฃผ ๋…ผ์˜๋˜๋Š” ์•„ํ‚คํ…์ฒ˜์™€ ๋””์ž์ธ ํŒจํ„ด์— ๊ด€ํ•œ ์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”, ๊ทธ๋ฆฌ๊ณ  ์ด๋“ค์„ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ์„ ํ–ˆ๋‚˜์š”?
    • ํŠน์ • ์•„ํ‚คํ…์ฒ˜๋‚˜ ํŒจํ„ด์„ ์ฑ„ํƒํ•จ์œผ๋กœ์จ ํ•ด๊ฒฐ๋œ ๋ฌธ์ œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  7. ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜์‚ฌ์†Œํ†ต ๋ฌธ์ œ๋Š” ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜์…จ๋‚˜์š”?
    • ํšจ๊ณผ์ ์ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ๊ธฐ์ˆ ์ด๋‚˜ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Continuous Learning: Keeping up with new technologies and trends.

  1. iOS ๊ฐœ๋ฐœ ๋ถ„์•ผ์—์„œ ์ง€์†์ ์ธ ํ•™์Šต์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์ž์›์ด๋‚˜ ์ฑ„๋„์„ ์ฃผ๋กœ ์ด์šฉํ•˜์‹œ๋‚˜์š”?
    • ํŠน์ • ์ž์›์ด๋‚˜ ์ฑ„๋„์„ ์„ ํ˜ธํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  2. ์ƒˆ๋กœ์šด iOS ๊ธฐ์ˆ ์ด๋‚˜ ํŠธ๋ Œ๋“œ๋ฅผ ๋ฐฐ์šฐ๋Š” ๊ณผ์ •์—์„œ ๊ฐ€์žฅ ํฐ ๋„์ „์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋„์ „์„ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜์…จ๋‚˜์š”?
  3. ์ตœ๊ทผ์— ๋ฐฐ์šฐ๊ณ  ์ ์šฉํ•ด๋ณธ ์ƒˆ๋กœ์šด iOS ๊ธฐ์ˆ ์ด๋‚˜ ํŠธ๋ Œ๋“œ๊ฐ€ ์žˆ๋‚˜์š”?
    • ๊ทธ ๊ธฐ์ˆ ์ด๋‚˜ ํŠธ๋ Œ๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐฐ์šฐ๊ณ  ์ ์šฉํ•ด๋ณด์…จ๋‚˜์š”?
  4. ์ƒˆ๋กœ์šด iOS ์—…๋ฐ์ดํŠธ๋‚˜ ๊ธฐ์ˆ  ๋„์ž… ์‹œ, ๊ธฐ์กด ํ”„๋กœ์ ํŠธ์— ์–ด๋–ป๊ฒŒ ํ†ตํ•ฉํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
    • ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ํ†ตํ•ฉํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฒช์€ ์ฃผ์š” ์–ด๋ ค์›€์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  5. Swift์˜ ์ƒˆ๋กœ์šด ๋ฒ„์ „์ด ๋‚˜์˜ฌ ๋•Œ๋งˆ๋‹ค ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ƒˆ๋กœ์šด ์–ธ์–ด ๊ธฐ๋Šฅ์„ ํ•™์Šตํ•˜์‹œ๋‚˜์š”?
    • ์ƒˆ๋กœ์šด ์–ธ์–ด ๊ธฐ๋Šฅ์„ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด, ๊ทธ ๊ณผ์ •์€ ์–ด๋– ํ–ˆ๋‚˜์š”?
  6. WWDC๋‚˜ ๋‹ค๋ฅธ iOS ๊ด€๋ จ ์ปจํผ๋Ÿฐ์Šค์—์„œ ๋ฐœํ‘œ๋˜๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด๋‚˜ API๋ฅผ ์–ด๋–ป๊ฒŒ ๋น ๋ฅด๊ฒŒ ์Šต๋“ํ•˜์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์ •๋ณด๋ฅผ ์–ด๋–ป๊ฒŒ ์ž์‹ ์˜ ์—…๋ฌด๋‚˜ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜์‹œ๋‚˜์š”?
  7. ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋‚˜ ๋””์ž์ธ ํŒจํ„ด์„ ๋ฐฐ์šฐ๊ณ  ์ ์šฉํ•˜๋Š” ๊ณผ์ •์—์„œ ์–ด๋–ค ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•˜์‹œ๋‚˜์š”?
    • ์ตœ๊ทผ์— ๋ฐฐ์šฐ๊ณ  ์ ์šฉํ•ด๋ณธ ์ƒˆ๋กœ์šด ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋‚˜ ํŒจํ„ด์ด ์žˆ๋‹ค๋ฉด, ๊ทธ ๊ณผ์ •์„ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  8. Swift UI์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ฐฐ์šฐ๋Š” ๊ณผ์ •์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Swift UI๋ฅผ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด, ๊ทธ ๊ณผ์ •์€ ์–ด๋– ํ–ˆ๋‚˜์š”?

Additional Industry Knowledge

Mobile App Monetization: In-app purchases, subscriptions, ad integrations.

  • TBA

App Analytics: User behavior analysis.

  1. ์•ฑ ๋ถ„์„์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž ํ–‰๋™์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ฉ”ํŠธ๋ฆญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”, ๊ทธ๋ฆฌ๊ณ  ์™œ ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ํ•ด๋‹น ๋ฉ”ํŠธ๋ฆญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์–ด๋–ค ์ค‘์š”ํ•œ ๊ฒฐ์ •์„ ๋‚ด๋ฆฐ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”?
  2. ์‚ฌ์šฉ์ž ํ–‰๋™ ๋ถ„์„์„ ํ†ตํ•ด ์–ป์€ ์ธ์‚ฌ์ดํŠธ๊ฐ€ ์•ฑ์˜ UI/UX ๋””์ž์ธ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
    • ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•œ ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  3. ํŠน์ • ์‚ฌ์šฉ์ž ํ–‰๋™์ด ์˜ˆ์ƒ๊ณผ ๋‹ค๋ฅผ ๋•Œ, ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ๋Œ€์‘ํ•˜์…จ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ ์šฉํ•œ ๋ถ„์„ ๋ฐฉ๋ฒ•์ด๋‚˜ ์ „๋žต์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  4. ์‚ฌ์šฉ์ž ์œ ์ง€์œจ(retention rate)์„ ๋ถ„์„ํ•  ๋•Œ ์–ด๋–ค ์š”์ธ๋“ค์„ ์ฃผ๋กœ ๊ณ ๋ คํ•˜์‹œ๋‚˜์š”?
    • ๋‚ฎ์€ ์œ ์ง€์œจ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๋„ํ•œ ์ „๋žต์ด๋‚˜ ๊ฐœ์„ ์ฑ…์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  5. ์„ธ์…˜ ๊ธธ์ด(session length)๋‚˜ ์‚ฌ์šฉ ๋นˆ๋„ ๋“ฑ์˜ ๋ฉ”ํŠธ๋ฆญ์„ ํ†ตํ•ด ์–ด๋–ค ์œ ์šฉํ•œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป์—ˆ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋ฉ”ํŠธ๋ฆญ์ด ์•ฑ ๊ฐœ์„ ์— ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
  6. ์‚ฌ์šฉ์ž๋“ค์ด ์•ฑ ๋‚ด์—์„œ ํŠน์ • ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ๊ทธ ์›์ธ์„ ๋ถ„์„ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•˜์…จ๋‚˜์š”?
    • ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ๋„๊ตฌ๋‚˜ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
  7. ์•ฑ ๋ถ„์„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ A/B ํ…Œ์ŠคํŠธ๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ์‹คํ–‰ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ์ค‘์š”ํ•œ ๋ฐœ๊ฒฌ์„ ํ•˜์…จ๋‚˜์š”?
    • A/B ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๊ฐ€ ์•ฑ์˜ ๊ธฐ๋Šฅ์ด๋‚˜ ๋””์ž์ธ์— ์–ด๋–ค ๋ณ€ํ™”๋ฅผ ๊ฐ€์ ธ์™”๋‚˜์š”?

Market Trends: Understanding iOS app market trends.

  1. ํ˜„์žฌ iOS ์•ฑ ์‹œ์žฅ์—์„œ ๋‘๋“œ๋Ÿฌ์ง€๋Š” ์ฃผ์š” ํŠธ๋ Œ๋“œ๋Š” ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ํŠธ๋ Œ๋“œ๊ฐ€ iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ  ์žˆ๋‹ค๊ณ  ๋ณด์‹œ๋‚˜์š”?
  2. ์ตœ๊ทผ ๋ช‡ ๋…„๊ฐ„์˜ iOS ์•ฑ ์‹œ์žฅ ๋ณ€ํ™” ์ค‘ ๊ฐ€์žฅ ์ฃผ๋ชฉํ• ๋งŒํ•œ ๋ณ€ํ™”๋Š” ๋ฌด์—‡์ด์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ด ๋ณ€ํ™”๊ฐ€ ๊ฐœ๋ฐœ์ž๋กœ์„œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ ‘๊ทผ ๋ฐฉ์‹์ด๋‚˜ ์ „๋žต์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
  3. ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX) ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค(UI) ๋””์ž์ธ์—์„œ์˜ ์ตœ์‹  iOS ์•ฑ ํŠธ๋ Œ๋“œ๋Š” ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ํŠธ๋ Œ๋“œ๋ฅผ ๊ท€ํ•˜์˜ ์•ฑ ๊ฐœ๋ฐœ์— ์–ด๋–ป๊ฒŒ ๋ฐ˜์˜ํ•˜๊ณ  ๊ณ„์‹ ๊ฐ€์š”?
  4. ๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„ ์‹œ์žฅ์—์„œ iOS ์•ฑ์ด ๊ฐ€์ง€๋Š” ์œ„์น˜์™€ ํŠธ๋ Œ๋“œ๋Š” ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๋ณด์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋ณ€ํ™”๊ฐ€ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ์ „๋žต์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ  ์žˆ๋‚˜์š”?
  5. AR(์ฆ๊ฐ• ํ˜„์‹ค) ๋˜๋Š” VR(๊ฐ€์ƒ ํ˜„์‹ค) ๊ธฐ์ˆ ๊ณผ ๊ด€๋ จ๋œ iOS ์•ฑ ์‹œ์žฅ์˜ ๋™ํ–ฅ์€ ์–ด๋–ป๊ฒŒ ๋ณด์‹œ๋‚˜์š”?
    • AR ๋˜๋Š” VR์„ ํ™œ์šฉํ•œ ์•ฑ ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ฃผ์š” ์š”์†Œ๋Š” ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
  6. ์ตœ๊ทผ์— ์ฃผ๋ชฉ๋ฐ›๊ณ  ์žˆ๋Š” iOS ์•ฑ์˜ ๋ณด์•ˆ ํŠธ๋ Œ๋“œ๋Š” ๋ฌด์—‡์ด๋ผ๊ณ  ๋ณด์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ํŠธ๋ Œ๋“œ์— ๋ถ€์‘ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ณด์•ˆ ์กฐ์น˜๋‚˜ ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•˜๊ณ  ๊ณ„์‹ ๊ฐ€์š”?
  7. iOS ์•ฑ ์‹œ์žฅ์—์„œ์˜ ์ธ๊ณต์ง€๋Šฅ(AI) ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹(ML)์˜ ํ™œ์šฉ์€ ์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐœ์ „ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๋ณด์‹œ๋‚˜์š”?
    • AI๋‚˜ ML์„ ์•ฑ ๊ฐœ๋ฐœ์— ํ†ตํ•ฉํ•˜๋Š” ๊ณผ์ •์—์„œ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  8. ํ˜„์žฌ์˜ ๊ฒฝ์ œ ์ƒํ™ฉ์ด iOS ์•ฑ ์‹œ์žฅ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ๊ฒฝ์ œ์  ๋ณ€ํ™”์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ๋ถ„์˜ ์•ฑ ๊ฐœ๋ฐœ ๋˜๋Š” ๋งˆ์ผ€ํŒ… ์ „๋žต์— ์–ด๋–ค ์กฐ์ •์„ ํ•˜๊ณ  ๊ณ„์‹ ๊ฐ€์š”?
  9. ์‚ฌํšŒ์ , ํ™˜๊ฒฝ์  ์ง€์†๊ฐ€๋Šฅ์„ฑ๊ณผ ๊ด€๋ จ๋œ iOS ์•ฑ ์‹œ์žฅ์˜ ํŠธ๋ Œ๋“œ๋Š” ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ•˜๊ณ  ์žˆ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ํŠธ๋ Œ๋“œ์— ๋ถ€์‘ํ•˜๊ธฐ ์œ„ํ•ด ์•ฑ ๊ฐœ๋ฐœ์—์„œ ์–ด๋–ค ๊ณ ๋ ค๋ฅผ ํ•˜๊ณ  ๊ณ„์‹ ๊ฐ€์š”?

Privacy and Regulation Compliance: Adhering to privacy laws.

  • TBA

Soft Skills and Methodologies

Agile Principles: Understanding of Agile development methodologies.

  1. ์• ์ž์ผ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์„ ์ ์šฉํ•˜๋ฉฐ ๊ฐ€์žฅ ํฐ ๋„์ „์ด ๋ฌด์—‡์ด์—ˆ๋‚˜์š”, ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜์…จ๋‚˜์š”?
    • ํŠนํžˆ iOS ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์—์„œ ์• ์ž์ผ ๋ฐฉ๋ฒ•๋ก  ์ ์šฉ ์‹œ ๊ฒช์€ ์–ด๋ ค์›€๊ณผ ํ•ด๊ฒฐ์ฑ…์— ๋Œ€ํ•ด ๋ง์”€ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  2. ์• ์ž์ผ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ์˜ ํšจ์œจ์„ฑ์„ ์–ด๋–ป๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ค์…จ๋‚˜์š”?
    • ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด, ์–ด๋–ค ์• ์ž์ผ ๊ธฐ๋ฒ•์ด๋‚˜ ๋„๊ตฌ๊ฐ€ ํ”„๋กœ์ ํŠธ์— ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์ณค๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  3. ์Šคํฌ๋Ÿผ(Scrum)์ด๋‚˜ ์นธ๋ฐ˜(Kanban)๊ณผ ๊ฐ™์€ ์• ์ž์ผ ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ์–ด๋–ค ๊ฒƒ์„ ์„ ํ˜ธํ•˜์‹œ๋‚˜์š”, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ•ด๋‹น ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋‚˜ ํŒ€ ํ˜‘์—…์— ์–ด๋–ค ๊ฐœ์„ ์„ ๊ฒฝํ—˜ํ•˜์…จ๋‚˜์š”?
  4. ์• ์ž์ผ ๋ฐฉ๋ฒ•๋ก ์—์„œ ์ง€์†์ ์ธ ํ”ผ๋“œ๋ฐฑ๊ณผ ๋ฐ˜๋ณต์ ์ธ ๊ฐœ๋ฐœ์ด ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์ด ํ”„๋กœ์ ํŠธ์˜ ์„ฑ๊ณต์— ์–ด๋–ค ์‹ค์งˆ์ ์ธ ๊ธฐ์—ฌ๋ฅผ ํ–ˆ๋‚˜์š”?
  5. ์• ์ž์ผ ๋ฐฉ๋ฒ•๋ก ์„ ์ฑ„ํƒํ•œ ํ”„๋กœ์ ํŠธ์—์„œ์˜ ์š”๊ตฌ์‚ฌํ•ญ ๋ณ€๊ฒฝ ๊ด€๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃจ์–ด์ง€๋‚˜์š”?
    • ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์ด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์ „๋žต์ด๋‚˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ง์”€ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  6. ์• ์ž์ผ ๊ฐœ๋ฐœ์—์„œ ์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌ(User Story)๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•˜๋Š” ๊ณผ์ •์€ ์–ด๋–ป๊ฒŒ ์ง„ํ–‰ํ•˜์‹œ๋‚˜์š”?
    • ์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ์–ด๋–ค ์ด์ ์„ ์–ป์—ˆ๋‚˜์š”?
  7. ์• ์ž์ผ ๋ฐฉ๋ฒ•๋ก ์„ ๋„์ž…ํ•œ ํ›„ ํŒ€์›๋“ค ๊ฐ„์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜๊ณผ ํ˜‘์—…์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ–ˆ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋ณ€ํ™”๊ฐ€ ํ”„๋กœ์ ํŠธ ๊ฒฐ๊ณผ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?

Team Collaboration and Communication: Effective teamwork skills.

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

Nice-to-Have Skills for iOS Developers

Advanced Frameworks and Technologies

  • TBA

Graphics and Animation: Core Animation, Metal.

  • TBA

iOS Widgets and App Clips: Latest iOS feature development.

  • TBA

Advanced Architectural Patterns

VIP: View-Interactor-Presenter.

  1. VIP (View-Interactor-Presenter) ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ•œ ํ”„๋กœ์ ํŠธ์—์„œ, MVC๋‚˜ MVVM๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์–ด๋–ค ์ฃผ์š” ์ด์ ์„ ๊ฒฝํ—˜ํ•˜์…จ๋‚˜์š”?
    • ํŠนํžˆ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์˜ ๋ถ„๋ฆฌ ์ธก๋ฉด์—์„œ ์–ด๋–ค ์ฐจ์ด๋ฅผ ๋Š๋ผ์…จ๋‚˜์š”?
  2. VIP ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ ์šฉํ•  ๋•Œ ๊ฐ€์žฅ ํฐ ๋„์ „ ๊ณผ์ œ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”, ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜์…จ๋‚˜์š”?
    • ํŠนํžˆ, iOS ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ VIP ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐ ์žˆ์–ด ๊ฒช์€ ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์–ด์š”?
  3. VIP ์•„ํ‚คํ…์ฒ˜์—์„œ ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ(View, Interactor, Presenter)์˜ ์ฑ…์ž„๊ณผ ์—ญํ• ์„ ์–ด๋–ป๊ฒŒ ์ •์˜ํ•˜์…จ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์—ญํ•  ๋ถ„๋‹ด์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์œ ์ง€๋ณด์ˆ˜์™€ ํ™•์žฅ์„ฑ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
  4. VIP ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์žˆ์–ด ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
    • ํŠนํžˆ, Presenter์™€ Interactor์˜ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์— ์žˆ์–ด ์ฃผ๋ชฉํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
  5. VIP ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋„์ž…ํ•œ ํ›„, ํ”„๋กœ์ ํŠธ ํŒ€ ๋‚ด์—์„œ์˜ ํ•™์Šต ๊ณก์„ ์ด๋‚˜ ์ ์‘ ๊ณผ์ •์€ ์–ด๋– ํ–ˆ๋‚˜์š”?
    • ํŒ€์›๋“ค์ด ์ด ์•„ํ‚คํ…์ฒ˜์— ์ต์ˆ™ํ•ด์ง€๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๊ต์œก์ด๋‚˜ ์ž๋ฃŒ๋ฅผ ํ™œ์šฉํ•˜์…จ๋‚˜์š”?
  6. VIP ์•„ํ‚คํ…์ฒ˜์—์„œ ๋ฐ์ดํ„ฐ ํ๋ฆ„๊ณผ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜์…จ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ ํ๋ฆ„๊ณผ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ˜์‘์„ฑ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
  7. VIP ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๊ฒฝํ—˜ํ•œ ์–ด๋–ค ์‹ค์ˆ˜๋‚˜ ์˜คํ•ด๊ฐ€ ์žˆ์—ˆ๋‚˜์š”, ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ค ๊ตํ›ˆ์„ ์–ป์—ˆ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๊ฒฝํ—˜์ด ํ–ฅํ›„ ํ”„๋กœ์ ํŠธ์—์„œ VIP ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ์‹์— ์–ด๋–ค ๋ณ€ํ™”๋ฅผ ๊ฐ€์ ธ์™”๋‚˜์š”?

MVI: Model-View-Intent.

  1. MVI (Model-View-Intent) ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ฑ„ํƒํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”, ๊ทธ๋ฆฌ๊ณ  ์ด ์•„ํ‚คํ…์ฒ˜๊ฐ€ iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์–ด๋–ค ํŠน๋ณ„ํ•œ ์ด์ ์„ ์ œ๊ณตํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ํŠนํžˆ, ๊ธฐ์กด์˜ MVC, MVP, MVVM ๋“ฑ์˜ ํŒจํ„ด๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ MVI์˜ ๋…ํŠนํ•œ ์žฅ์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ๋ณด์‹œ๋‚˜์š”?
  2. MVI ์•„ํ‚คํ…์ฒ˜์—์„œ์˜ 'Intent' ๊ฐœ๋…์„ ์–ด๋–ป๊ฒŒ ์ •์˜ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜์…จ๋‚˜์š”, ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์ด ์‚ฌ์šฉ์ž ์ธํ„ฐ๋ž™์…˜ ์ฒ˜๋ฆฌ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
    • Intent์˜ ๊ตฌํ˜„์ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ์•ฑ์˜ ๋ฐ˜์‘์„ฑ์— ์–ด๋–ค ๊ตฌ์ฒด์ ์ธ ๋ณ€ํ™”๋ฅผ ๊ฐ€์ ธ์™”๋‚˜์š”?
  3. MVI ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃจ์…จ๋‚˜์š”?
    • ์ƒํƒœ ๊ด€๋ฆฌ์˜ ๋ณต์žก์„ฑ์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜๊ณ , ์–ด๋–ค ๋„๊ตฌ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์…จ๋‚˜์š”?
  4. MVI ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ ์šฉํ•œ iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ…Œ์ŠคํŠธ ์ „๋žต์€ ์–ด๋–ป๊ฒŒ ์ˆ˜๋ฆฝํ•˜์…จ๋‚˜์š”?
    • ๋ชจ๋ธ, ๋ทฐ, ์ธํ…ํŠธ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋Š” ์–ด๋–ป๊ฒŒ ์ง„ํ–‰ํ•˜์…จ๋‚˜์š”?
  5. MVI ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ ์šฉํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฒช์€ ์ฃผ์š” ๋„์ „ ๊ณผ์ œ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”, ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜์…จ๋‚˜์š”?
    • ํŠนํžˆ, ํŒ€์›๋“ค์ด ์ด ์•„ํ‚คํ…์ฒ˜์— ์ ์‘ํ•˜๋Š” ๋ฐ ์žˆ์–ด์„œ ์–ด๋–ค ์ง€์›์ด๋‚˜ ๊ต์œก์ด ํ•„์š”ํ–ˆ๋‚˜์š”?
  6. MVI ์•„ํ‚คํ…์ฒ˜์—์„œ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜์…จ๋‚˜์š”, ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์ด ์•ฑ์˜ ์„ฑ๋Šฅ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
    • ๋ฐ์ดํ„ฐ ํ๋ฆ„์˜ ๊ด€๋ฆฌ๊ฐ€ ์•ฑ์˜ ์œ ์ง€๋ณด์ˆ˜์™€ ํ™•์žฅ์„ฑ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?
  7. MVI ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ ์šฉํ•œ ํ›„, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ฐ˜์‘์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์— ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ๋ณ€ํ™”๊ฐ€ ์ „์ฒด์ ์ธ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ์–ด๋–ค ๊ธ์ •์  ๋˜๋Š” ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‚˜์š”?

Clean Architecture: Layer separation, dependency rule.

  1. iOS ์•ฑ์„ ๊ฐœ๋ฐœํ•  ๋•Œ Clean Architecture์˜ ๊ฐ ๋ ˆ์ด์–ด(Entities, Use Cases, Interface Adapters, Frameworks & Drivers)๊ฐ€ ๊ฐ–๋Š” ์—ญํ• ๊ณผ ์ฑ…์ž„์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ๊ฐ ๋ ˆ์ด์–ด์—์„œ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ์„ค๊ณ„ ์›์น™์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๊ฐ ๋ ˆ์ด์–ด ๊ฐ„์˜ ์˜์กด์„ฑ ๊ด€๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋‚˜์š”?
  2. Clean Architecture์—์„œ์˜ ์˜์กด์„ฑ ๊ทœ์น™์„ iOS ์•ฑ ๊ฐœ๋ฐœ์— ์ ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์–ด๋ ค์›€์€ ๋ฌด์—‡์ด๋ผ๊ณ  ๋ณด์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์–ด๋ ค์›€์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
  3. ์‹ค์ œ iOS ํ”„๋กœ์ ํŠธ์—์„œ Clean Architecture๋ฅผ ๋„์ž…ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ฉด, ๊ฐ€์žฅ ํฐ ์ด์ ๊ณผ ๋„์ „ ๊ณผ์ œ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
    • ๋„์ „ ๊ณผ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ–ˆ๋‚˜์š”?
  4. Clean Architecture๋ฅผ ์ ์šฉํ–ˆ์„ ๋•Œ, iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์— ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋‚˜์š”?
    • ํ…Œ์ŠคํŠธ ์ „๋žต์—์„œ ์–ด๋–ค ์ ์„ ์ค‘์ ์ ์œผ๋กœ ๊ณ ๋ คํ–ˆ๋‚˜์š”?
  5. Interface Adapter ๋ ˆ์ด์–ด์—์„œ์˜ Presenter์™€ Controller์˜ ์—ญํ•  ๋ถ„๋‹ด์€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋‚˜์š”?
    • ์ด ๋‘ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์€ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•˜์‹œ๋‚˜์š”?
  6. iOS ๊ฐœ๋ฐœ์—์„œ Clean Architecture๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, Swift์˜ ์–ด๋–ค ์–ธ์–ด์  ํŠน์ง•์ด๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋Šฅ์ด ํŠนํžˆ ์œ ์šฉํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  7. Clean Architecture๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ iOS ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ณผ์ •์—์„œ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์–ด๋–ป๊ฒŒ ๊ณ ๋ คํ•˜์‹œ๋‚˜์š”?
    • ํŠนํžˆ ์–ด๋–ค ๋ ˆ์ด์–ด์—์„œ ์„ฑ๋Šฅ ๊ด€๋ จ ์ด์Šˆ์— ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด๋‚˜์š”?
  8. Dependency Injection์„ Clean Architecture ๋‚ด์—์„œ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜์‹œ๋‚˜์š”?
    • ์ด๋ฅผ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Dependency Injection์„ ๊ตฌํ˜„ํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ฃผ์š” ์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  9. Clean Architecture ์ ์šฉ ์‹œ, iOS ์•ฑ์˜ ํ™•์žฅ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋‚˜์š”?
    • ํŠนํžˆ ์–ด๋–ค ๋ ˆ์ด์–ด๊ฐ€ ์ด๋Ÿฌํ•œ ์ธก๋ฉด์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋‚˜์š”?
  10. MVC, MVP, MVVM ๋“ฑ ๋‹ค๋ฅธ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด๊ณผ Clean Architecture๋ฅผ ๋น„๊ตํ–ˆ์„ ๋•Œ, iOS ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ Clean Architecture์˜ ๋…ํŠนํ•œ ์žฅ์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ์ด๋Ÿฌํ•œ ์žฅ์ ์ด ์‹ค์ œ ์•ฑ ๊ฐœ๋ฐœ ๊ณผ์ •์— ์–ด๋–ป๊ฒŒ ๋ฐ˜์˜๋˜์—ˆ๋‚˜์š”?

Coordinator Pattern: Navigation management.

  1. Coordinator ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ iOS ์•ฑ ๋‚ด์˜ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ด€๋ฆฌ๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ViewController ๊ฐ„์˜ ์˜์กด์„ฑ์„ ์ค„์ด์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
    • ์ด๋Ÿฌํ•œ ์„ค๊ณ„๊ฐ€ ๊ฐ€์ ธ์˜ค๋Š” ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋ชจ์˜ ๊ฐ์ฒด(Mock objects)๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ Coordinator ํŒจํ„ด์ด ์–ด๋–ค ์ด์ ์„ ์ œ๊ณตํ•˜๋‚˜์š”?
  2. Coordinator ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ˆœํ™˜ ์ฐธ์กฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ „๋žต์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
    • ์ˆœํ™˜ ์ฐธ์กฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค Swift ์–ธ์–ด ๊ธฐ๋Šฅ์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
    • ์ˆœํ™˜ ์ฐธ์กฐ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ด๋ฅผ ํƒ์ง€ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
  3. Coordinator ํŒจํ„ด์„ ๋„์ž…ํ•จ์œผ๋กœ์จ, ๊ธฐ์กด MVC, MVVM, ํ˜น์€ ๋‹ค๋ฅธ ๋””์ž์ธ ํŒจํ„ด๊ณผ์˜ ํ†ตํ•ฉ์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
    • ํŠนํžˆ MVVM ํŒจํ„ด๊ณผ ๊ฒฐํ•ฉํ•  ๋•Œ Coordinator ํŒจํ„ด์˜ ์—ญํ• ๊ณผ ์ฑ…์ž„์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ•˜๋‚˜์š”?
  4. ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ์—ฌ๋Ÿฌ Coordinator๋“ค์ด ์ƒํ˜ธ์ž‘์šฉํ•  ๋•Œ, ์ด๋“ค ๊ฐ„์˜ ํ†ต์‹ ๊ณผ ๊ด€๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ์กฐ์ ˆํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
    • Coordinator ๊ฐ„์˜ ํ†ต์‹ ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‚˜ ํŒจํ„ด์ด ์žˆ์œผ์‹ ๊ฐ€์š”?
  5. Coordinator ํŒจํ„ด์„ ์‚ฌ์šฉํ•  ๋•Œ, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋™์  ๋ณ€๊ฒฝ(์˜ˆ: ์‚ฌ์šฉ์ž ๊ถŒํ•œ์— ๋”ฐ๋ผ ํ™”๋ฉด ์š”์†Œ ๋ณ€๊ฒฝ)์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
    • ์ด ๊ณผ์ •์—์„œ Coordinator์˜ ์—ญํ• ๊ณผ ViewController์˜ ์—ญํ• ์€ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ•˜์‹œ๋‚˜์š”?
  6. Coordinator ํŒจํ„ด์ด ๊ฐ€์ ธ์˜ค๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ธก๋ฉด์—์„œ์˜ ๊ณ ๋ ค์‚ฌํ•ญ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
    • ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค Swift ํŠน์ง•์„ ํ™œ์šฉํ•˜์‹œ๋‚˜์š”?
  7. ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ Coordinator ํŒจํ„ด์„ ๊ตฌํ˜„ํ•  ๋•Œ, ์–ด๋–ค ๊ณ ๋ ค์‚ฌํ•ญ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
    • ํ”„๋กœ์ ํŠธ์˜ ๊ทœ๋ชจ๋‚˜ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ Coordinator ํŒจํ„ด์˜ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•์— ์–ด๋–ค ๋ณ€ํ™”๋ฅผ ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

Advanced UI/UX Design

Interactive Animations: Creating more engaging and interactive UI elements.

  • TBA

Advanced Prototyping Tools: Mastery of tools like Sketch, Adobe XD, or Figma for high-fidelity UI/UX design.

  • TBA

Advanced Networking

GraphQL: Understanding and using GraphQL for more efficient data fetching.

  • TBA

Socket Programming: For real-time communication applications.

  • TBA

Advanced Data Management

Big Data and Analytics: Handling and analyzing large data sets for insights.

  • TBA

Advanced Database Management: Using databases like Realm or Firebase for more complex data handling.

  • TBA

Specialized Frameworks and APIs

AVFoundation: Advanced audiovisual media handling.

  • TBA

Augmented Reality: ARKit, RealityKit.

  • TBA

Advanced and Emerging Technologies

Machine Learning: Basics of CoreML.

  • TBA

Cloud Integration: Basics of cloud services like AWS, Azure, or Google Cloud.

  • TBA

Voice and Chat Interfaces: Basics of voice assistants and chatbots integration.

  • TBA

Blockchain and Cryptocurrency: Basics of integrating blockchain technologies and understanding cryptocurrency transactions within apps.

  • TBA

Virtual Reality (VR): Understanding the basics of VR integration and its application in iOS development.

  • TBA

Security and Privacy

App Security: Encryption, authentication, secure coding.

  • TBA

Data Privacy: User consent, data handling regulations.

  • TBA