Skip to content

๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ปiOS ๋ฉด์ ‘์— ๋‚˜์˜ฌ ์งˆ๋ฌธ๋“ค ์ด ์ •๋ฆฌ

Notifications You must be signed in to change notification settings

JeaSungLEE/iOSInterviewquestions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

72 Commits
ย 
ย 
ย 
ย 

Repository files navigation

Jercy's Interview Questions for iOS Developers

์ด์ „ ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ๋Š” ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

iOS ๋ฉด์ ‘ ์ค€๋น„์™€ ํ•™์Šต์„ ๋•๊ธฐ ์œ„ํ•ด ๊ตฌ์„ฑ๋œ ์ž๋ฃŒ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ์ด ์ €์žฅ์†Œ๋Š” ์งˆ๋ฌธ์˜ ๊นŠ์€ '์™œ'๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘๊ณ , ๋‹จ์ˆœํ•œ ์ง€์‹ ์•”๊ธฐ๋ฅผ ๋„˜์–ด์„  ์งˆ๋ฌธ๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ต๋ณ€์„ ๋‹จ์ˆœํžˆ ์™ธ์šฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๊ทธ ์ด์œ ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ €์žฅ์†Œ๋Š” ์งˆ๋ฌธ์— ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅ์†Œ๋Š” ์ง์ ‘์ ์ธ ๋‹ต๋ณ€์„ ์ œ๊ณตํ•˜์ง€ ์•Š์•„, ์—ฌ๋Ÿฌ๋ถ„์ด ์ž์ฒด์ ์œผ๋กœ ๋‹ต๋ณ€์„ ์ค€๋น„ํ•˜๋ฉด์„œ ๊ด€๋ จ ์ง€์‹์„ ํƒ๊ตฌํ•˜๊ณ  ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.

์šฐ์„ , ๊ธฐ์ดˆ ์ง€์‹์˜ ํ™•๋ฆฝ์ด ์ค‘์š”ํ•˜๋ฏ€๋กœ, ๋ฉด์ ‘ ์งˆ๋ฌธ ํ•™์Šต์— ์•ž์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ถŒ์žฅ ํ•™์Šต ์ž๋ฃŒ๋“ค์„ ํ™•์ธํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค:

  1. ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ์ปดํ“จํ„ฐ ๊ณผํ•™(CS50) - ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ฑ ํ•„์ˆ˜์ ์ธ ๊ฐœ๋…์„ ์•Œ๋ ค์ฃผ๋Š” ๊ฐ•์ขŒ์ž…๋‹ˆ๋‹ค.
  2. Swift ํ•œ๊ตญ์–ด - Swift ์–ธ์–ด์— ๋Œ€ํ•œ ์ข…ํ•ฉ์ ์ธ ์ดํ•ด๋ฅผ ๋•๋Š” ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค.
  3. ProGit - Git์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•๊ณผ ์›๋ฆฌ๋ฅผ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค.
  4. leetCode - ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์žˆ์–ด์„œ ๋น ์งˆ์ˆ˜ ์—†๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค. ๊พธ์ค€ํžˆ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ‘ธ์‹œ๋Š”๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์•„๋ž˜๋Š” Apple์˜ ๊ฐ€์ด๋“œ ๋ฌธ์„œ์™€ ํŠœํ† ๋ฆฌ์–ผ์ž…๋‹ˆ๋‹ค. ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋˜๊ณ  ์žˆ์œผ๋‹ˆ ํ•œ๋ฒˆ์”ฉ ๊ตฌ๊ฒฝ ํ•ด๋ณด์„ธ์š”.

  1. Apple All Videos - Apple ๊ฐœ๋ฐœ์ž ์ปจํผ๋Ÿฐ์Šค ๋น„๋””์˜ค๋กœ, ์ตœ์‹  iOS ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ์™€ ๊ธฐ์ˆ ์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. iOS App Dev Tutorials - Apple์—์„œ ์ œ๊ณตํ•˜๋Š” iOS ์•ฑ ๊ฐœ๋ฐœ ํŠœํ† ๋ฆฌ์–ผ์ž…๋‹ˆ๋‹ค.
  3. SwiftUI Tutorials - SwiftUI์— ๋Œ€ํ•œ Apple์˜ ํŠœํ† ๋ฆฌ์–ผ์ž…๋‹ˆ๋‹ค.
  4. Apple Developer Documentation - Apple์˜ ๊ณต์‹ ๊ฐœ๋ฐœ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.

Apple ๊ณต์‹ ๊ฐœ๋ฐœ ๋ฌธ์„œ์ค‘ ์ฝ์–ด ๋ณด๋ฉด ์ข‹์€ ๋ฌธ์„œ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

์ด๋Ÿฌํ•œ ์ž๋ฃŒ๋“ค์€ iOS ๊ฐœ๋ฐœ์˜ ๊ธฐ์ดˆ๋ฅผ ๋‹ค์ง€๊ณ , ๋ฉด์ ‘ ์ค€๋น„์— ํ•„์š”ํ•œ ๊นŠ์€ ์ดํ•ด์™€ ์ง€์‹์„ ์ œ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ ˆ๋ฒจ๋ณ„ ์˜ˆ์ƒ ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ

์•„๋ž˜ ๋ ˆ๋ฒจ์€ 0๋ถ€ํ„ฐ 5๊นŒ์ง€ ์ด 6๊ฐœ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์œผ๋ฉฐ, ๋ ˆ๋ฒจ์€ ์ž„์˜๋กœ ๊ฐœ์ธ์ ์ธ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์—ˆ์Šต๋‹ˆ๋‹ค.

๋ ˆ๋ฒจ 0: ํ•™์ƒ
๋ ˆ๋ฒจ 1: 0 ~ 1๋…„์ฐจ
๋ ˆ๋ฒจ 2: 1 ~ 3๋…„์ฐจ
๋ ˆ๋ฒจ 3: 3 ~ 5๋…„์ฐจ
๋ ˆ๋ฒจ 4: 5 ~ 7๋…„์ฐจ
๋ ˆ๋ฒจ 5: 7๋…„์ฐจ ์ด์ƒ

๋ ˆ๋ฒจ 0

๋ ˆ๋ฒจ 0: ํ•™์ƒ / ์‹ ์ž… iOS ๊ฐœ๋ฐœ์ž ์˜ˆ์ƒ ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ

  1. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ CPU, RAM, ์ €์žฅ ์žฅ์น˜์˜ ์—ญํ• ๊ณผ ์ด๋“ค์ด ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๐Ÿ’ก ํžŒํŠธ: ์•ฑ ์‹คํ–‰ ๊ณผ์ •์„ ๋‹จ๊ณ„๋ณ„๋กœ ์ƒ๊ฐํ•ด๋ณด์„ธ์š”

  • ์ €์žฅ ์žฅ์น˜์—์„œ ์•ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๋“œ
  • RAM์— ์ฝ”๋“œ์™€ ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ์ ์žฌ
  • CPU๊ฐ€ ๋ช…๋ น์–ด ์‹คํ–‰
  • ํ•„์š”์‹œ ์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค ๋กœ๋“œ
  • ์•ฑ์„ ์‹คํ–‰ํ•  ๋•Œ ์ด ๊ตฌ์„ฑ ์š”์†Œ๋“ค์ด ์–ด๋–ค ์ˆœ์„œ๋กœ, ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜์—ฌ ์•ฑ ํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ๊ฒŒ ๋˜๋‚˜์š”?
  • RAM์ด ๋ถ€์กฑํ•˜๋ฉด iOS ์‹œ์Šคํ…œ์€ ์–ด๋–ค ๋™์ž‘์„ ํ• ๊นŒ์š”? ์ด๊ฒƒ์ด ์•ฑ ๊ฐœ๋ฐœ ์‹œ ์™œ ์ค‘์š”ํ• ๊นŒ์š”?
  • CPU ์†๋„, RAM ์šฉ๋Ÿ‰, ์ €์žฅ ์žฅ์น˜ ์†๋„ ์ค‘ ์–ด๋–ค ๊ฒƒ์ด ์•ฑ์˜ '์ฒด๊ฐ ์†๋„'์— ๊ฐ€์žฅ ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ด์œ ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • iOS์˜ A-์‹œ๋ฆฌ์ฆˆ ์นฉ์…‹์—์„œ CPU์™€ GPU๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋Š” Unified Memory Architecture๊ฐ€ ์•ฑ ๊ฐœ๋ฐœ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Metal ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ CPU์™€ GPU ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. CPU์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜์€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋‚˜์š”?
  • ๋ฐ์ดํ„ฐ ๊ตํ™˜ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—๋Š” ์–ด๋–ค ์žฅ์น˜๋“ค์ด ์‚ฌ์šฉ๋˜๋‚˜์š”?
  • ๋ฒ„์Šค(Bus)๋ž€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ค ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‚˜์š”?
    • CPU์™€ RAM ์™ธ์— ๋ฒ„์Šค๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋˜๋Š” ๋‹ค๋ฅธ ์žฅ์น˜๋“ค์€ ๋ฌด์—‡์ด ์žˆ์„๊นŒ์š”?
  • ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐœ๋…๊ณผ ์—ญํ• ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • ์บ์‹œ ํžˆํŠธ(Cache Hit)์™€ ์บ์‹œ ๋ฏธ์Šค(Cache Miss)๋Š” ๋ฌด์—‡์ด๋ฉฐ, ์„ฑ๋Šฅ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋‚˜์š”?
  1. ์บ์‹œ์˜ ์ง€์—ญ์„ฑ(Locality) ์›๋ฆฌ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ๊ณผ ๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ์˜ ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ์ฝ”๋“œ๋กœ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”? (์˜ˆ: ๋ฐ˜๋ณต๋ฌธ, ๋ฐฐ์—ด ์ˆœํšŒ)
  • ์ง€์—ญ์„ฑ ์›๋ฆฌ๋ฅผ ์ž˜ ํ™œ์šฉํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋Š” ์–ด๋–ค ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์„๊นŒ์š”?
  1. CPU ์•„ํ‚คํ…์ฒ˜์˜ ์ข…๋ฅ˜(์˜ˆ: ARM, x86)์™€ ๊ฐ ํŠน์ง•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • iOS ๊ธฐ๊ธฐ๋Š” ์ฃผ๋กœ ์–ด๋–ค ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?
  • iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” ๋ณดํ†ต ์–ด๋–ค ์•„ํ‚คํ…์ฒ˜์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ์‹ค์ œ ๊ธฐ๊ธฐ์™€ ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ์„๊นŒ์š”? ์ด๊ฒƒ์ด ๊ฐœ๋ฐœ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋‚˜์š”?
  • iOS ๊ธฐ๊ธฐ์—์„œ ์‚ฌ์šฉ๋˜๋Š” AP(Application Processor)์˜ ํŠน์ง•๊ณผ ์—ญํ• ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • iOS AP์—๋Š” CPU ์™ธ์— ์–ด๋–ค ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด๋“ค์ด ์•ฑ ์„ฑ๋Šฅ์— ์–ด๋–ป๊ฒŒ ๊ธฐ์—ฌํ•˜๋‚˜์š”? (์˜ˆ: GPU, Neural Engine)
  • SoC(System on a Chip)์˜ ๊ฐœ๋…์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • SoC ์„ค๊ณ„๊ฐ€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? (์˜ˆ: ์ „๋ ฅ ํšจ์œจ, ํฌ๊ธฐ)
  1. iOS ์•ฑ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ „ํ™˜๋  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์œผ๋กœ ์ข…๋ฃŒ๋˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  • iOS์˜ ๋ฉ”๋ชจ๋ฆฌ ์••๋ ฅ(Memory Pressure) ๋‹จ๊ณ„๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„๋˜๋ฉฐ, ๊ฐ ๋‹จ๊ณ„์—์„œ ์‹œ์Šคํ…œ์ด ์ทจํ•˜๋Š” ์กฐ์น˜๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Normal, Warning, Urgent, Critical ๊ฐ ๋‹จ๊ณ„์—์„œ ์‹œ์Šคํ…œ์ด ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์€?
    • ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ ๋‹จ๊ณ„์—์„œ ์ทจํ•ด์•ผ ํ•  ์กฐ์น˜์˜ ์šฐ์„ ์ˆœ์œ„๋Š”?
  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์•ฑ์ด ์ข…๋ฃŒ๋˜๋Š” ์šฐ์„ ์ˆœ์œ„๋Š” ์–ด๋–ป๊ฒŒ ๊ฒฐ์ •๋˜๋‚˜์š”? (๋งˆ์ง€๋ง‰ ์‚ฌ์šฉ ์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๋“ฑ)
  • ์•ฑ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ข…๋ฃŒ๋˜๊ธฐ ์ „์— ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์•Œ๋ฆผ์€ ๋ฌด์—‡์ด๋ฉฐ, ์ด๋•Œ ์–ด๋–ค ์ž‘์—…์„ ํ•ด์•ผ ํ•˜๋‚˜์š”?
  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ๋„ ๊ณ„์† ์‹คํ–‰์ด ํ—ˆ์šฉ๋˜๋Š” ์•ฑ ์œ ํ˜•(์Œ์•…, ๋„ค๋น„๊ฒŒ์ด์…˜ ๋“ฑ)์€ ์–ด๋–ค ํŠน๋ณ„ํ•œ ๊ถŒํ•œ์„ ์‚ฌ์šฉํ•˜๋‚˜์š”?
  1. ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด์ , ๊ทธ๋ฆฌ๊ณ  iOS์—์„œ์˜ ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ํ•˜๋‚˜์˜ ์•ฑ ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ํ”ํ•œ๊ฐ€์š”? ์•„๋‹ˆ๋ผ๋ฉด ์™œ ์Šค๋ ˆ๋“œ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ• ๊นŒ์š”?
  • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Main ์Šค๋ ˆ๋“œ์—์„œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋ฉด ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • iOS์—์„œ GCD(Grand Central Dispatch)๋Š” ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋‚˜์š”?
    • GCD๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์Šค๋ ˆ๋“œ๋ฅผ ์ง์ ‘ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์–ด๋ ค์›€์€ ๋ฌด์—‡์ผ๊นŒ์š”?
    • GCD์˜ DispatchQueue ์ข…๋ฅ˜(Serial, Concurrent)์™€ ์‚ฌ์šฉ ๋ชฉ์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • iOS์—์„œ ์•ฑ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋  ๋•Œ ์Šค๋ ˆ๋“œ ์šฐ์„ ์ˆœ์œ„๋Š” ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ๋˜๋‚˜์š”?
    • Quality of Service (QoS) ํด๋ž˜์Šค์™€ ์Šค๋ ˆ๋“œ ์šฐ์„ ์ˆœ์œ„์˜ ๊ด€๊ณ„๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • iOS์˜ ๋Ÿฐ๋ฃจํ”„(RunLoop)์™€ ์Šค๋ ˆ๋“œ์˜ ๊ด€๊ณ„๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ• ์ค‘ iOS์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹๊ณผ ๊ทธ ํŠน์ง•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๐Ÿ’ก ํžŒํŠธ: ARC vs GC ๋น„๊ต ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ

  • ์„ฑ๋Šฅ: ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ vs ์ฃผ๊ธฐ์  ์ฒ˜๋ฆฌ
  • ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ: ์ฆ‰์‹œ ํ•ด์ œ vs ๋ถˆํ™•์‹คํ•œ ํƒ€์ด๋ฐ
  • ์˜ค๋ฒ„ํ—ค๋“œ: ์ฐธ์กฐ ์นด์šดํŒ… vs ๋งˆํ‚น & ์Šค์œ„ํ•‘
  • ์ž๋™ ์ฐธ์กฐ ์นด์šดํŒ…(ARC)์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋‚˜์š”?
    • ARC๊ฐ€ ์ž๋™์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•ด์ฃผ๋Š”๋ฐ, ๊ฐœ๋ฐœ์ž๊ฐ€ ์—ฌ์ „ํžˆ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์— ์‹ ๊ฒฝ ์จ์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?
    • ๊ฐ•ํ•œ ์ฐธ์กฐ(Strong Reference), ์•ฝํ•œ ์ฐธ์กฐ(Weak Reference), ๋ฏธ์†Œ์œ  ์ฐธ์กฐ(Unowned Reference)๋Š” ๊ฐ๊ฐ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”? ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • ์ˆœํ™˜ ์ฐธ์กฐ(Retain Cycle)๋Š” ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ป๊ฒŒ ๋ฐœ์ƒํ•˜๊ณ  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‚˜์š”? (ํด๋กœ์ €์—์„œ์˜ ์ˆœํ™˜ ์ฐธ์กฐ ํฌํ•จ)
      • ํด๋กœ์ €์—์„œ [weak self] vs [unowned self] ์„ ํƒ ๊ธฐ์ค€์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
      • self๊ฐ€ nil์ด ๋  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ๊ณผ ๋  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์„ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ•˜๋‚˜์š”?
      • guard let self = self ํŒจํ„ด์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Garbage Collection๊ณผ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ARC ๋ฐฉ์‹์ด GC ๋ฐฉ์‹์— ๋น„ํ•ด ๊ฐ–๋Š” ์žฅ์ ๊ณผ ๋‹จ์ ์€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?
  1. iOS์˜ ์ƒŒ๋“œ๋ฐ•์Šค(Sandbox) ๊ฐœ๋…๊ณผ ์—ญํ• , ๊ทธ๋ฆฌ๊ณ  ์•ฑ ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ณต์œ  ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์ƒŒ๋“œ๋ฐ•์Šค ๋•Œ๋ฌธ์— ์•ฑ ๊ฐœ๋ฐœ ์‹œ ๊ฒช์„ ์ˆ˜ ์žˆ๋Š” ์ œ์•ฝ์‚ฌํ•ญ์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ์„๊นŒ์š”?
  • URL ์Šคํ‚ด(URL Scheme)์„ ์ด์šฉํ•œ ์•ฑ ๊ฐ„ ํ†ต์‹ ์€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋‚˜์š”?
    • URL ์Šคํ‚ด์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ณด์•ˆ์ ์œผ๋กœ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ผ๊นŒ์š”?
  • ์•ฑ ๊ทธ๋ฃน(App Group)์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ณต์œ ๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์•ฑ ๊ทธ๋ฃน์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ๊ณต์œ ๋Š” ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ์— ์ ํ•ฉํ• ๊นŒ์š”? ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ๊ณต์œ ์—๋„ ์ ํ•ฉํ• ๊นŒ์š”?
    • ์•ฑ ํ™•์žฅ(App Extension)๊ณผ ์•ฑ ๊ทธ๋ฃน์€ ์–ด๋–ค ๊ด€๊ณ„๊ฐ€ ์žˆ๋‚˜์š”?
  1. iOS์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์™€ ๊ด€๋ฆฌ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ํž™(Heap)๊ณผ ์Šคํƒ(Stack)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋‚˜์š”? ์žฌ๊ท€ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์€ ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?
    • Swift์˜ ๊ฐ’ ํƒ€์ž…(Value Type)๊ณผ ์ฐธ์กฐ ํƒ€์ž…(Reference Type)์€ ๊ฐ๊ฐ ํž™๊ณผ ์Šคํƒ ์ค‘ ์–ด๋””์— ์ฃผ๋กœ ํ• ๋‹น๋˜๋‚˜์š”? ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?
    • ๊ฐ’ ํƒ€์ž…๊ณผ ์ฐธ์กฐ ํƒ€์ž…์˜ ๋ณต์‚ฌ ๋ฐฉ์‹(Copy-on-Write ํฌํ•จ) ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ(Stack Overflow)๋Š” ์–ด๋–ค ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
  1. ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•  ๋•Œ Wi-Fi์—์„œ๋Š” ์‹คํŒจํ•˜์ง€๋งŒ LTE์—์„œ๋Š” ์„ฑ๊ณตํ•œ๋‹ค๋ฉด, ์–ด๋–ค ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ํ™•์ธํ•ด์•ผ ํ• ๊นŒ์š”?
  • HTTP์™€ HTTPS์˜ ์ฐจ์ด์ , ๊ทธ๋ฆฌ๊ณ  iOS์—์„œ์˜ ๋ณด์•ˆ ํ†ต์‹  ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ†ต์‹  ๋‚ด์šฉ์ด ์•ˆ์ „ํ•˜๋‹ค๊ณ  ๋งํ•˜๋Š”๋ฐ, ์ •ํ™•ํžˆ ๋ฌด์—‡์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ๋˜๋Š” ๊ฑด๊ฐ€์š”? (๊ธฐ๋ฐ€์„ฑ, ๋ฌด๊ฒฐ์„ฑ, ์ธ์ฆ ์„ค๋ช…)
    • iOS ์•ฑ์—์„œ HTTP ํ†ต์‹ ์„ ์‹œ๋„ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์–ด๋–ค ์ œํ•œ์ด ์žˆ๋‚˜์š”? ์ด ์ œํ•œ์„ ์šฐํšŒํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”? (ATS - App Transport Security)
  • SSL/TLS์˜ ๋™์ž‘ ์›๋ฆฌ(Handshake ๊ณผ์ • ํฌํ•จ)๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • ๋ธŒ๋ผ์šฐ์ €๋‚˜ ์•ฑ์ด ์„œ๋ฒ„์˜ SSL/TLS ์ธ์ฆ์„œ๊ฐ€ ์œ ํšจํ•œ์ง€ ์–ด๋–ป๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‚˜์š”? (CA, ์ธ์ฆ์„œ ์ฒด์ธ ๊ฐœ๋…)
  1. iOS ์•ฑ์—์„œ URLSession์œผ๋กœ API๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ OSI 7๊ณ„์ธต ์ค‘ ์–ด๋–ค ๊ณ„์ธต๋“ค์ด ๊ด€์—ฌํ•˜๋ฉฐ, ๊ฐ ๊ณ„์ธต์—์„œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋‚˜์š”?
  • Application Layer(7๊ณ„์ธต)์—์„œ HTTP/HTTPS ์š”์ฒญ์€ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์ง€๋‚˜์š”?
    • URLSession์ด ๋‚ด๋ถ€์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ์ž‘์—…๋“ค์€ ๋ฌด์—‡์ธ๊ฐ€์š”? (ํ—ค๋” ์„ค์ •, ์ธ์ฝ”๋”ฉ ๋“ฑ)
  • Transport Layer(4๊ณ„์ธต)์—์„œ TCP ์—ฐ๊ฒฐ์€ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌ๋˜๋‚˜์š”?
    • iOS์—์„œ Keep-Alive ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ์„ค์ • ๋ฐฉ๋ฒ•์€?
  • Network Layer(3๊ณ„์ธต)์—์„œ IP ์ฃผ์†Œ๋Š” ์–ด๋–ป๊ฒŒ ๊ฒฐ์ •๋˜๋‚˜์š”?
    • iOS ๊ธฐ๊ธฐ๊ฐ€ Wi-Fi์™€ ์…€๋ฃฐ๋Ÿฌ ๋„คํŠธ์›Œํฌ๋ฅผ ์ „ํ™˜ํ•  ๋•Œ ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚˜๋‚˜์š”?
  1. HTTP ํ”„๋กœํ† ์ฝœ์˜ ํŠน์ง•๊ณผ HTTP/1.1๊ณผ HTTP/2์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • HTTP์˜ ๋ฌด์ƒํƒœ(Stateless) ์„ฑ์งˆ์€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜๋‚˜์š”?
    • ๋กœ๊ทธ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๋กœ ์–ด๋–ค ๊ธฐ์ˆ ๋“ค์ด ์‚ฌ์šฉ๋˜๋‚˜์š”? (Cookie, Session, Token)
  • HTTP/2์—์„œ ์ถ”๊ฐ€๋œ ์ฃผ์š” ๊ธฐ๋Šฅ(Multiplexing, Header Compression, Server Push ๋“ฑ)์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • HTTP/2์˜ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ(Multiplexing) ๊ธฐ๋Šฅ์ด ์•ฑ ์„ฑ๋Šฅ์— ์–ด๋–ค ์ด์ ์„ ์ค„ ์ˆ˜ ์žˆ๋‚˜์š”? HTTP/1.1์˜ Head-of-Line Blocking ๋ฌธ์ œ์™€ ์–ด๋–ป๊ฒŒ ๊ด€๋ จ๋˜๋‚˜์š”?
  • HTTP/3์—์„œ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ธ๊ฐ€์š”? (QUIC ๊ธฐ๋ฐ˜์ด๋ผ๋Š” ์  ์–ธ๊ธ‰)
    • HTTP/3๊ฐ€ UDP ๊ธฐ๋ฐ˜์˜ QUIC์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? TCP ๋Œ€์‹  UDP๋ฅผ ์„ ํƒํ•œ ์žฅ์ ์€ ๋ฌด์—‡์ผ๊นŒ์š”?
  1. iOS์—์„œ ์‹ค์‹œ๊ฐ„ ํ™”์ƒํ†ตํ™” ์•ฑ์„ ๋งŒ๋“ ๋‹ค๋ฉด TCP์™€ UDP ์ค‘ ์–ด๋–ค ํ”„๋กœํ† ์ฝœ์„ ์„ ํƒํ•ด์•ผ ํ•˜๋ฉฐ, ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ํ™”์ƒํ†ตํ™”์—์„œ ์•ฝ๊ฐ„์˜ ํŒจํ‚ท ์†์‹ค๊ณผ ์ง€์—ฐ ์ค‘ ์–ด๋–ค ๊ฒƒ์ด ๋” ์น˜๋ช…์ ์ธ๊ฐ€์š”?
    • WebRTC๊ฐ€ UDP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • iOS์˜ CallKit๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ๋„คํŠธ์›Œํฌ ์„ค์ •์€?
  • TCP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฑ„ํŒ… ๊ธฐ๋Šฅ๊ณผ UDP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์Œ์„ฑ/์˜์ƒ ๊ธฐ๋Šฅ์„ ๋™์‹œ์— ๊ตฌํ˜„ํ•  ๋•Œ ์ฃผ์˜์ ์€?
    • Network.framework๋ฅผ ์‚ฌ์šฉํ•œ ์ปค์Šคํ…€ ํ”„๋กœํ† ์ฝœ ๊ตฌํ˜„ ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ์€?
  • iOS์—์„œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ VoIP ์†Œ์ผ“์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ œ์•ฝ์‚ฌํ•ญ์€?
    • PushKit์„ ์‚ฌ์šฉํ•œ VoIP ํ‘ธ์‹œ์™€ ์ผ๋ฐ˜ ํ‘ธ์‹œ์˜ ์ฐจ์ด์ ์€?
  1. REST API์™€ iOS์—์„œ์˜ ๋„คํŠธ์›Œํฌ ์š”์ฒญ ๋ฐ ์‘๋‹ต ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • REST์˜ ์ œ์•ฝ ์กฐ๊ฑด(Stateless, Cacheable, Client-Server ๋“ฑ)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • iOS์—์„œ URLSession์„ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ธฐ๋ณธ์ ์ธ ๊ณผ์ •์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • URLSession ์™ธ์— iOS์—์„œ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•(๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)๋“ค์€ ๋ฌด์—‡์ด ์žˆ๋‚˜์š”? (์˜ˆ: Alamofire) ์–ด๋–ค ์žฅ๋‹จ์ ์ด ์žˆ์„๊นŒ์š”?
  • REST API์—์„œ HTTP ๋ฉ”์„œ๋“œ๋“ค์˜ ์ฐจ์ด์ (GET, POST, PUT, DELETE ๋“ฑ)๊ณผ ๊ฐ๊ฐ์˜ ์šฉ๋„๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • GET๊ณผ POST์˜ ์ฃผ์š” ์ฐจ์ด์ (๋ฉฑ๋“ฑ์„ฑ, Body ์œ ๋ฌด, ์บ์‹ฑ ๋“ฑ)์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • PUT๊ณผ PATCH ๋ฉ”์„œ๋“œ์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ์–ธ์ œ ๊ฐ๊ฐ์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”?
  • HTTP ์ƒํƒœ ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. (1xx, 2xx, 3xx, 4xx, 5xx ๊ทธ๋ฃน๋ณ„ ์˜๋ฏธ)
    • API ์š”์ฒญ ์‹คํŒจ ์‹œ, 4xx ์—๋Ÿฌ์™€ 5xx ์—๋Ÿฌ์˜ ์˜๋ฏธ ์ฐจ์ด๋Š” ๋ฌด์—‡์ด๋ฉฐ, ์•ฑ์—์„œ๋Š” ๊ฐ๊ฐ ์–ด๋–ป๊ฒŒ ๋Œ€์‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ์š”? (์˜ˆ: ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆผ, ์žฌ์‹œ๋„ ๋กœ์ง)
  • ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ JSON ๋ฐ์ดํ„ฐ๋ฅผ Swift ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •(Decoding)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • Swift์˜ Codable ํ”„๋กœํ† ์ฝœ์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋‚˜์š”? Encodable๊ณผ Decodable์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • JSON ํ‚ค์™€ Swift ํ”„๋กœํผํ‹ฐ ์ด๋ฆ„์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ๋งคํ•‘ํ•˜๋‚˜์š”? (CodingKeys)
  1. iOS์—์„œ ์ด๋ฏธ์ง€ ํŒŒ์ผ ํฌ๋งท(PNG, JPEG, HEIC, WebP ๋“ฑ)๊ณผ ๊ฐ ํฌ๋งท์˜ ํŠน์ง•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • PNG์™€ JPEG์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”? (์†์‹ค/๋ฌด์†์‹ค ์••์ถ•, ํˆฌ๋ช…๋„ ์ง€์› ๋“ฑ)
    • ์•ฑ UI ์š”์†Œ(๋ฒ„ํŠผ, ์•„์ด์ฝ˜ ๋“ฑ)์—๋Š” ์ฃผ๋กœ ์–ด๋–ค ์ด๋ฏธ์ง€ ํฌ๋งท์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ์š”? ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์ƒ‰์ƒ์ด ํ’๋ถ€ํ•œ ์ด๋ฏธ์ง€์—๋Š” ์™œ JPEG๊ฐ€ ๋” ์ ํ•ฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
  • HEIC ํฌ๋งท์˜ ์žฅ์ ์€ ๋ฌด์—‡์ด๋ฉฐ, iOS์—์„œ ์ฃผ๋กœ ์–ธ์ œ ์‚ฌ์šฉ๋˜๋‚˜์š”?
  • WebP ํฌ๋งท์˜ ํŠน์ง•๊ณผ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”? iOS ์•ฑ์—์„œ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”?
  • ๋ฌด์†์‹ค ์••์ถ•๊ณผ ์†์‹ค ์••์ถ•์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ด๋ฉฐ, ์ด๊ฒƒ์ด ํŒŒ์ผ ํฌ๊ธฐ์™€ ์ด๋ฏธ์ง€ ํ’ˆ์งˆ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋‚˜์š”?
  • iOS์˜ Asset Catalog์—์„œ ์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ์ตœ์ ํ™”๋˜๊ณ  ์••์ถ•๋˜๋‚˜์š”?
    • @1x, @2x, @3x ์ด๋ฏธ์ง€์™€ ๋””๋ฐ”์ด์Šค ํ”ฝ์…€ ๋ฐ€๋„์˜ ๊ด€๊ณ„๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • iOS์—์„œ ์ด๋ฏธ์ง€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”? (width ร— height ร— 4bytes)
      • ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด์ƒ˜ํ”Œ๋งํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. iOS์—์„œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์ฆˆ์™€ ๊ด€๋ จ๋œ ๊ฐœ๋…๊ณผ ๊ณ ๋ ค ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋ฉ”๋ชจ๋ฆฌ ์ •๋ ฌ(Alignment)์ด ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ฉ”๋ชจ๋ฆฌ ์ •๋ ฌ์ด ์ž˜๋ชป๋˜์—ˆ์„ ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? (์„ฑ๋Šฅ ์ €ํ•˜ ์™ธ์— Crash ๊ฐ€๋Šฅ์„ฑ)
  • iOS ๋””๋ฐ”์ด์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์ œ์•ฝ๊ณผ ์•ฑ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • ์•ฑ์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋…ธ๋ ฅ์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ์„๊นŒ์š”? (์ด๋ฏธ์ง€ ์ตœ์ ํ™”, ๋ฐ์ดํ„ฐ ์บ์‹ฑ ์ „๋žต, ๋ถˆํ•„์š”ํ•œ ๊ฐ์ฒด ํ•ด์ œ ๋“ฑ)
  • ๋ฉ”๋ชจ๋ฆฌ ๊ฒฝ๊ณ (Memory Warning)๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์–ด๋–ค ์กฐ์น˜๋ฅผ ์ทจํ•ด์•ผ ํ•˜๋‚˜์š”?
    • ๋ฉ”๋ชจ๋ฆฌ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ›์•˜์„ ๋•Œ, ๊ฐ€์žฅ ๋จผ์ € ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ์กฐ์น˜๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? (์บ์‹œ ๋น„์šฐ๊ธฐ, ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… ์ •๋ฆฌ ๋“ฑ)
    • Instruments์˜ Allocations, Leaks ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”? ์–ด๋–ค ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‚˜์š”?
  1. 1๋งŒ ๋ช…์˜ ์‚ฌ์šฉ์ž ๋ชฉ๋ก์—์„œ ํŠน์ • ์ด๋ฆ„์„ ๊ฒ€์ƒ‰ํ•  ๋•Œ, ๋ฐฐ์—ด ์ˆœ์ฐจ ๊ฒ€์ƒ‰๊ณผ ์ •๋ ฌ ํ›„ ์ด์ง„ ํƒ์ƒ‰์˜ ์„ฑ๋Šฅ ์ฐจ์ด๋Š” ์–ผ๋งˆ๋‚˜ ๋‚ ๊นŒ์š”?
  • O(1), O(log n), O(n), O(n log n), O(n^2)์˜ ์˜๋ฏธ๋ฅผ ์„ค๋ช…ํ•˜๊ณ , ๊ฐ๊ฐ์˜ ๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด์ค„ ์ˆ˜ ์žˆ๋‚˜์š”?
  • O(n)๊ณผ O(log n)์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๊ฐ€ ๋งค์šฐ ์ปค์งˆ ๋•Œ ์–ด๋–ค ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ• ๊นŒ์š”?
  • ์‹œ๊ฐ„ ๋ณต์žก๋„ ์™ธ์— ๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ ์ค‘์š”ํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์–ธ์ œ์ผ๊นŒ์š”? iOS ํ™˜๊ฒฝ์—์„œ ๊ณต๊ฐ„ ๋ณต์žก๋„๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„์„ ์‹œ ์ตœ์„ (Best), ํ‰๊ท (Average), ์ตœ์•…(Worst)์˜ ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜(์˜ˆ: ๋ฒ„๋ธ” ์ •๋ ฌ, ์„ ํƒ ์ •๋ ฌ, ์‚ฝ์ž… ์ •๋ ฌ, ํ€ต ์ •๋ ฌ, ๋ณ‘ํ•ฉ ์ •๋ ฌ)์˜ ๋™์ž‘ ์›๋ฆฌ์™€ ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๊ฐ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฑฐ์˜ ์ •๋ ฌ๋˜์–ด ์žˆ์„ ๋•Œ ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌด์—‡์ผ๊นŒ์š”?
  • ํ€ต ์ •๋ ฌ์˜ ํ‰๊ท ์ ์ธ ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ ์ตœ์•…์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€์š”? ์ตœ์•…์˜ ๊ฒฝ์šฐ๋Š” ์–ธ์ œ ๋ฐœ์ƒํ•˜๋ฉฐ, ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‚˜์š”? (Pivot ์„ ํƒ ๋ฐฉ๋ฒ•)
  • ๋ณ‘ํ•ฉ ์ •๋ ฌ์€ ํ•ญ์ƒ O(n log n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๋ณด์žฅํ•˜๋Š”๋ฐ, ์™œ ํ€ต ์ •๋ ฌ์ด ๋” ์ž์ฃผ ์‚ฌ์šฉ๋ ๊นŒ์š”? (๊ณต๊ฐ„ ๋ณต์žก๋„, ์‹ค์ œ ์„ฑ๋Šฅ)
  • Swift ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ sort() ๋ฉ”์„œ๋“œ๋Š” ์–ด๋–ค ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ• ๊นŒ์š”? (Introsort)
  1. ์ด์ง„ ํƒ์ƒ‰(Binary Search)์˜ ์›๋ฆฌ์™€ ์‹œ๊ฐ„ ๋ณต์žก๋„์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์ด์ง„ ํƒ์ƒ‰์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ „์ œ ์กฐ๊ฑด์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฐฐ์—ด์—์„œ ํŠน์ • ์›์†Œ๋ฅผ ์ฐพ๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด๋ฉฐ, ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”? (์„ ํ˜• ํƒ์ƒ‰)
  • ์žฌ๊ท€ ํ˜ธ์ถœ์„ ์ด์šฉํ•œ ์ด์ง„ ํƒ์ƒ‰๊ณผ ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•œ ์ด์ง„ ํƒ์ƒ‰์„ ๊ฐ๊ฐ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
  1. ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Dynamic Programming)์˜ ๊ฐœ๋…์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ๊ฐ€์š”? (์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ, ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ)
  • ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹(๋ฉ”๋ชจ์ด์ œ์ด์…˜๊ณผ ํƒ€๋ทธ๋ ˆ์ด์…˜)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์„ ๊ณ„์‚ฐํ•˜๋Š” ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”? ์ผ๋ฐ˜์ ์ธ ์žฌ๊ท€ ๋ฐฉ์‹๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์–ด๋–ค ์žฅ์ ์ด ์žˆ๋‚˜์š”?
  1. iOS NavigationController์˜ ๋’ค๋กœ ๊ฐ€๊ธฐ์™€ ์Œ์•… ์•ฑ์˜ ์žฌ์ƒ ๋Œ€๊ธฐ์—ด์€ ๊ฐ๊ฐ ์–ด๋–ค ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ ํ•ฉํ•˜๋ฉฐ, ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

๐Ÿ’ก ํžŒํŠธ: ๊ฐ ๊ธฐ๋Šฅ์˜ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํŒจํ„ด์„ ์ƒ๊ฐํ•ด๋ณด์„ธ์š”

  • NavigationController์˜ push/pop ๋™์ž‘๊ณผ ์Šคํƒ(Stack)์˜ ๊ด€๊ณ„๋Š”?
    • SwiftUI์˜ NavigationStack์€ ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜์–ด ์žˆ์„๊นŒ์š”?
    • ๋”ฅ๋งํฌ๋กœ ์—ฌ๋Ÿฌ ํ™”๋ฉด์„ ํ•œ ๋ฒˆ์— pushํ•  ๋•Œ ๊ณ ๋ ค์‚ฌํ•ญ์€?
  • ์Œ์•… ์žฌ์ƒ ๋Œ€๊ธฐ์—ด์— ํ(Queue)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š”?
    • ์ˆœํ™˜ ์žฌ์ƒ(Repeat)๊ณผ ์…”ํ”Œ(Shuffle) ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ๋•Œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณ€ํ˜•ํ•ด์•ผ ํ• ๊นŒ์š”?
  • UITableView์˜ ์…€ ์žฌ์‚ฌ์šฉ ํ’€(Reuse Pool)์€ ์–ด๋–ค ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ํšจ์œจ์ ์ผ๊นŒ์š”?
    • Dictionary vs Set vs Array ์ค‘ ์–ด๋–ค ๊ฒƒ์ด ์ ํ•ฉํ•œ๊ฐ€์š”?
  1. ์•”ํ˜ธํ™”์™€ ๋ณด์•ˆ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…, ๊ทธ๋ฆฌ๊ณ  iOS ์•ฑ ๋ณด์•ˆ์„ ์œ„ํ•œ ๋ฐฉ์•ˆ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์™€ ๋น„๋Œ€์นญํ‚ค(๊ณต๊ฐœํ‚ค) ์•”ํ˜ธํ™”์˜ ์ฐจ์ด์ ๊ณผ ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ , ์‚ฌ์šฉ ์˜ˆ๋ฅผ ๋“ค์–ด์ฃผ์„ธ์š”. HTTPS์—์„œ๋Š” ์ด ๋‘˜์„ ์–ด๋–ป๊ฒŒ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋‚˜์š”?
  • ํ•ด์‹ฑ(Hashing)์€ ๋ฌด์—‡์ด๋ฉฐ ์•”ํ˜ธํ™”์™€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€์š”? ๋น„๋ฐ€๋ฒˆํ˜ธ ์ €์žฅ์— ์™œ ํ•ด์‹ฑ(์†”ํŠธ ํฌํ•จ)์ด ์‚ฌ์šฉ๋ ๊นŒ์š”?
  • ์•ฑ ๋‚ด๋ถ€์— ์‚ฌ์šฉ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ๋‚˜ API ํ‚ค ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•ด์•ผ ํ•  ๋•Œ, ์–ด๋–ป๊ฒŒ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ• ๊นŒ์š”? (Keychain ์‚ฌ์šฉ) UserDefaults์— ์ €์žฅํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ Keychain์˜ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋„คํŠธ์›Œํฌ ํ†ต์‹  ์‹œ ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ(Man-in-the-Middle Attack)์€ ๋ฌด์—‡์ด๋ฉฐ, HTTPS์™€ ์ธ์ฆ์„œ ๊ณ ์ •(Certificate Pinning)์ด ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋‚˜์š”?
  1. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)์˜ ๊ฐœ๋…๊ณผ ๋™์ž‘ ์›๋ฆฌ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ๋œ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? (๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋‹จ์ˆœํ™”, ํ”„๋กœ์„ธ์Šค ๊ฒฉ๋ฆฌ, ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ํฐ ์ฃผ์†Œ ๊ณต๊ฐ„ ์ œ๊ณต ๋“ฑ)
  • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์‹ค์ œ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ(RAM)๋ณด๋‹ค ํด ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ํŽ˜์ด์ง•(Paging)๊ณผ ์Šค์™€ํ•‘(Swapping)์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ํŽ˜์ด์ง€ ํดํŠธ(Page Fault)๋Š” ๋ฌด์—‡์ด๋ฉฐ, ์–ธ์ œ ๋ฐœ์ƒํ•˜๋‚˜์š”? ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋ฉด ์–ด๋–ค ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‚˜์š”?
  1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ข…๋ฅ˜์™€ iOS์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS)์™€ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ฃผ์š” ์ฐจ์ด์ (๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ์Šคํ‚ค๋งˆ, ํ™•์žฅ์„ฑ ๋“ฑ)์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • iOS ์•ฑ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋“ค(UserDefaults, Plist, Keychain, Core Data, Realm, SQLite ๋“ฑ)์˜ ํŠน์ง•๊ณผ ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ , ์ ํ•ฉํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • ์•ฑ ๋‚ด๋ถ€์— ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ์ž ์„ค์ • ๊ฐ’(์˜ˆ: ๋‹คํฌ ๋ชจ๋“œ ์—ฌ๋ถ€, ํฐํŠธ ํฌ๊ธฐ)์„ ์ €์žฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์–ด๋–ค ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ ํ•ฉํ• ๊นŒ์š”?
    • ๋ณต์žกํ•œ ๊ฐ์ฒด ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•  ๋•Œ๋Š” ์–ด๋–ค ๊ธฐ์ˆ ์„ ๊ณ ๋ คํ•ด๋ณผ ์ˆ˜ ์žˆ์„๊นŒ์š”? (Core Data, Realm)
  1. ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด(Singleton Pattern)์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ค ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋‚˜์š”?
  • ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ๋‚จ์šฉํ–ˆ์„ ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? (์ „์—ญ ์ƒํƒœ ๋ฌธ์ œ, ํ…Œ์ŠคํŠธ ์–ด๋ ค์›€, ์˜์กด์„ฑ ์ˆจ๊น€ ๋“ฑ)
  • Swift์—์„œ ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ๊ตฌํ˜„ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด๋ฉฐ, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ์˜ ์•ˆ์ „์„ฑ(Thread Safety)์€ ์–ด๋–ป๊ฒŒ ๋ณด์žฅ๋˜๋‚˜์š”?
    • Swift์—์„œ let ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ฑ๊ธ€ํ†ค ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ์™œ ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋‚˜์š”? (dispatch_once ๋™์ž‘ ๋ฐฉ์‹ ์—ฐ๊ด€)
  1. Array์™€ List์˜ ์ฐจ์ด์ ์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • (์—ฌ๊ธฐ์„œ 'List'๊ฐ€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Linked List)๋ฅผ ์˜๋ฏธํ•˜๋Š”์ง€ ํ™•์ธ ํ›„) ๋ฐ์ดํ„ฐ ์ ‘๊ทผ(์ž„์˜์˜ ์ธ๋ฑ์Šค ์ ‘๊ทผ) ์†๋„๋Š” ์–ด๋–ค ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ๋” ๋น ๋ฅธ๊ฐ€์š”? ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋ฐ์ดํ„ฐ ์ค‘๊ฐ„์— ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋Š” ์—ฐ์‚ฐ์€ ์–ด๋–ค ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ์ด๋ก ์ ์œผ๋กœ ๋” ์œ ๋ฆฌํ•œ๊ฐ€์š”? ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ์ธก๋ฉด์—์„œ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Array)๊ณผ ๋…ธ๋“œ ๊ธฐ๋ฐ˜ ํ• ๋‹น(Linked List)์€ ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋‚˜์š”?
  • Swift์˜ Array๋Š” ๊ฐ’ ํƒ€์ž…์ธ๋ฐ, ์ด๊ฒƒ์ด ์„ฑ๋Šฅ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋‚˜์š”? (Copy-on-Write ์„ค๋ช… ํฌํ•จ)
  1. ์ง๋ ฌํ™”(Serialization)์™€ ์—ญ์ง๋ ฌํ™”(Deserialization)๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  • JSON ํ˜•์‹์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ, ์™œ API ํ†ต์‹ ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋‚˜์š”?
  • JSON์™ธ์— ํ†ต์‹ ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ ๋˜๋Š” ํ˜•์‹์€ ์–ด๋–ค๊ฒƒ์ด ์žˆ๋‚˜์š”? (XML, Protocol Buffers, MessagePack ๋“ฑ)
    • Protocol Buffers๊ฐ€ JSON๋ณด๋‹ค ํšจ์œจ์ ์ธ ์ด์œ ๋Š” ๋ฌด์—‡์ด๋ฉฐ, ๊ทธ๋Ÿผ์—๋„ JSON์ด ๋” ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ฐ”์ด๋„ˆ๋ฆฌ ์ง๋ ฌํ™”์™€ ํ…์ŠคํŠธ ์ง๋ ฌํ™”์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. ๋™์‹œ์„ฑ(Concurrency)๊ณผ ๋ณ‘๋ ฌ์„ฑ(Parallelism)์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • iOS ๊ธฐ๊ธฐ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ CPU ์ฝ”์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ์ด ๋™์‹œ์„ฑ/๋ณ‘๋ ฌ์„ฑ ๊ตฌํ˜„๊ณผ ์–ด๋–ค ๊ด€๋ จ์ด ์žˆ๋‚˜์š”?
  • ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ (์˜ˆ: Race Condition, Deadlock)์€ ๋ฌด์—‡์ด๋ฉฐ, ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•(์˜ˆ: Serial Queue, Lock, Semaphore)์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?

๋ ˆ๋ฒจ 1

  1. ์„œ๋ฒ„ API๊ฐ€ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ๋•Œ๋กœ๋Š” ๋ณด๋‚ด๊ณ  ๋•Œ๋กœ๋Š” ๋ณด๋‚ด์ง€ ์•Š์„ ๋•Œ, ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋‚˜์š”?

    • Swift์˜ ์˜ต์…”๋„(Optional) ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์ƒํ™ฉ์„ ๋ชจ๋ธ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๊ฐ•์ œ ์–ธ๋ž˜ํ•‘(!)์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์•ฑ์ด ํฌ๋ž˜์‹œ๋˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์™€ ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์˜ต์…”๋„ ์ฒด์ด๋‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘์ฒฉ๋œ JSON ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ํŒŒ์‹ฑํ•˜๋Š” ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด์ฃผ์„ธ์š”.
  2. iOS ์•ฑ์˜ ์ƒ๋ช…์ฃผ๊ธฐ(App Life Cycle)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

    • ์•ฑ์˜ ๊ฐ ์ƒํƒœ(Not Running, Inactive, Active, Background, Suspended)์—์„œ ๊ฐ€๋Šฅํ•œ ์ž‘์—…์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ƒํƒœ ๋ณ€ํ™”์— ๋”ฐ๋ผ ํ˜ธ์ถœ๋˜๋Š” AppDelegate ๋˜๋Š” SceneDelegate ๋ฉ”์„œ๋“œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ž‘์—…์„ ์™„๋ฃŒํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์€ ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋‚˜์š”?
  3. ๋ณต์žกํ•œ UI์—์„œ Auto Layout ์„ฑ๋Šฅ์ด ๋А๋ ค์งˆ ๋•Œ ์–ด๋–ป๊ฒŒ ์ตœ์ ํ™”ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๐Ÿ’ก ํžŒํŠธ: ๋ ˆ์ด์•„์›ƒ ๊ณ„์‚ฐ์ด ์–ธ์ œ, ์–ด๋–ป๊ฒŒ ์ผ์–ด๋‚˜๋Š”์ง€ ์ดํ•ดํ•˜์„ธ์š”

  • ์ œ์•ฝ ์กฐ๊ฑด์ด ๋„ˆ๋ฌด ๋งŽ์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์„ฑ๋Šฅ ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€?
    • ๋ถˆํ•„์š”ํ•œ ์ œ์•ฝ ์กฐ๊ฑด์„ ์ฐพ์•„๋‚ด๋Š” ๋ฐฉ๋ฒ•์€?
    • ์ œ์•ฝ ์กฐ๊ฑด์˜ ์šฐ์„ ์ˆœ์œ„(Priority)๋ฅผ ํ™œ์šฉํ•œ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์€?
  • ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ์ฝ˜ํ…์ธ (์ฑ„ํŒ… UI ๋“ฑ)์—์„œ Auto Layout vs Manual Layout์˜ ์„ ํƒ ๊ธฐ์ค€์€?
  • SwiftUI์™€ UIKit์„ ํ˜ผ์šฉํ•  ๋•Œ ๋ ˆ์ด์•„์›ƒ ์ถฉ๋Œ์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€?
    • UIViewRepresentable์—์„œ intrinsicContentSize ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์€?
  1. Swift์—์„œ ํด๋กœ์ €(Closure)๋ž€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋‚˜์š”?

    • ํด๋กœ์ €์˜ ์บก์ฒ˜(Capture) ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • @escaping ํด๋กœ์ €์™€ non-escaping ํด๋กœ์ €์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํŠธ๋ ˆ์ผ๋ง ํด๋กœ์ €(Trailing Closure) ๋ฌธ๋ฒ•์€ ์–ด๋–ค ๊ฒฝ์šฐ์— ์œ ์šฉํ•œ๊ฐ€์š”?
  2. ํ…Œ์ด๋ธ”๋ทฐ์˜ delegate ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋””๋ฒ„๊น…ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

    • Delegate ํŒจํ„ด์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์‹ค์ˆ˜๋“ค๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€?
      • delegate๋ฅผ weak์œผ๋กœ ์„ ์–ธํ•˜๋Š” ์ด์œ ์™€ strong์œผ๋กœ ์„ ์–ธํ–ˆ์„ ๋•Œ์˜ ๋ฌธ์ œ๋Š”?
      • optional ๋ฉ”์„œ๋“œ์™€ required ๋ฉ”์„œ๋“œ์˜ ์ฐจ์ด์™€ ์‚ฌ์šฉ ์‹œ๊ธฐ๋Š”?
    • Delegate vs Closure vs Combine์„ ์„ ํƒํ•˜๋Š” ๊ธฐ์ค€์€?
      • 1:1 ํ†ต์‹ ๊ณผ 1:N ํ†ต์‹ ์—์„œ ๊ฐ๊ฐ ์–ด๋–ค ํŒจํ„ด์ด ์ ํ•ฉํ•œ๊ฐ€์š”?
    • SwiftUI์—์„œ Delegate ํŒจํ„ด์„ ๋Œ€์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•์€?
  3. Swift์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ์ปฌ๋ ‰์…˜(Collection) ํƒ€์ž…์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?

    • ๊ฐ’ ํƒ€์ž…(Value Type)๊ณผ ์ฐธ์กฐ ํƒ€์ž…(Reference Type)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๊ตฌ์กฐ์ฒด(Struct)์™€ ํด๋ž˜์Šค(Class)์˜ ์‚ฌ์šฉ ์‹œ๊ธฐ๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ•˜๋‚˜์š”?
    • ์—ด๊ฑฐํ˜•(Enum)์˜ ์›์‹œ๊ฐ’(Raw Value)๊ณผ ์—ฐ๊ด€๊ฐ’(Associated Value)์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  4. Xcode์—์„œ ๋””๋ฒ„๊น… ์‹œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • ์ค‘๋‹จ์ (Breakpoint)์˜ ์ข…๋ฅ˜์™€ ํ™œ์šฉ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • LLDB ์ฝ˜์†”์—์„œ ์œ ์šฉํ•œ ๋ช…๋ น์–ด๋Š” ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋‚˜์š”?
  5. iOS ์•ฑ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?

    • UserDefaults์˜ ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Keychain์€ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ์— ์ ํ•ฉํ•œ๊ฐ€์š”?
    • Core Data์™€ SQLite์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ด๋ฉฐ, ๊ฐ๊ฐ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‚˜์š”?
  6. Swift์—์„œ ํ”„๋กœํ† ์ฝœ(Protocol)์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜๋‚˜์š”?

    • ํ”„๋กœํ† ์ฝœ์˜ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ”„๋กœํ† ์ฝœ ํ™•์žฅ(Protocol Extension)์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Protocol-Oriented Programming)์˜ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  7. Swift์˜ ์ ‘๊ทผ ์ œ์–ด์ž(Access Control Levels)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

    • open๊ณผ public์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • internal, fileprivate, private์˜ ์‚ฌ์šฉ ์‹œ๊ธฐ๋Š” ์–ด๋–ป๊ฒŒ ๊ฒฐ์ •ํ•˜๋‚˜์š”?
    • ์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  8. API ํ˜ธ์ถœ์ด ์‹คํŒจํ–ˆ์„ ๋•Œ ์žฌ์‹œ๋„ ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

    • ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์ข…๋ฅ˜๋ณ„(ํƒ€์ž„์•„์›ƒ, ์„œ๋ฒ„ ์—๋Ÿฌ, ๋„คํŠธ์›Œํฌ ์—†์Œ) ๋Œ€์‘ ์ „๋žต์€?
      • ์ง€์ˆ˜ ๋ฐฑ์˜คํ”„(Exponential Backoff) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€?
      • ์žฌ์‹œ๋„ ํšŸ์ˆ˜์™€ ๊ฐ„๊ฒฉ์„ ์–ด๋–ป๊ฒŒ ๊ฒฐ์ •ํ•˜๋‚˜์š”?
    • URLSession์˜ ์บ์‹ฑ ์ •์ฑ…์„ ํ™œ์šฉํ•œ ์˜คํ”„๋ผ์ธ ๋Œ€์‘ ๋ฐฉ๋ฒ•์€?
    • ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•  ๋•Œ ๊ณ ๋ ค์‚ฌํ•ญ์€?
      • Background URLSession ์„ค์ •๊ณผ ์ œ์•ฝ์‚ฌํ•ญ์€?
  9. ์˜์กด์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ(CocoaPods, Carthage, Swift Package Manager)์˜ ์ข…๋ฅ˜์™€ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • ๊ฐ ๋„๊ตฌ์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊ณผ ์žฅ๋‹จ์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • ์˜์กด์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  10. Swift์˜ ๊ณ ์ฐจ ํ•จ์ˆ˜(Higher-Order Functions)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

    • map๊ณผ flatMap์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • filter, reduce ํ•จ์ˆ˜๋Š” ์–ด๋–ค ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋‚˜์š”?
    • compactMap์€ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋‚˜์š”?
  11. Git์—์„œ ๋ธŒ๋žœ์น˜(Branch)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ‘ํ•ฉ(Merge)ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?
    • ๋ธŒ๋žœ์น˜ ์ „๋žต(์˜ˆ: Git Flow, GitHub Flow)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • ์ถฉ๋Œ(Conflict)์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  12. Swift์˜ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

    • throws, try, catch ํ‚ค์›Œ๋“œ์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์˜ต์…”๋„์„ ์‚ฌ์šฉํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ์™€ do-catch๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์—๋Ÿฌ ์ฒ˜๋ฆฌ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์—๋Ÿฌ๋ฅผ ์ „ํŒŒํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  13. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์—์„œ ๊ฐ•ํ•œ ์ฐธ์กฐ(Strong Reference)์™€ ์•ฝํ•œ ์ฐธ์กฐ(Weak Reference)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • ์ˆœํ™˜ ์ฐธ์กฐ(Retain Cycle)๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํด๋กœ์ €์—์„œ [weak self]์™€ [unowned self]์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  14. iOS ์•ฑ์—์„œ Multi-threading์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • DispatchQueue์™€ OperationQueue์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ Race Condition์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์—์„œ UI ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  15. UIKit์—์„œ TableView์™€ CollectionView์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • ์…€(Cell)์˜ ์žฌ์‚ฌ์šฉ(Reusability)์€ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜๋‚˜์š”?
    • ๋™์ ์ธ ์…€ ๋†’์ด(Dynamic Cell Height)๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • CollectionView์˜ ๋ ˆ์ด์•„์›ƒ์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  16. ARC(Automatic Reference Counting)์˜ ๋™์ž‘ ์›๋ฆฌ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

    • Retain Cycle์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • deinit ๋ฉ”์„œ๋“œ๋Š” ์–ธ์ œ ํ˜ธ์ถœ๋˜๋ฉฐ, ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋‚˜์š”?
  17. ์ƒ์†(Inheritance)๊ณผ ํ”„๋กœํ† ์ฝœ(Protocol)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • ํด๋ž˜์Šค ์ƒ์†์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๋‹ค์ค‘ ์ƒ์†(Multiple Inheritance)์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ”„๋กœํ† ์ฝœ ์ค€์ˆ˜(Conformance)๋ฅผ ํ†ตํ•ด ๋‹คํ˜•์„ฑ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  18. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(UI) ํ…Œ์ŠคํŠธ์™€ ๋‹จ์œ„(Unit) ํ…Œ์ŠคํŠธ์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • XCTest ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ(TDD)์˜ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection)์„ ํ™œ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  19. Xcode์—์„œ Instruments๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์˜ ์„ฑ๋Šฅ์„ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • Time Profiler๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ ์ด์Šˆ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • Allocations Instrument๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ํƒ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Leaks Instrument๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  20. Swift์˜ ์ œ๋„ค๋ฆญ(Generic)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

    • ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ œ๋„ค๋ฆญ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ์ œ์•ฝ ์กฐ๊ฑด์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์žฅ์ ๊ณผ ์ฃผ์˜ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  21. Swift์˜ ํด๋กœ์ €์™€ ํ•จ์ˆ˜์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • ํด๋กœ์ €๊ฐ€ ์ผ๊ธ‰ ๊ฐ์ฒด(First-Class Citizen)์ธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์—์„œ ํด๋กœ์ €๊ฐ€ ์–ด๋–ป๊ฒŒ ํ™œ์šฉ๋˜๋‚˜์š”?
  22. ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋™๊ธฐ(Synchronous)์™€ ๋น„๋™๊ธฐ(Asynchronous)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • iOS์—์„œ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ์„ธ๋งˆํฌ์–ด(Semaphore)์™€ ๋ฎคํ…์Šค(Mutex)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  23. GCD(Grand Central Dispatch)์˜ ์ฃผ์š” ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

    • ์ง๋ ฌ(Serial) ํ์™€ ๋™์‹œ(Concurrent) ํ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • ๊ธ€๋กœ๋ฒŒ ํ(Global Queue)์™€ ๋ฉ”์ธ ํ(Main Queue)๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅด๋‚˜์š”?
    • DispatchWorkItem์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  24. SwiftUI์—์„œ @State ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ–ˆ๋Š”๋ฐ ํ™”๋ฉด์ด ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ์˜์‹ฌํ•ด์•ผ ํ•˜๋‚˜์š”?

    • @State, @Binding, @ObservedObject์˜ ์ฐจ์ด์ ๊ณผ ๊ฐ๊ฐ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?
    • View์˜ body๊ฐ€ ๋‹ค์‹œ ๊ทธ๋ ค์ง€๋Š” ์‹œ์ ์€ ์–ธ์ œ์ด๋ฉฐ, ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์ฃผ์˜ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
    • SwiftUI์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„๊ณผ UIKit์˜ MVC ํŒจํ„ด์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  25. ์—ฌ๋Ÿฌ ํ™”๋ฉด์—์„œ ๋™์ผํ•œ ์•Œ๋ฆผ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋•Œ, ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด ๋Œ€์‹  ์–ด๋–ค ๋””์ž์ธ ํŒจํ„ด์„ ๊ณ ๋ คํ•ด๋ณผ ์ˆ˜ ์žˆ๋‚˜์š”?

    • Observer ํŒจํ„ด๊ณผ NotificationCenter์˜ ๊ด€๊ณ„๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
    • Dependency Injection์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹ฑ๊ธ€ํ†ค ๋Œ€๋น„ ์–ด๋–ค ์ด์ ์ด ์žˆ๋‚˜์š”?
    • Protocol์„ ํ™œ์šฉํ•œ ์˜์กด์„ฑ ์—ญ์ „์€ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ์„ฑ์„ ์–ด๋–ป๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ค๋‚˜์š”?

๋ ˆ๋ฒจ 2

  1. ํ…Œ์ด๋ธ”๋ทฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์Šคํฌ๋กคํ•  ๋•Œ ์ด๋ฏธ์ง€๊ฐ€ ์ž˜๋ชป๋œ ์…€์— ํ‘œ์‹œ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜๋‚˜์š”?

๐Ÿ’ก ํžŒํŠธ: ๋ฌธ์ œ์˜ ์›์ธ์„ ๋จผ์ € ํŒŒ์•…ํ•˜์„ธ์š”

  • ์…€ ์žฌ์‚ฌ์šฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜

  • ๋น„๋™๊ธฐ ์ด๋ฏธ์ง€ ๋กœ๋”ฉ

  • ์ž‘์—… ์ทจ์†Œ ํƒ€์ด๋ฐ

  • ์…€ ์žฌ์‚ฌ์šฉ(Cell Reuse) ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ด ๋ฌธ์ œ์™€ ์–ด๋–ค ๊ด€๋ จ์ด ์žˆ๋‚˜์š”?

  • ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ ์ž‘์—…์„ ์ทจ์†Œํ•˜๋Š” ์‹œ์ ๊ณผ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

    • URLSessionTask๋ฅผ ์…€๋ณ„๋กœ ์ถ”์ ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์„ค๊ณ„๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋‚˜์š”?
    • prepareForReuse()์—์„œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์ด๋ฏธ์ง€ ์บ์‹ฑ์„ ๊ตฌํ˜„ํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋””์Šคํฌ ์บ์‹ฑ์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

    • LRU, LFU ๋“ฑ ์บ์‹œ eviction ์ •์ฑ… ์„ ํƒ ๊ธฐ์ค€์€?
    • NSCache vs Dictionary๋ฅผ ์‚ฌ์šฉํ•œ ์บ์‹ฑ์˜ ์ฐจ์ด์ ์€?
  1. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์˜ ์ฃผ์š” ๊ฐœ๋…์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์บก์Аํ™”(Encapsulation)์™€ ์ •๋ณด ์€๋‹‰(Information Hiding)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์ƒ์†(Inheritance)์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋‹คํ˜•์„ฑ(Polymorphism)์„ ํ™œ์šฉํ•˜๋Š” ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด์ฃผ์„ธ์š”.
  1. ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(POP)์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ค ์žฅ์ ์ด ์žˆ๋‚˜์š”?
  • ํ”„๋กœํ† ์ฝœ ํ™•์žฅ(Protocol Extension)์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ํ”„๋กœํ† ์ฝœ ์ปดํฌ์ง€์…˜(Protocol Composition)์€ ์–ด๋–ค ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋‚˜์š”?
  • ํ”„๋กœํ† ์ฝœ๊ณผ ์ œ๋„ค๋ฆญ(Generic)์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ์ด์ ์ด ์žˆ๋‚˜์š”?
  1. iOS ์•ฑ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋‚˜์š”?
  • ARC(Automatic Reference Counting)์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๊ฐ•ํ•œ ์ฐธ์กฐ(Strong Reference)์™€ ์•ฝํ•œ ์ฐธ์กฐ(Weak Reference)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์ˆœํ™˜ ์ฐธ์กฐ(Retain Cycle)๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๊ฐ•ํ•œ ์ฐธ์กฐ, ์•ฝํ•œ ์ฐธ์กฐ, ๋ฏธ์†Œ์œ  ์ฐธ์กฐ์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. viewDidLoad์—์„œ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ํ•˜๋ฉด ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
  • ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ•ด์ œ๋˜์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์ƒ์„ฑ๋  ๋•Œ viewDidLoad๊ฐ€ ์žฌํ˜ธ์ถœ๋˜๋Š” ์ƒํ™ฉ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • viewWillAppear์™€ viewDidAppear ์ค‘ ์–ด๋””์„œ UI ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์•ผ ํ•˜๋ฉฐ, ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ํ™”๋ฉด ์ „ํ™˜ ์‹œ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์ด ์™„๋ฃŒ๋˜๊ธฐ ์ „์— ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ•ด์ œ๋˜๋ฉด ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ , ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
  1. Swift์˜ ๋ฌธ์ž์—ด(String) ๋‹ค๋ฃจ๊ธฐ์™€ ๊ด€๋ จ๋œ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ด ์žˆ๋‚˜์š”?
  • ์„œ๋ธŒ์ŠคํŠธ๋ง(Substring)๊ณผ ๋ฌธ์ž์—ด์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋ฌธ์ž์—ด ๋ณด๊ฐ„๋ฒ•(String Interpolation)์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฃผ์˜ ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์ •๊ทœ์‹(Regular Expression)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. Codable ํ”„๋กœํ† ์ฝœ์€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋‚˜์š”?
  • Encodable๊ณผ Decodable ํ”„๋กœํ† ์ฝœ์˜ ์—ญํ• ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • JSON ๋ฐ์ดํ„ฐ๋ฅผ ์ปค์Šคํ…€ ๊ฐ์ฒด๋กœ ๋””์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Codable ํ”„๋กœํ† ์ฝœ์„ ์ฑ„ํƒํ•œ ํƒ€์ž…์—์„œ ์ธ์ฝ”๋”ฉ/๋””์ฝ”๋”ฉ ํ‚ค๋ฅผ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. iOS ์•ฑ์—์„œ ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection)์€ ์–ด๋–ค ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋‚˜์š”?
  • ์˜์กด์„ฑ ์ฃผ์ž…์˜ ์„ธ ๊ฐ€์ง€ ์œ ํ˜•(Initializer Injection, Property Injection, Method Injection)์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์˜์กด์„ฑ ์ฃผ์ž… ์ปจํ…Œ์ด๋„ˆ(Dependency Injection Container)๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์˜์กด์„ฑ ์ฃผ์ž…์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. ๋ธ๋ฆฌ๊ฒŒ์ด์…˜ ํŒจํ„ด(Delegation Pattern)๊ณผ ํด๋กœ์ €์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋ธ๋ฆฌ๊ฒŒ์ด์…˜ ํŒจํ„ด์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ํด๋กœ์ €์˜ ์บก์ฒ˜ ๋ฆฌ์ŠคํŠธ(Capture List)๋Š” ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋‚˜์š”?
  • ๋ธ๋ฆฌ๊ฒŒ์ด์…˜ ํŒจํ„ด๊ณผ ํด๋กœ์ €๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. UIKit์—์„œ ํ…Œ์ด๋ธ” ๋ทฐ(UITableView)์™€ ์ปฌ๋ ‰์…˜ ๋ทฐ(UICollectionView)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ํ…Œ์ด๋ธ” ๋ทฐ์™€ ์ปฌ๋ ‰์…˜ ๋ทฐ์—์„œ ์…€์„ ์žฌ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ํ…Œ์ด๋ธ” ๋ทฐ์™€ ์ปฌ๋ ‰์…˜ ๋ทฐ์˜ ๋ฐ์ดํ„ฐ ์†Œ์Šค(Data Source)์™€ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ(Delegate)์˜ ์—ญํ• ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์ปฌ๋ ‰์…˜ ๋ทฐ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ ˆ์ด์•„์›ƒ(Layout)์˜ ์ข…๋ฅ˜์™€ ํŠน์ง•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. ๋ ˆ๊ฑฐ์‹œ MVC ํ”„๋กœ์ ํŠธ๋ฅผ MVVM์œผ๋กœ ์ ์ง„์ ์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋ ค๋ฉด ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๐Ÿ’ก ํžŒํŠธ: ๋ฆฌ์Šคํฌ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์ ์ง„์ ์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•˜์„ธ์š”

  • ์–ด๋–ค ํ™”๋ฉด๋ถ€ํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ์š”?
    • ๋ณต์žก๋„๊ฐ€ ๋†’์€ ํ™”๋ฉด vs ๋‹จ์ˆœํ•œ ํ™”๋ฉด, ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์„ ํƒํ•˜๋‚˜์š”?
    • ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๊ฐ€ ๋†’์€ ๋ถ€๋ถ„๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ด์œ ๋Š”?
  • MVC์™€ MVVM์ด ๊ณต์กดํ•˜๋Š” ๊ณผ๋„๊ธฐ์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ์ฑ…์€?
    • ๋ฐ์ดํ„ฐ ํ๋ฆ„์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€?
    • ํŒ€์›๋“ค์˜ ํ˜ผ๋ž€์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€?
  • ์•„ํ‚คํ…์ฒ˜ ๋ณ€๊ฒฝ์˜ ์„ฑ๊ณต ์ง€ํ‘œ๋Š” ๋ฌด์—‡์œผ๋กœ ์ธก์ •ํ•˜๋‚˜์š”?
  1. Swift์—์„œ ์˜ต์…”๋„(Optional)์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๊ฐ•์ œ ์–ธ๋ž˜ํ•‘(Force Unwrapping)์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์˜ต์…”๋„ ๋ฐ”์ธ๋”ฉ(Optional Binding)๊ณผ ์˜ต์…”๋„ ์ฒด์ด๋‹(Optional Chaining)์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์•”์‹œ์  ์–ธ๋ž˜ํ•‘ ์˜ต์…”๋„(Implicitly Unwrapped Optional)์€ ์–ด๋–ค ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋‚˜์š”?
  1. iOS ์•ฑ์—์„œ ์ฝ”์–ด ์• ๋‹ˆ๋ฉ”์ด์…˜(Core Animation)์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • CALayer์˜ ์ฃผ์š” ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ทธ๋ฃน(Animation Group)์€ ์–ด๋–ค ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋‚˜์š”?
  • ํ‚ค ํ”„๋ ˆ์ž„ ์• ๋‹ˆ๋ฉ”์ด์…˜(Keyframe Animation)๊ณผ ์Šคํ”„๋ง ์• ๋‹ˆ๋ฉ”์ด์…˜(Spring Animation)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋น„์Šทํ•œ ๋„คํŠธ์›Œํฌ API ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ”„๋กœํ† ์ฝœ๋กœ ์ถ”์ƒํ™”ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
  • ๊ณตํ†ต ๊ธฐ๋Šฅ์„ ํ”„๋กœํ† ์ฝœ ํ™•์žฅ์œผ๋กœ ๊ตฌํ˜„ํ•  ๋•Œ์˜ ์ด์ ๊ณผ ์ฃผ์˜์ ์€?
    • ํ”„๋กœํ† ์ฝœ ํ™•์žฅ์˜ ๋ฉ”์„œ๋“œ ๋””์ŠคํŒจ์น˜ ๋ฐฉ์‹๊ณผ override ๋ถˆ๊ฐ€๋Šฅํ•œ ์ด์œ ๋Š”?
    • Associated Type์„ ์‚ฌ์šฉํ•œ ์ œ๋„ค๋ฆญ ํ”„๋กœํ† ์ฝœ์˜ ์žฅ๋‹จ์ ์€?
  • ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ Mock ๊ฐ์ฒด ์ƒ์„ฑ์ด ์‰ฌ์šด ํ”„๋กœํ† ์ฝœ ์„ค๊ณ„ ๋ฐฉ๋ฒ•์€?
    • Dependency Injection๊ณผ ํ”„๋กœํ† ์ฝœ์˜ ๊ด€๊ณ„๋Š”?
  • SwiftUI์˜ View ํ”„๋กœํ† ์ฝœ์ฒ˜๋Ÿผ PAT(Protocol with Associated Type)๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€?
  1. iOS ์•ฑ์—์„œ ๋„คํŠธ์›Œํฌ ์š”์ฒญ ์‹œ ์‘๋‹ต ์บ์‹ฑ(Response Caching)์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • URLCache๋Š” ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋‚˜์š”?
  • ์‘๋‹ต ์บ์‹ฑ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์‘๋‹ต ์บ์‹ฑ์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. Combine ํ”„๋ ˆ์ž„์›Œํฌ๋ž€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋‚˜์š”?
  • Publisher์™€ Subscriber์˜ ์—ญํ• ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Operator์˜ ์ข…๋ฅ˜์™€ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Combine๊ณผ RxSwift์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. Swift์˜ ๊ณ ๊ธ‰ ์ œ๋„ค๋ฆญ ๊ธฐ๋Šฅ๊ณผ ํƒ€์ž… ์†Œ๊ฑฐ(Type Erasure)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Associated Type๊ณผ ์ œ๋„ค๋ฆญ์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ด๋ฉฐ, ๊ฐ๊ฐ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋‚˜์š”?
  • ํƒ€์ž… ์†Œ๊ฑฐ(Type Erasure)๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ์™€ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • where ์ ˆ์„ ์‚ฌ์šฉํ•œ ์ œ๋„ค๋ฆญ ์ œ์•ฝ ์กฐ๊ฑด์˜ ํ™œ์šฉ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์—์„œ ๋กœ์ปฌ ํ‘ธ์‹œ ์•Œ๋ฆผ(Local Push Notification)์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋กœ์ปฌ ํ‘ธ์‹œ ์•Œ๋ฆผ๊ณผ ์›๊ฒฉ ํ‘ธ์‹œ ์•Œ๋ฆผ(Remote Push Notification)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ํ‘ธ์‹œ ์•Œ๋ฆผ์˜ ์ฝ˜ํ…์ธ (Content)์™€ ํŠธ๋ฆฌ๊ฑฐ(Trigger)๋Š” ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋‚˜์š”?
  • ์‚ฌ์šฉ์ž๊ฐ€ ํ‘ธ์‹œ ์•Œ๋ฆผ์„ ํƒญํ–ˆ์„ ๋•Œ ์•ฑ์˜ ๋™์ž‘์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์—์„œ SwiftUI์™€ UIKit์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • SwiftUI ๋ทฐ์—์„œ UIKit ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • UIKit ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ SwiftUI ๋ทฐ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • SwiftUI์™€ UIKit์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. Swift์—์„œ ํ‚ค ๊ฒฝ๋กœ(Key Path)๋ž€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋‚˜์š”?
  • ํ‚ค ๊ฒฝ๋กœ ํ‘œํ˜„์‹(Key Path Expression)์˜ ๋ฌธ๋ฒ•๊ณผ ์‚ฌ์šฉ ์˜ˆ์‹œ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋Ÿฐํƒ€์ž„์— ํ‚ค ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†์„ฑ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ํ‚ค ๊ฒฝ๋กœ์™€ KVO(Key-Value Observing)์˜ ๊ด€๊ณ„๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์—์„œ Deep Link์™€ Universal Link์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Deep Link๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฃผ์˜ ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Universal Link์˜ ๋™์ž‘ ์›๋ฆฌ์™€ ์„ค์ • ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Deep Link์™€ Universal Link๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. Swift์˜ Result ํƒ€์ž…๊ณผ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Result ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์—๋Ÿฌ ์ฒ˜๋ฆฌ ์‹œ do-catch ๋ฌธ๊ณผ Result ํƒ€์ž…์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์—์„œ Thread Sanitizer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ํƒ์ง€ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

  2. Swift์˜ Sequence์™€ Collection ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

  • Sequence์™€ Collection ํ”„๋กœํ† ์ฝœ์˜ ์ฐจ์ด์ ๊ณผ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์‚ฌ์šฉ์ž ์ •์˜ Sequence์™€ Collection์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด์ฃผ์„ธ์š”.
  1. UIKit์˜ AdaptiveLayout๊ณผ Size Classes์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • AdaptiveLayout์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ ๋ชฉ์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Size Classes๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๊ธฐ๊ธฐ์— ์ ์‘์ ์ธ UI๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ ์ปค์Šคํ…€ ์—ฐ์‚ฐ์ž(Custom Operator)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์ปค์Šคํ…€ ์—ฐ์‚ฐ์ž๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฃผ์˜ ์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์ปค์Šคํ…€ ์—ฐ์‚ฐ์ž๋ฅผ ํ™œ์šฉํ•œ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ ์ƒ์„ฑ์ž(Initializer)์™€ ๊ด€๋ จ๋œ ๊ณ ๊ธ‰ ๊ฐœ๋…์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์ง€์ • ์ƒ์„ฑ์ž(Designated Initializer)์™€ ํŽธ์˜ ์ƒ์„ฑ์ž(Convenience Initializer)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ํ•„์ˆ˜ ์ƒ์„ฑ์ž(Required Initializer)์™€ ์‹คํŒจ ๊ฐ€๋Šฅํ•œ ์ƒ์„ฑ์ž(Failable Initializer)๋Š” ์–ด๋–ค ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋‚˜์š”?
  1. Combine ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ Scheduler์˜ ์—ญํ• ๊ณผ ์ข…๋ฅ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Scheduler๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ํŠน์ • ํ(DispatchQueue)์—์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋ฉ”์ธ ํ์—์„œ UI๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ํŒจํ„ด์„ Combine์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. UIKit์˜ UIView๋Š” ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์ง€๋งŒ, SwiftUI์—์„œ View ํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•˜๋Š” ํƒ€์ž…์€ ๋ณดํ†ต ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?
  • View ํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•˜๋Š” ๊ตฌ์กฐ์ฒด์˜ ์ฃผ์š” ํŠน์ง•์€ ๋ฌด์—‡์ด๋ฉฐ, ์ด๋Š” ์–ด๋–ป๊ฒŒ SwiftUI์˜ ์„ฑ๋Šฅ ๋ฐ ์‚ฌ์šฉ์„ฑ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋‚˜์š”?
  • SwiftUI์˜ View๊ฐ€ ๊ตฌ์กฐ์ฒด์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์ƒํƒœ(state)๋ฅผ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•˜๋‚˜์š”?
  • SwiftUI์˜ ๊ตฌ์กฐ์ฒด ๊ธฐ๋ฐ˜ View ์ƒ์„ฑ๊ณผ ์—…๋ฐ์ดํŠธ ์‚ฌ์ดํด์€ ์–ด๋–ป๊ฒŒ UIKit์˜ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ UIView์™€ ๋‹ค๋ฅธ๊ฐ€์š”?

๋ ˆ๋ฒจ 3

  1. ์•ฑ ์—…๋ฐ์ดํŠธ ํ›„ Core Data ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋˜๋Š” ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐฉ์ง€ํ•˜๋‚˜์š”?
  • ๊ฒฝ๋Ÿ‰ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜(Lightweight Migration)๊ณผ ๋ฌด๊ฑฐ์šด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜(Heavyweight Migration)์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋งคํ•‘ ๋ชจ๋ธ(Mapping Model)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. ์‚ฌ์ง„ ํŽธ์ง‘ ์•ฑ์ด ๋ฉ”๋ชจ๋ฆฌ ๊ฒฝ๊ณ ๋ฅผ ์ž์ฃผ ๋ฐ›๋Š”๋‹ค๋ฉด ์–ด๋–ค ์ˆœ์„œ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๐Ÿ’ก ํžŒํŠธ: ๋ฌธ์ œ ์ง„๋‹จ๋ถ€ํ„ฐ ํ•ด๊ฒฐ๊นŒ์ง€์˜ ์ฒด๊ณ„์ ์ธ ์ ‘๊ทผ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค

  • ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ธก์ •ํ•˜๊ณ  ๋ณ‘๋ชฉ ์ง€์ ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์€?
    • Instruments์˜ Allocations vs Leaks, ๊ฐ๊ฐ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋‚˜์š”?
    • ๋ฉ”๋ชจ๋ฆฌ ๊ทธ๋ž˜ํ”„ ๋””๋ฒ„๊ฑฐ๋กœ ์ˆœํ™˜ ์ฐธ์กฐ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์€?
  • ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” ์ „๋žต์€?
    • ๋‹ค์šด์ƒ˜ํ”Œ๋ง vs ํƒ€์ผ ๋ Œ๋”๋ง, ๊ฐ๊ฐ์˜ ์ ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š”?
    • Metal์„ ์‚ฌ์šฉํ•œ GPU ๊ธฐ๋ฐ˜ ์ฒ˜๋ฆฌ์˜ ์žฅ๋‹จ์ ์€?
  • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ•ด์น˜์ง€ ์•Š์œผ๋ฉด์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•˜๋Š” ๋ฐฉ๋ฒ•์€?
  1. Swift์˜ ๋ฉ”ํƒ€ํƒ€์ž…(Metatype)๊ณผ ๋ฏธ๋Ÿฌ(Mirror)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋ฉ”ํƒ€ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์—ฌ ํƒ€์ž… ์ •๋ณด์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋ฏธ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ๋™์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋ฉ”ํƒ€ํƒ€์ž…๊ณผ ๋ฏธ๋Ÿฌ๋ฅผ ํ™œ์šฉํ•œ ์‹ค์ œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๋“ค์–ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ(Binary Framework)๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋ฐ”์ด๋„ˆ๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์†Œ์Šค ์ฝ”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋ฐ”์ด๋„ˆ๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋ฐ”์ด๋„ˆ๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ๋ฒ„์ „ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. Combine ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋‚˜์š”?
  • ์—๋Ÿฌ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ Operator์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?
  • ์—๋Ÿฌ ์ด๋ฒคํŠธ ๋ฐœ์ƒ ์‹œ Subscription์„ ์ž๋™์œผ๋กœ ์ทจ์†Œํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Combine๊ณผ Result ํƒ€์ž…์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ ๋™์  ๋ฉค๋ฒ„ ์กฐํšŒ(Dynamic Member Lookup)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • @dynamicMemberLookup ์†์„ฑ์˜ ์—ญํ• ๊ณผ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ(Subscript)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์  ๋ฉค๋ฒ„ ์กฐํšŒ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋™์  ๋ฉค๋ฒ„ ์กฐํšŒ๋ฅผ ํ™œ์šฉํ•œ ์‹ค์ œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๋“ค์–ด์ฃผ์„ธ์š”.
  1. Swift์˜ Property Wrapper์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Property Wrapper๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • @State, @Binding, @ObservedObject ๋“ฑ์˜ Property Wrapper์˜ ์ฐจ์ด์ ๊ณผ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Custom Property Wrapper๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์—์„œ Siri Shortcuts์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Siri Shortcuts์˜ ๋™์ž‘ ์›๋ฆฌ์™€ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • NSUserActivity์™€ Intents Framework๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Siri Shortcuts์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Siri Shortcuts์„ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๊ณ  ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. Swift์˜ unsafe ํฌ์ธํ„ฐ(Unsafe Pointer)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • UnsafePointer, UnsafeMutablePointer, UnsafeRawPointer์˜ ์ฐจ์ด์ ๊ณผ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • unsafe ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • unsafe ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ C ์–ธ์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ reflection์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Mirror ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ๋™์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋Ÿฐํƒ€์ž„์— ํƒ€์ž… ์ •๋ณด๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • reflection์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ๊ณผ ์„ฑ๋Šฅ ๊ณ ๋ ค ์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. iOS ์•ฑ์—์„œ Keychain์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Keychain Services API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฝ์–ด์˜ค๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Keychain Access Groups๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Keychain์˜ ์ ‘๊ทผ ์ œ์–ด(Access Control) ์˜ต์…˜๊ณผ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. ๊ธฐ์กด completion handler ๊ธฐ๋ฐ˜ ์ฝ”๋“œ๋ฅผ async/await๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ๋•Œ ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
  • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์˜ ๋น„์šฉ ๋Œ€๋น„ ํšจ๊ณผ๋ฅผ ์–ด๋–ป๊ฒŒ ํ‰๊ฐ€ํ•˜๋‚˜์š”?
    • ์ค‘์ฒฉ๋œ completion handler๊ฐ€ ๋งŽ์€ ๋ถ€๋ถ„์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ด์œ ๋Š”?
    • ์—๋Ÿฌ ์ฒ˜๋ฆฌ๊ฐ€ ๋ณต์žกํ•œ ๋ถ€๋ถ„์„ ๋จผ์ € ์ „ํ™˜ํ•˜๋Š” ์ด์œ ๋Š”?
  • ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ์™€ ์ƒˆ๋กœ์šด async ์ฝ”๋“œ๊ฐ€ ๊ณต์กดํ•  ๋•Œ์˜ ์„ค๊ณ„ ์ „๋žต์€?
    • withCheckedContinuation์„ ์‚ฌ์šฉํ•œ ๋ธŒ๋ฆฌ์ง•์˜ ์ฃผ์˜์ ์€?
    • @MainActor ์‚ฌ์šฉ ์‹œ ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์€?
  • ํŒ€์›๋“ค์˜ async/await ํ•™์Šต ๊ณก์„ ์„ ๊ณ ๋ คํ•œ ๋‹จ๊ณ„์  ๋„์ž… ๋ฐฉ๋ฒ•์€?
  1. iOS ์•ฑ์—์„œ WidgetKit์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™ˆ ํ™”๋ฉด ์œ„์ ฏ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์œ„์ ฏ์˜ ์ƒ๋ช…์ฃผ๊ธฐ(Life Cycle)์™€ ์—…๋ฐ์ดํŠธ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • SwiftUI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์ ฏ์˜ UI๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฃผ์˜ ์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์œ„์ ฏ๊ณผ ์•ฑ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ณต์œ  ๋ฐ ํ†ต์‹  ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. MVVM-C(Coordinator) ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Coordinator์˜ ์—ญํ• ๊ณผ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • MVVM-C ํŒจํ„ด์˜ ์žฅ๋‹จ์ ๊ณผ ์ ์šฉ ์‚ฌ๋ก€๋ฅผ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ @dynamicCallable๊ณผ @dynamicMemberLookup์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • @dynamicCallable์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ ํ˜ธ์ถœ ๊ฐ€๋Šฅ ํƒ€์ž…์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด์ฃผ์„ธ์š”.
  • @dynamicMemberLookup์„ ํ™œ์šฉํ•˜์—ฌ ๋™์ ์œผ๋กœ ์†์„ฑ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์‹ค์ œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ ABI(Application Binary Interface) ์•ˆ์ •์„ฑ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ABI ์•ˆ์ •์„ฑ์˜ ๊ฐœ๋…๊ณผ ์ค‘์š”์„ฑ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ABI ์•ˆ์ •์„ฑ์ด ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ๋ฐœ๊ณผ ๋ฐฐํฌ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์—์„œ Combine ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•œ ๋ฐ˜์‘ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจํ„ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • MVVM ์•„ํ‚คํ…์ฒ˜์—์„œ Combine์„ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๋ฐฉ๋ฒ•์„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Combine๊ณผ SwiftUI๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธ์ ์ด๊ณ  ๋ฐ˜์‘ํ˜• UI๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ ๋Ÿฐํƒ€์ž„ ๋™์ž‘๊ณผ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Swift ๋Ÿฐํƒ€์ž„์˜ ๊ตฌ์กฐ์™€ ๋™์ž‘ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋™์  ๋””์ŠคํŒจ์น˜, ์ธ๋ผ์ด๋‹, ์Šคํƒ ํ”„๋กœ๋ชจ์…˜ ๋“ฑ Swift ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ธฐ๋ฒ•๊ณผ ์ปดํŒŒ์ผ๋Ÿฌ ์ตœ์ ํ™” ์˜ต์…˜์„ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์˜ ์ ‘๊ทผ์„ฑ(Accessibility)์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•๊ณผ ๊ณ ๋ ค ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • VoiceOver, Switch Control ๋“ฑ ์ ‘๊ทผ์„ฑ ๊ธฐ์ˆ ์˜ ๋™์ž‘ ์›๋ฆฌ์™€ ์ง€์› ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Dynamic Type, Bold Text ๋“ฑ ์‹œ๊ฐ์  ์ ‘๊ทผ์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•œ ๊ธฐ์ˆ ๊ณผ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  • ์ ‘๊ทผ์„ฑ ํ…Œ์ŠคํŠธ ๋ฐ ์‹ฌ์‚ฌ ๊ธฐ์ค€, ๋ชจ๋ฒ” ์‚ฌ๋ก€ ๋“ฑ์„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์—์„œ Objective-C ๋ธŒ๋ฆฌ์ง•(Bridging)์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฃผ์˜ ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

  2. iOS 17์˜ Observable ๋งคํฌ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์กด ObservableObject์™€ ๋น„๊ตํ•ด ์–ด๋–ค ์ด์ ์ด ์žˆ๋‚˜์š”?

  • @Observable๊ณผ @ObservableObject์˜ ์„ฑ๋Šฅ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Observable ๋งคํฌ๋กœ ์‚ฌ์šฉ ์‹œ ๋ทฐ ์—…๋ฐ์ดํŠธ ์ตœ์ ํ™”๋Š” ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋‚˜์š”?
  • ๊ธฐ์กด Combine ๊ธฐ๋ฐ˜ ์ฝ”๋“œ๋ฅผ Observable๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ๋•Œ ๊ณ ๋ ค์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. SwiftData๋ฅผ Core Data ๋Œ€์‹  ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค๋ฉด, ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ํŒ๋‹จํ–ˆ์„๊นŒ์š”?
  • SwiftData์˜ ๋ชจ๋ธ ์ •์˜ ๋ฐฉ์‹๊ณผ Core Data์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ „๋žต๊ณผ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ์ธก๋ฉด์—์„œ ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • CloudKit ํ†ตํ•ฉ ์‹œ SwiftData์™€ Core Data์˜ ์ ‘๊ทผ ๋ฐฉ์‹ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

๋ ˆ๋ฒจ 4

  1. ์‹ค์‹œ๊ฐ„ ๋น„๋””์˜ค ํ•„ํ„ฐ ์•ฑ์—์„œ 60fps๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ์„ ๋ณด์žฅํ•˜๋ ค๋ฉด ์–ด๋–ค ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋‚˜์š”?
  • ์†Œ์œ ๊ถŒ(Ownership)๊ณผ ๋นŒ๋ฆผ(Borrowing)์˜ ๊ฐœ๋…๊ณผ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ Swift์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜(๋Œ€์—ฌ ๊ฒ€์‚ฌ, ์†Œ์œ ๊ถŒ ๊ฒ€์‚ฌ ๋“ฑ)์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ ๊ทœ์น™์„ ์œ„๋ฐ˜ํ•˜๋Š” ๊ฒฝ์šฐ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์—์„œ Core Bluetooth๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BLE(Bluetooth Low Energy) ํ†ต์‹ ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Central๊ณผ Peripheral์˜ ์—ญํ• ๊ณผ ์ƒํ˜ธ์ž‘์šฉ ๊ณผ์ •์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • CBCentralManager์™€ CBPeripheralManager์˜ ์ฃผ์š” ๋ฉ”์„œ๋“œ์™€ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ ๋ฉ”์„œ๋“œ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • BLE ํ†ต์‹ ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์„œ๋น„์Šค(Service)์™€ ํŠน์„ฑ(Characteristic)์˜ ๊ฐœ๋…๊ณผ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ Copy-on-Write ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Copy-on-Write์˜ ๋™์ž‘ ์›๋ฆฌ์™€ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Copy-on-Write๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Swift์˜ ํƒ€์ž…์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?
  • Copy-on-Write๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์—์„œ Core NFC๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ NFC ํƒœ๊ทธ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • NFCNDEFReaderSession๊ณผ NFCTagReaderSession์˜ ์ฐจ์ด์ ๊ณผ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • NFC ํƒœ๊ทธ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ๊ณผ์ •๊ณผ ํ•„์š”ํ•œ ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Core NFC๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ๊ณผ ์ œํ•œ ์‚ฌํ•ญ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Core NFC๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ๋ณด์•ˆ ์‚ฌํ•ญ๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. ํŒ€์— ์ƒˆ๋กœ์šด ๋™์‹œ์„ฑ ๋ชจ๋ธ(actor, async/await)์„ ๋„์ž…ํ•  ๋•Œ ๊ธฐ์ˆ ์  ๋ฆฌ์Šคํฌ์™€ ํŒ€ ์—ญ๋Ÿ‰์„ ์–ด๋–ป๊ฒŒ ํ‰๊ฐ€ํ•˜๊ณ  ๋Œ€์‘ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๐Ÿ’ก ํžŒํŠธ: ๊ธฐ์ˆ  ๋„์ž…์€ ๊ธฐ์ˆ ์  ์šฐ์ˆ˜์„ฑ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒ€์˜ ์ค€๋น„๋„๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค

  • ํŒ€์›๋“ค์˜ ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ดํ•ด๋„๋ฅผ ์–ด๋–ป๊ฒŒ ํ‰๊ฐ€ํ•˜๋‚˜์š”?
    • ํ•™์Šต ์ž๋ฃŒ์™€ ๋‚ด๋ถ€ ์„ธ๋ฏธ๋‚˜๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
    • ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•œ ์ง€์‹ ์ „ํŒŒ ์ „๋žต์€?
  • ์ ์ง„์  ๋„์ž…์„ ์œ„ํ•œ ํŒŒ์ผ๋Ÿฟ ํ”„๋กœ์ ํŠธ ์„ ์ • ๊ธฐ์ค€์€?
    • ์‹คํŒจํ•ด๋„ ์˜ํ–ฅ์ด ์ ์€ ๋ถ€๋ถ„๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ด์œ ๋Š”?
    • ์„ฑ๊ณต ์‚ฌ๋ก€๋ฅผ ๋งŒ๋“ค์–ด ํŒ€์˜ ์‹ ๋ขฐ๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•์€?
  • ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ์™€์˜ ํ†ตํ•ฉ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์  ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ์ฑ…์€?
  1. iOS ์•ฑ์—์„œ Vision ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ๋ถ„์„ ๋ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์–ผ๊ตด ๊ฐ์ง€ ๋ฐ ์ธ์‹, ๋ฐ”์ฝ”๋“œ ์ธ์‹, ํ…์ŠคํŠธ ์ธ์‹ ๋“ฑ์˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Vision ์š”์ฒญ(VNRequest)์˜ ์ข…๋ฅ˜์™€ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•, ๊ฒฐ๊ณผ ์ฒ˜๋ฆฌ ๊ณผ์ •์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Vision ํ”„๋ ˆ์ž„์›Œํฌ์™€ Core ML, ARKit ๋“ฑ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์™€์˜ ์—ฐ๋™ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ property wrappers์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • property wrappers์˜ ๋™์ž‘ ์›๋ฆฌ์™€ ์‚ฌ์šฉ ๋ชฉ์ , ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. ๊ธˆ์œต ์•ฑ ๊ฐœ๋ฐœ ์‹œ ๋ณด์•ˆ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ์‚ฌ์šฉ์ž ํŽธ์˜์„ฑ ์‚ฌ์ด์˜ ๊ท ํ˜•์„ ์–ด๋–ป๊ฒŒ ๋งž์ถ”์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
  • ๋ณด์•ˆ ๊ฐ•ํ™”๊ฐ€ UX์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์–ด๋–ป๊ฒŒ ์ธก์ •ํ•˜๊ณ  ๊ฐœ์„ ํ•˜๋‚˜์š”?
    • ์ƒ์ฒด ์ธ์ฆ ์‹คํŒจ์œจ๊ณผ ๋Œ€์ฒด ์ธ์ฆ ์ˆ˜๋‹จ์˜ ๊ท ํ˜•์€?
    • ์„ธ์…˜ ํƒ€์ž„์•„์›ƒ๊ณผ ์‚ฌ์šฉ์ž ๋ถˆํŽธํ•จ์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋Š”?
  • ๋ณด์•ˆ ์‚ฌ๊ณ  ์˜ˆ๋ฐฉ๊ณผ ๋Œ€์‘์„ ์œ„ํ•œ ํŒ€ ๊ต์œก ๋ฐฉ๋ฒ•์€?
    • ์‹œํ์–ด ์ฝ”๋”ฉ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์–ด๋–ป๊ฒŒ ์ž‘์„ฑํ•˜๊ณ  ์ ์šฉํ•˜๋‚˜์š”?
    • ์ฝ”๋“œ ๋ฆฌ๋ทฐ์—์„œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์ฐพ๋Š” ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋Š”?
  • ์™ธ๋ถ€ ๋ณด์•ˆ ๊ฐ์‚ฌ ๊ฒฐ๊ณผ๋ฅผ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ๋ฐ˜์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€?
  1. Swift์˜ custom string interpolation์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • custom string interpolation์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ๋ณด๊ฐ„๋ฒ•์„ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ Distributed Actor์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Distributed Actor์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ ๋ชฉ์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ Distributed Actor๋ฅผ ํ™œ์šฉํ•œ ํ†ต์‹  ๋ฐ ์ƒํƒœ ๋™๊ธฐํ™” ๋ฐฉ๋ฒ•์„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ DSL(Domain-Specific Language) ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • DSL์˜ ๊ฐœ๋…๊ณผ ์žฅ์ , Swift์—์„œ์˜ ๊ตฌํ˜„ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • result builder๋ฅผ ํ™œ์šฉํ•œ DSL ์„ค๊ณ„ ์‚ฌ๋ก€๋ฅผ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ ์œ ์—ฐํ•œ ๋ฌธ๋ฒ• ๊ธฐ๋Šฅ(e.g., ์˜คํผ๋ ˆ์ดํ„ฐ ์˜ค๋ฒ„๋กœ๋”ฉ, ์ฒจ์ž ํ‘œ๊ธฐ๋ฒ•)์„ ํ™œ์šฉํ•œ ์ฝ”๋“œ ์„ค๊ณ„ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์˜คํผ๋ ˆ์ดํ„ฐ ์˜ค๋ฒ„๋กœ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ ํƒ€์ž…์— ๋Œ€ํ•œ ์—ฐ์‚ฐ์„ ์ง๊ด€์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์ฒจ์ž ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ ์ปฌ๋ ‰์…˜ ํƒ€์ž…์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฃผ์˜ ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. Swift์˜ ๋ฆฌํ”Œ๋ ‰์…˜(Reflection)๊ณผ ๋Ÿฐํƒ€์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋ฆฌํ”Œ๋ ‰์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋Ÿฐํƒ€์ž„์— ํƒ€์ž… ์ •๋ณด๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๋ฆฌํ”Œ๋ ‰์…˜์„ ํ™œ์šฉํ•œ ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection) ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์—์„œ Core ML์„ ์‚ฌ์šฉํ•˜์—ฌ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Core ML ๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜๊ณ  ์•ฑ์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Vision ํ”„๋ ˆ์ž„์›Œํฌ์™€ Core ML์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ์ธ์‹์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Core ML ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฃผ์˜ ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Core ML ์ด์™ธ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์žฅ๋‹จ์ ์„ ๋น„๊ตํ•ด์ฃผ์„ธ์š”.
  • ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ๊ฒฝ๋Ÿ‰ํ™” ๋ฐ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์„ ์†Œ๊ฐœํ•˜๊ณ , ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์— ์ ํ•ฉํ•œ ๋ชจ๋ธ ์„ค๊ณ„ ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.

๋ ˆ๋ฒจ 5

  1. 5๋ช…์˜ iOS ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜๋‚˜์˜ ์•ฑ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์ฝ”๋“œ ์ถฉ๋Œ์„ ์ตœ์†Œํ™”ํ•˜๋ ค๋ฉด ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?
  • ๊ฐœ๋ฐœ ํŒ€์˜ ์—ญํ•  ๋ถ„๋‹ด ๋ฐ ํ˜‘์—… ๋ฐฉ์‹, ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์ฑ„๋„ ๋“ฑ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ, ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋“ฑ ์ฝ”๋“œ ํ’ˆ์งˆ ๋ฐ ์ง€์‹ ๊ณต์œ ๋ฅผ ์œ„ํ•œ ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  • ๊ธฐ์ˆ  ๋ถ€์ฑ„ ๊ด€๋ฆฌ, ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ๋“ฑ ํ”„๋กœ์ ํŠธ ์šด์˜๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ์ „๋žต๊ณผ ๋„๊ตฌ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Instruments๋ฅผ ์‚ฌ์šฉํ•œ ์„ฑ๋Šฅ ๋ถ„์„ ๋ฐ ๋ณ‘๋ชฉ ํ˜„์ƒ ํƒ์ง€ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ์ด๋ฏธ์ง€ ์ตœ์ ํ™”, ๋„คํŠธ์›Œํฌ ์š”์ฒญ ์ตœ์ ํ™” ๋“ฑ์˜ ์„ฑ๋Šฅ ๊ฐœ์„  ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  • ์•ฑ ์‹œ์ž‘ ์‹œ๊ฐ„ ๋‹จ์ถ•, ํ”„๋ ˆ์ž„ ์†๋„ ํ–ฅ์ƒ ๋“ฑ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๊ฐœ์„ ์„ ์œ„ํ•œ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. ์ง€์† ๊ฐ€๋Šฅํ•œ iOS ์•ฑ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์™€ ๋ชจ๋“ˆํ™” ์ „๋žต์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • Clean Architecture, VIPER ๋“ฑ์˜ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด๊ณผ ์ ์šฉ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  • ๊ธฐ๋Šฅ ๋ชจ๋“ˆํ™”, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชจ๋“ˆํ™” ๋“ฑ์„ ํ†ตํ•œ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  • ์˜์กด์„ฑ ์ฃผ์ž…, ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ๋“ฑ์˜ ์„ค๊ณ„ ์›์น™์„ ์ ์šฉํ•œ ๋ชจ๋“ˆ ๊ฐ„ ๋А์Šจํ•œ ๊ฒฐํ•ฉ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. ํšจ๊ณผ์ ์ธ iOS ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ๊ณผ ํ•™์Šต์„ ์œ„ํ•œ ์ „๋žต๊ณผ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • WWDC, ์ปจํผ๋Ÿฐ์Šค, ์ปค๋ฎค๋‹ˆํ‹ฐ ๋“ฑ์„ ํ™œ์šฉํ•œ ์ตœ์‹  ๊ธฐ์ˆ  ํŠธ๋ Œ๋“œ ํŒŒ์•… ๋ฐ ํ•™์Šต ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  • ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ ๊ธฐ์—ฌ, ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ๋“ฑ์„ ํ†ตํ•œ ๊ฐœ๋ฐœ์ž ๋ธŒ๋žœ๋”ฉ ๋ฐ ๋„คํŠธ์›Œํ‚น ์ „๋žต์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  • ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ, ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ๋“ฑ์„ ํ†ตํ•œ ์‹ค๋ฌด ์—ญ๋Ÿ‰ ๊ฐ•ํ™” ๋ฐ ํฌํŠธํด๋ฆฌ์˜ค ๊ตฌ์„ฑ ๋ฐฉ์•ˆ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์˜ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ํ–ฅ์ƒ์„ ์œ„ํ•œ UX/UI ๋””์ž์ธ ์ „๋žต๊ณผ ํ˜‘์—… ๋ฐฉ์•ˆ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์‚ฌ์šฉ์ž ์ค‘์‹ฌ ๋””์ž์ธ, ์ ‘๊ทผ์„ฑ, ์ผ๊ด€์„ฑ ๋“ฑ UX ๋””์ž์ธ ์›์น™๊ณผ ์ ์šฉ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  • ๋””์ž์ธ ์‹œ์Šคํ…œ, UI ํ‚คํŠธ ๋“ฑ์„ ํ™œ์šฉํ•œ ๋””์ž์ธ-๊ฐœ๋ฐœ ํ˜‘์—… ๋ฐ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํšจ์œจํ™” ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  • ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ ์ˆ˜์ง‘, A/B ํ…Œ์ŠคํŠธ ๋“ฑ์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ UX ์ตœ์ ํ™” ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. ์Šคํƒ€ํŠธ์—… CTO๋กœ์„œ iOS ๋„ค์ดํ‹ฐ๋ธŒ์™€ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์ค‘ ๊ธฐ์ˆ  ์Šคํƒ์„ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค๋ฉด, ์–ด๋–ค ์š”์†Œ๋“ค์„ ๊ณ ๋ คํ•˜์—ฌ ๊ฒฐ์ •ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๐Ÿ’ก ํžŒํŠธ: ๊ธฐ์ˆ ์  ์šฐ์ˆ˜์„ฑ๋งŒ์ด ์•„๋‹Œ ๋น„์ฆˆ๋‹ˆ์Šค ๋งฅ๋ฝ๋„ ๊ณ ๋ คํ•˜์„ธ์š”

  • ํšŒ์‚ฌ์˜ ์„ฑ์žฅ ๋‹จ๊ณ„๋ณ„๋กœ ๊ธฐ์ˆ  ์Šคํƒ ์ „๋žต์ด ์–ด๋–ป๊ฒŒ ๋‹ฌ๋ผ์ ธ์•ผ ํ•˜๋‚˜์š”?
    • MVP ๋‹จ๊ณ„: ๋น ๋ฅธ ์ถœ์‹œ vs ํ’ˆ์งˆ, ์–ด๋–ค ๊ท ํ˜•์ ์„ ์ฐพ์œผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
    • ์„ฑ์žฅ ๋‹จ๊ณ„: ๊ธฐ์ˆ  ๋ถ€์ฑ„์™€ ํ™•์žฅ์„ฑ์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
    • ์„ฑ์ˆ™ ๋‹จ๊ณ„: ํ”Œ๋žซํผ ์ „ํ™˜์˜ ROI๋ฅผ ์–ด๋–ป๊ฒŒ ๊ณ„์‚ฐํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
  • ์ธ์žฌ ์ฑ„์šฉ๊ณผ ํŒ€ ๊ตฌ์„ฑ ๊ด€์ ์—์„œ์˜ ๊ณ ๋ ค์‚ฌํ•ญ์€?
    • ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐœ๋ฐœ์ž vs ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ ๋‚œ์ด๋„๋Š”?
    • ๊ธฐ์กด ์›น ๊ฐœ๋ฐœํŒ€์„ ํ™œ์šฉํ•œ React Native ์ „ํ™˜์˜ ํ˜„์‹ค์  ์–ด๋ ค์›€์€?
  • ์žฅ๊ธฐ์  ๊ธฐ์ˆ  ๋กœ๋“œ๋งต๊ณผ ํ”Œ๋žซํผ ์ข…์†์„ฑ ๋ฆฌ์Šคํฌ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•์€?
  1. iOS ์•ฑ์˜ ์ˆ˜์ตํ™” ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ ์ „๋žต์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์œ ๋ฃŒ ์•ฑ, ์ธ์•ฑ ๊ตฌ๋งค, ๊ด‘๊ณ , ๊ตฌ๋… ๋“ฑ ๋‹ค์–‘ํ•œ ์ˆ˜์ตํ™” ๋ฐฉ์‹์˜ ์žฅ๋‹จ์ ๊ณผ ์ ์šฉ ์‚ฌ๋ก€๋ฅผ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  • ์‚ฌ์šฉ์ž ์„ธ๊ทธ๋จผํ…Œ์ด์…˜, ๊ฐ€๊ฒฉ ์ •์ฑ…, ํ”„๋กœ๋ชจ์…˜ ๋“ฑ ์ˆ˜์ต ๊ทน๋Œ€ํ™”๋ฅผ ์œ„ํ•œ ์ „๋žต์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  • ์•ฑ ์Šคํ† ์–ด ์ตœ์ ํ™”(ASO), ์‚ฌ์šฉ์ž ์œ ์น˜ ๋ฐ ์œ ์ง€ ์ „๋žต ๋“ฑ ๋งˆ์ผ€ํŒ… ๊ด€์ ์—์„œ์˜ ๊ณ ๋ ค ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ง€์† ๊ฐ€๋Šฅํ•œ ์ปค๋ฆฌ์–ด๋ฅผ ์œ„ํ•œ ๋ชฉํ‘œ ์„ค์ •๊ณผ ์„ฑ์žฅ ์ „๋žต์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๊ธฐ์ˆ  ๋ฆฌ๋”์‹ญ, ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ, ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ๋“ฑ ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋กœ์„œ์˜ ์—ญ๋Ÿ‰ ๊ฐœ๋ฐœ ๋ฐฉํ–ฅ์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ํ™œ๋™, ์ปจํผ๋Ÿฐ์Šค ๋ฐœํ‘œ, ๋ฉ˜ํ† ๋ง ๋“ฑ์„ ํ†ตํ•œ ์ง€์‹ ๊ณต์œ ์™€ ์˜ํ–ฅ๋ ฅ ํ™•๋Œ€ ๋ฐฉ์•ˆ์„ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  • ๊ฐœ๋ฐœ ๋ฌธํ™” ํ˜์‹ , ํŒ€ ๋นŒ๋”ฉ, ํ”„๋กœ์„ธ์Šค ๊ฐœ์„  ๋“ฑ ์กฐ์ง ๋‚ด ๋ฆฌ๋”์‹ญ ๋ฐœํœ˜ ๋ฐฉ์•ˆ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. 100๋ช… ์ด์ƒ์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฐธ์—ฌํ•˜๋Š” ๋Œ€๊ทœ๋ชจ iOS ํ”„๋กœ์ ํŠธ์—์„œ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ์„ค๊ณ„ํ•œ๋‹ค๋ฉด ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
  • ๋นŒ๋“œ ์‹œ๊ฐ„ ์ตœ์ ํ™”์™€ ๋ฆฌ์†Œ์Šค ํšจ์œจ์„ฑ์„ ์–ด๋–ป๊ฒŒ ๊ท ํ˜•์„ ๋งž์ถ”๋‚˜์š”?
    • ๋ชจ๋“ˆ๋ณ„ ๋ณ‘๋ ฌ ๋นŒ๋“œ ์ „๋žต์€?
    • ๋นŒ๋“œ ์บ์‹ฑ๊ณผ ์ฆ๋ถ„ ๋นŒ๋“œ์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋Š”?
    • ํด๋ผ์šฐ๋“œ ๋นŒ๋“œ ์„œ๋น„์Šค vs ์ž์ฒด ์ธํ”„๋ผ์˜ ์„ ํƒ ๊ธฐ์ค€์€?
  • ํ’ˆ์งˆ ๊ฒŒ์ดํŠธ์™€ ๋ฐฐํฌ ์†๋„ ์‚ฌ์ด์˜ ๊ท ํ˜•์€?
    • ํ•„์ˆ˜ ํ…Œ์ŠคํŠธ์™€ ์„ ํƒ์  ํ…Œ์ŠคํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ•˜๋‚˜์š”?
    • Feature Flag๋ฅผ ํ™œ์šฉํ•œ ์ ์ง„์  ๋กค์•„์›ƒ ์ „๋žต์€?
  • ๊ฐœ๋ฐœํŒ€์˜ ์ž์œจ์„ฑ๊ณผ ์ „์ฒด ํ’ˆ์งˆ ํ‘œ์ค€ ์‚ฌ์ด์˜ ๊ท ํ˜•์€?
    • ํŒ€๋ณ„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•๊ณผ ์ „์‚ฌ ํ‘œ์ค€์˜ ๊ฒฝ๊ณ„๋Š” ์–ด๋””๊นŒ์ง€์ธ๊ฐ€์š”?
  1. iOS ๊ฐœ๋ฐœ์ž๋กœ์„œ ์œค๋ฆฌ์ ์ด๊ณ  ์‚ฌํšŒ์  ์ฑ…์ž„๊ฐ ์žˆ๋Š” ๊ฐœ๋ฐœ ๋ฌธํ™” ์กฐ์„ฑ์„ ์œ„ํ•œ ๋ฐฉ์•ˆ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์ ‘๊ทผ์„ฑ, ํฌ์šฉ์„ฑ, ๋‹ค์–‘์„ฑ ๋“ฑ์„ ๊ณ ๋ คํ•œ ํฌ์šฉ์ ์ธ ์•ฑ ์„ค๊ณ„์™€ ๊ฐœ๋ฐœ ๋ฐฉํ–ฅ์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  • ์‚ฌ์šฉ์ž ํ”„๋ผ์ด๋ฒ„์‹œ ๋ณดํ˜ธ, ๋ฐ์ดํ„ฐ ๋ณด์•ˆ, ์œค๋ฆฌ์  ๋ฐ์ดํ„ฐ ํ™œ์šฉ ๋“ฑ์˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  • ๊ธฐ์ˆ ์˜ ์‚ฌํšŒ์  ์˜ํ–ฅ๋ ฅ์„ ์ธ์ง€ํ•˜๊ณ  ๊ธ์ •์ ์ธ ๋ณ€ํ™”๋ฅผ ์ด๋Œ์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž์˜ ์—ญํ• ๊ณผ ์ฑ…์ž„์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. ์ง€์† ๊ฐ€๋Šฅํ•œ ์˜คํ”ˆ์†Œ์Šค ์ƒํƒœ๊ณ„ ๊ธฐ์—ฌ ๋ฐ ๊ด€๋ฆฌ ๋ฐฉ์•ˆ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ ์„ ํƒ, ๊ธฐ์—ฌ ๋ฐฉ๋ฒ•, ์ด์Šˆ ๊ด€๋ฆฌ ๋“ฑ ํšจ๊ณผ์ ์ธ ์˜คํ”ˆ์†Œ์Šค ์ฐธ์—ฌ ์ „๋žต์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  • ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ, ๋ผ์ด์„ ์Šค ์ค€์ˆ˜, ์ปค๋ฎค๋‹ˆํ‹ฐ ์šด์˜ ๋“ฑ ์˜คํ”ˆ์†Œ์Šค ๋ฉ”์ธํ…Œ์ด๋„ˆ๋กœ์„œ์˜ ์—ญํ• ๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  1. iOS ๊ฐœ๋ฐœ์ž๋กœ์„œ ๊ธ€๋กœ๋ฒŒ ์‹œ์žฅ ์ง„์ถœ ๋ฐ ํ˜„์ง€ํ™” ์ „๋žต์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์•ฑ ํ˜„์ง€ํ™”, ์–ธ์–ด ์ง€์›, ๋ฌธํ™”์  ๊ณ ๋ ค ์‚ฌํ•ญ ๋“ฑ ๊ธ€๋กœ๋ฒŒ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๊ฐœ๋ฐœ ์ „๋žต์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  • ๊ธ€๋กœ๋ฒŒ ์•ฑ ์Šคํ† ์–ด ์ตœ์ ํ™”(ASO), ํ˜„์ง€ ๋งˆ์ผ€ํŒ…, ํŒŒํŠธ๋„ˆ์‹ญ ๋“ฑ ํ•ด์™ธ ์‹œ์žฅ ์ง„์ถœ์„ ์œ„ํ•œ ์ „๋žต๊ณผ ์„ฑ๊ณต ์‚ฌ๋ก€๋ฅผ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ ๊ฐœ๋ฐœ์—์„œ ๋ณด์•ˆ๊ณผ ํ”„๋ผ์ด๋ฒ„์‹œ ๊ฐ•ํ™”๋ฅผ ์œ„ํ•œ ๋ชจ๋ฒ” ์‚ฌ๋ก€์™€ ์ „๋žต์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์•ˆ์ „ํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ, ๋„คํŠธ์›Œํฌ ํ†ต์‹  ์•”ํ˜ธํ™”, ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๊ด€๋ฆฌ ๋“ฑ์˜ ๋ณด์•ˆ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  • GDPR, CCPA ๋“ฑ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๊ทœ์ • ์ค€์ˆ˜๋ฅผ ์œ„ํ•œ ๊ฐœ๋ฐœ ์ „๋žต๊ณผ ๊ณ ๋ ค ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ง€์† ๊ฐ€๋Šฅํ•œ ๊ธฐ์ˆ  ์ƒํƒœ๊ณ„ ๋ฐœ์ „์„ ์œ„ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ™œ๋™๊ณผ ์ง€์‹ ๊ณต์œ  ๋ฐฉ์•ˆ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ, ์ปจํผ๋Ÿฐ์Šค ๋ฐœํ‘œ, ์Šคํ„ฐ๋”” ๊ทธ๋ฃน ์šด์˜ ๋“ฑ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ ํ™œ๋™์˜ ์ค‘์š”์„ฑ๊ณผ ์ฐธ์—ฌ ๋ฐฉ๋ฒ•์„ ์ œ์‹œํ•ด์ฃผ์„ธ์š”.
  • ๋ฉ˜ํ† ๋ง, ๊ต์œก ์ฝ˜ํ…์ธ  ์ œ์ž‘, ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ ๊ณต์œ  ๋“ฑ ์ง€์‹ ๊ณต์œ ์™€ ํ›„๋ฐฐ ์–‘์„ฑ์„ ์œ„ํ•œ ๊ฐœ๋ฐœ์ž์˜ ์—ญํ• ๊ณผ ๋…ธ๋ ฅ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. iOS ์•ฑ์˜ ์ง€์†์ ์ธ ๊ฐœ์„ ๊ณผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์˜์‚ฌ๊ฒฐ์ • ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • A/B ํ…Œ์ŠคํŠธ, ์‚ฌ์šฉ์ž ํ–‰๋™ ๋ถ„์„ ๋“ฑ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์˜์‚ฌ๊ฒฐ์ •์„ ์œ„ํ•œ ๋„๊ตฌ์™€ ๋ฐฉ๋ฒ•๋ก ์„ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.
  • ์•ฑ ์• ๋„๋ฆฌํ‹ฑ์Šค ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ธฐํšํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜๋ฉด์„œ๋„ ์‹ ๊ทœ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์†๋„๋ฅผ ์œ ์ง€ํ•˜๋ ค๋ฉด ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?
  • ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ๋น„์ฆˆ๋‹ˆ์Šค ๊ด€์ ์—์„œ ๊ฒฝ์˜์ง„์—๊ฒŒ ์„ค๋“ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์ ์ง„์  ๋ฆฌํŒฉํ† ๋ง๊ณผ Big Bang ๋ฆฌํŒฉํ† ๋ง์˜ ์žฅ๋‹จ์ ๊ณผ ์„ ํƒ ๊ธฐ์ค€์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ๋ฆฌํŒฉํ† ๋ง์˜ ROI๋ฅผ ์ธก์ •ํ•˜๊ณ  ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. 10๋ช… ์ด์ƒ์˜ iOS ๊ฐœ๋ฐœ์ž๊ฐ€ ์žˆ๋Š” ํŒ€์—์„œ ์ฝ”๋“œ ํ’ˆ์งˆ๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฌธํ™”๋ฅผ ์ •์ฐฉ์‹œํ‚ค๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •์„ ๋ฌธ์„œํ™”ํ•˜๊ณ  ํŒ€ ์ „์ฒด๊ฐ€ ๋”ฐ๋ฅด๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์‹ ๊ทœ ์ž…์‚ฌ์ž์˜ ์˜จ๋ณด๋”ฉ์„ ํšจ์œจ์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๋ฉด์„œ๋„ ๊ธฐ์กด ํŒ€์˜ ์ƒ์‚ฐ์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. ๊ธฐ์ˆ  ์Šคํƒ ์„ ํƒ ์‹œ ๋‹จ๊ธฐ์  ์‹ค์šฉ์„ฑ๊ณผ ์žฅ๊ธฐ์  ํ™•์žฅ์„ฑ์„ ์–ด๋–ป๊ฒŒ ๊ท ํ˜•์„ ๋งž์ถ”๋‚˜์š”?
  • SwiftUI vs UIKit, Combine vs RxSwift ๊ฐ™์€ ๊ธฐ์ˆ  ์„ ํƒ์˜ ๊ธฐ์ค€์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ํŒ€์˜ ํ˜„์žฌ ์—ญ๋Ÿ‰๊ณผ ๋ฏธ๋ž˜ ์„ฑ์žฅ์„ ๋ชจ๋‘ ๊ณ ๋ คํ•œ ๊ธฐ์ˆ  ๋กœ๋“œ๋งต์„ ์ˆ˜๋ฆฝํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์ƒˆ๋กœ์šด ๊ธฐ์ˆ  ๋„์ž… ์‹œ ์œ„ํ—˜์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ํŒ€์˜ ๋™์˜๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

About

๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ปiOS ๋ฉด์ ‘์— ๋‚˜์˜ฌ ์งˆ๋ฌธ๋“ค ์ด ์ •๋ฆฌ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 21