Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
JeaSungLEE authored Jul 2, 2021
1 parent 0da6187 commit ef88149
Showing 1 changed file with 17 additions and 8 deletions.
25 changes: 17 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ iOSκ°œλ°œμžλ“€μ—κ²Œ ν•„μš”ν•œ μžλ£Œλ“€μ„ μ •λ¦¬ν•˜κ³  μžˆλŠ” μ€‘μž…λ‹ˆλ‹€.
- App의 Not running, Inactive, Active, Background, Suspended에 λŒ€ν•΄ μ„€λͺ…ν•˜μ‹œμ˜€.
- App thinning에 λŒ€ν•΄μ„œ μ„€λͺ…ν•˜μ‹œμ˜€.
- Global DispatchQueue 의 Qos μ—λŠ” μ–΄λ–€ μ’…λ₯˜κ°€ μžˆλŠ”μ§€, 각각 μ–΄λ–€ μ˜λ―ΈμΈμ§€ μ„€λͺ…ν•˜μ‹œμ˜€.
- @Main에 λŒ€ν•΄μ„œ μ„€λͺ…ν•˜μ‹œμ˜€.
- setNeedsLayout와 setNeedsDisplay의 μ°¨μž‰ λŒ€ν•΄ μ„€λͺ…ν•˜μ‹œμ˜€.

## Autolayout
- μ˜€ν† λ ˆμ΄μ•„μ›ƒμ„ μ½”λ“œλ‘œ μž‘μ„±ν•˜λŠ” 방법은 무엇인가? (3가지)
Expand All @@ -61,9 +63,13 @@ iOSκ°œλ°œμžλ“€μ—κ²Œ ν•„μš”ν•œ μžλ£Œλ“€μ„ μ •λ¦¬ν•˜κ³  μžˆλŠ” μ€‘μž…λ‹ˆλ‹€.
- Left Constraint 와 Leading Constraint 의 차이점을 μ„€λͺ…ν•˜μ‹œμ˜€.

## Swift
- struct와 class와 enum으 차이λ₯Ό μ„€λͺ…ν•˜μ‹œμ˜€.
- class의 μ„±λŠ₯을 ν–₯상 μ‹œν‚¬μˆ˜ μžˆλŠ” 방법듀을 λ‚˜μ—΄ν•΄λ³΄μ‹œμ˜€.
- Anyobject에 λŒ€ν•΄ μ„€λͺ…ν•˜μ‹œμ˜€.
- Optional μ΄λž€ 무엇인지 μ„€λͺ…ν•˜μ‹œμ˜€.
- Fast Enumeration μ΄λž€ 무엇인지 μ„€λͺ…ν•˜μ‹œμ˜€.
- Struct κ°€ 무엇이고 μ–΄λ–»κ²Œ μ‚¬μš©ν•˜λŠ”μ§€ μ„€λͺ…ν•˜μ‹œμ˜€.
- Subscripts에 λŒ€ν•΄ μ„€λͺ…ν•˜μ‹œμ˜€.
- instance λ©”μ„œλ“œμ™€ class λ©”μ„œλ“œμ˜ 차이점을 μ„€λͺ…ν•˜μ‹œμ˜€.
- Delegate νŒ¨ν„΄μ„ ν™œμš©ν•˜λŠ” 경우λ₯Ό 예λ₯Ό λ“€μ–΄ μ„€λͺ…ν•˜μ‹œμ˜€.
- Singleton νŒ¨ν„΄μ„ ν™œμš©ν•˜λŠ” 경우λ₯Ό 예λ₯Ό λ“€μ–΄ μ„€λͺ…ν•˜μ‹œμ˜€.
Expand All @@ -79,33 +85,36 @@ iOSκ°œλ°œμžλ“€μ—κ²Œ ν•„μš”ν•œ μžλ£Œλ“€μ„ μ •λ¦¬ν•˜κ³  μžˆλŠ” μ€‘μž…λ‹ˆλ‹€.
- μ ‘κ·Ό μ œμ–΄μžμ˜ μ’…λ₯˜μ—” μ–΄λ–€κ²Œ μžˆλŠ”μ§€ μ„€λͺ…ν•˜μ‹œμ˜€
- deferλž€ 무엇인지 μ„€λͺ…ν•˜μ‹œμ˜€.
- deferκ°€ ν˜ΈμΆœλ˜λŠ” μˆœμ„œλŠ” μ–΄λ–»κ²Œ 되고, deferκ°€ ν˜ΈμΆœλ˜μ§€ μ•ŠλŠ” 경우λ₯Ό μ„€λͺ…ν•˜μ‹œμ˜€.
- ν”„λ‘œνΌν‹°λž˜νΌμ— λŒ€ν•΄μ„œ μ„€λͺ…ν•˜μ‹œμ˜€.
- Genericμ•  λŒ€ν•΄ μ„€λͺ…ν•˜μ‹œμ˜€.

## ARC
- ARCλž€ 무엇인지 μ„€λͺ…ν•˜μ‹œμ˜€.
- Retain Count 방식에 λŒ€ν•΄ μ„€λͺ…ν•˜μ‹œμ˜€.
- Strong κ³Ό Weak μ°Έμ‘° 방식에 λŒ€ν•΄ μ„€λͺ…ν•˜μ‹œμ˜€.
- ARC λŒ€μ‹  Manual Reference Count λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν•  λ•Œ κΌ­ μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” λ©”μ„œλ“œλ“€μ„ μ“°κ³  역할을 μ„€λͺ…ν•˜μ‹œμ˜€.
- retain κ³Ό assign 의 차이점을 μ„€λͺ…ν•˜μ‹œμ˜€.
- μˆœν™˜ 참쑰에 λŒ€ν•˜μ—¬ μ„€λͺ…ν•˜μ‹œμ˜€.
- κ°•ν•œ μˆœν™˜ μ°Έμ‘° (Strong Reference Cycle) λŠ” μ–΄λ–€ κ²½μš°μ— λ°œμƒν•˜λŠ”μ§€ μ„€λͺ…ν•˜μ‹œμ˜€.
- νŠΉμ • 객체λ₯Ό autorelease ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ 사항과 과정을 μ„€λͺ…ν•˜μ‹œμ˜€.
- Autorelease Pool을 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” 상황을 두 가지 이상 예둜 λ“€μ–΄ μ„€λͺ…ν•˜μ‹œμ˜€.
- λ‹€μŒ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ©΄ μ–΄λ–€ 일이 λ°œμƒν• κΉŒ μΆ”μΈ‘ν•΄μ„œ μ„€λͺ…ν•˜μ‹œμ˜€.
Ball *ball = [[[[Ball alloc] init] autorelease] autorelease];

## Functional Programming
- ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ΄ 무엇인지 μ„€λͺ…ν•˜μ‹œμ˜€.
- κ³ μ°¨ ν•¨μˆ˜κ°€ 무엇인지 μ„€λͺ…ν•˜μ‹œμ˜€.
- Swift Standard Library의 map, filter, reduce, compactMap, flatMap에 λŒ€ν•˜μ—¬ μ„€λͺ…ν•˜μ‹œμ˜€.

## Architecture
- MVVM, MVC, Ribs, VIP λ“± μžμ‹ μ΄ μ•Œκ³ μžˆλŠ” 아킀텍쳐λ₯Ό μ„€λͺ…ν•˜μ‹œμ˜€.
- MVVM, Ribs, VIP λ“± μžμ‹ μ΄ μ•Œκ³ μžˆλŠ” 아킀텍쳐λ₯Ό μ„€λͺ…ν•˜μ‹œμ˜€.
- μ˜μ‘΄μ„± μ£Όμž…μ— λŒ€ν•˜μ—¬ μ„€λͺ…ν•˜μ‹œμ˜€.

# Optional
μ•„λž˜λΆ€ν„°λŠ” μΆ”κ°€λ‘œ 곡뢀λ₯Ό ν•˜λ©΄ 쒋을 λ‚΄μš©λ“€μž…λ‹ˆλ‹€.

Objective-cλ‚˜ rxλŠ” νšŒμ‚¬, νŒ€λ§ˆλ‹€ μ‚¬μš©ν•˜λŠ”κ³³μ΄ μ°¨μ΄κ°€μžˆκ³  μ‹ μž…μ΄λ‚˜ μ£Όλ‹ˆμ–΄κΈ°μ€€μœΌλ‘œ ν•„μˆ˜λΌκ³  μ—¬κ²¨μ§€μ§€μ•ŠκΈ°μ— μ˜΅μ…”λ„μ— μΆ”κ°€ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
## MRC
- ARC λŒ€μ‹  Manual Reference Count λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν•  λ•Œ κΌ­ μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” λ©”μ„œλ“œλ“€μ„ μ“°κ³  역할을 μ„€λͺ…ν•˜μ‹œμ˜€.
- retain κ³Ό assign 의 차이점을 μ„€λͺ…ν•˜μ‹œμ˜€.
- νŠΉμ • 객체λ₯Ό autorelease ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ 사항과 과정을 μ„€λͺ…ν•˜μ‹œμ˜€.
- Autorelease Pool을 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” 상황을 두 가지 이상 예둜 λ“€μ–΄ μ„€λͺ…ν•˜μ‹œμ˜€.
- λ‹€μŒ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ©΄ μ–΄λ–€ 일이 λ°œμƒν• κΉŒ μΆ”μΈ‘ν•΄μ„œ μ„€λͺ…ν•˜μ‹œμ˜€.
Ball *ball = [[[[Ball alloc] init] autorelease] autorelease];

## Advanced
- method swizzling이 무엇이고, μ–΄λ–¨ λ•Œ μ‚¬μš©ν•˜λŠ”μ§€ μ„€λͺ…ν•˜μ‹œμ˜€.
Expand Down Expand Up @@ -136,7 +145,7 @@ Objective-cλ‚˜ rxλŠ” νšŒμ‚¬, νŒ€λ§ˆλ‹€ μ‚¬μš©ν•˜λŠ”κ³³μ΄ μ°¨μ΄κ°€μžˆκ³  μ‹ μž…
- Category 방식에 λŒ€ν•΄ μ„€λͺ…ν•˜μ‹œμ˜€.
- Objective-C μ—μ„œ Protocol μ΄λž€ 무엇인지 μ„€λͺ…ν•˜μ‹œμ˜€.
- Objective-C++ 방식이 무엇인지 μ„€λͺ…ν•˜κ³ , μ–΄λ–€ 경우 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ”μ§€ μ„€λͺ…ν•˜μ‹œμ˜€.
-

## Rx
- Reactive Programming이 무엇인지 μ„€λͺ…ν•˜μ‹œμ˜€.
- RxSwiftμ—μ„œ Hot Observableκ³Ό Cold Observable의 차이λ₯Ό μ„€λͺ…ν•˜μ‹œμ˜€.
Expand Down

0 comments on commit ef88149

Please sign in to comment.