Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/theokim24601/awesome-ios-questions

๐Ÿ“š A curated list of awesome iOS questions. Feel free to contribute!
https://github.com/theokim24601/awesome-ios-questions

List: awesome-ios-questions

app-interview apple-swift awesome developer-tools interview-answers interview-practice ios ios-developer ios-interview ios-programming objective-c swift swift-interview

Last synced: 9 days ago
JSON representation

๐Ÿ“š A curated list of awesome iOS questions. Feel free to contribute!

Awesome Lists containing this project

README

        

# Awesome iOS Questions

iOS & Mobile ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ๋– ์˜ฌ๋ž๋˜ ์งˆ๋ฌธ๊ณผ ์˜๊ฒฌ๋“ค์— ๋Œ€ํ•ด ๊ธฐ๋กํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

PR์€ ์–ธ์ œ๋“  ํ™˜์˜์ž…๋‹ˆ๋‹ค. ๐Ÿคฉ

*Read this in other languages: [English](README.md), [ํ•œ๊ตญ์–ด](README.ko.md)*

## App

- Assuming you have an app with millions of users, what steps can you take to minimize bugs or regressions from occurring in old versions?
- How do you prioritize fixing a crash? Is a smaller crash in a more frequently used part of the app more important to fix than a larger crash in a less frequently used part?
- ์„ธ ๊ฐœ์˜ Endpoint[Dev, Stage, Prod]๊ฐ€ ์žˆ๊ณ  ์„ธ Endpoint๋ฅผ ์˜ค๊ฐ€๋ฉฐ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ํ…Œ์ŠคํŠธํ•˜๋ ค๊ณ  ํ•œ๋‹ค๋ฉด, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‚˜?
- Build Configuration์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€? ๋‹จ์ ์€?
- ๋Ÿฐํƒ€์ž„์— ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€?
- ์˜คํ”„๋ผ์ธ(๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ์•ˆ ๋œ) ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ์•ฑ์ด ์žˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์˜คํ”„๋ผ์ธ ์ƒํƒœ์—์„œ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ์„œ๋ฒ„์™€ ๋™๊ธฐํ™”ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜?

## iOS

- NSCache์™€ Dictionary์˜ ์ฐจ์ด์ ์ด ๋ฌด์—‡์ธ๊ฐ€?
- Dictionary๋Š” Thread-Safe ํ•˜์ง€ ์•Š์€๋ฐ, ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ๋‚˜?
- ๋‘ ๊ตฐ๋ฐ์—์„œ ๋™์‹œ์— ์—…๋ฐ์ดํŠธ๋ฅผ ํ•œ๋‹ค๊ณ  ํ•  ๋•Œ Consistency๋ฅผ ์ง€ํ‚ค๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์€?
- ๋‹ค์Œ ์ฝ”๋“œ๋Š” Thread-Safeํ•œ๊ฐ€?
```swift
let queue = DispatchQueue(label: "awesome-ios-questions")
var _dict: [Int] = []
var dict: [Int] {
get {
return queue.sync { _dict }
}
set {
queue.sync { _dict = newValue }
}
}
```
- Background Notification์ด ๋ฌด์—‡์ธ๊ฐ€?
- Background Notification์„ ์–ด๋–ค ์ƒํ™ฉ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„์ง€ ๊ตฌ์ฒด์ ์ธ ์˜ˆ์‹œ 2๊ฐ€์ง€๋งŒ ๋– ์˜ฌ๋ ค๋ณด์ž๋ฉด?
- Background Notification์€ ์ œ์•ฝ์‚ฌํ•ญ์ด ๋งŽ๋‹ค. ์•Œ๋ฆผ ์ „๋‹ฌ์ด ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋ฐ, ์ด๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ผ๊นŒ?
- iOS์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋””์ž์ธ ํŒจํ„ด์€ ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋‚˜?

### Concurrency

- Dispatch queue์— ๋“ฑ๋กํ•œ ์ž‘์—…์„ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ๋‚˜?

### UIKit

- UIViewController์˜ Life cycle ์ค‘์— `viewWillAppear`์™€ `viewDidAppear`๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด ๋‘˜์€ ํ•ญ์ƒ ์ง์œผ๋กœ ํ˜ธ์ถœ๋ ๊นŒ?
- What is the purpose of the reuseIdentifier? What is the advantage of setting it to a non-nil value?

### DeepLink

- ์‚ฌํŒŒ๋ฆฌ์—์„œ `https://ourdomain.com` ๋งํฌ๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ์•ฑ์œผ๋กœ ์—ฐ๊ฒฐํ•ด๋‹ฌ๋ผ๋Š” ์š”๊ตฌ์‚ฌํ•ญ์ด ์ƒ๊ฒผ๋‹ค. ํ•„์š”ํ•œ ์ž‘์—…์€ ๋ฌด์—‡์ธ๊ฐ€?
- Universal Links๊ฐ€ ์–ด๋–ค ์›๋ฆฌ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ์•ฑ์„ ์„ค์น˜ํ•˜๋Š” ์‹œ์ ๋ถ€ํ„ฐ ์‹œ๊ฐ„ ํ๋ฆ„ ์ˆœ์œผ๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‚˜?
- Universal Links๊ฐ€ ์ƒ๊ฒจ๋‚œ ์ด์œ ์™€ ํ•œ๊ณ„๋Š” ๋ฌด์—‡์ธ๊ฐ€?

## Swift

- Value Type๊ณผ Reference Type์—๋Š” ๋ฌด์—‡์ด ์žˆ๋Š”๊ฐ€?
- Collection, Closure๋Š” ๋ฌด์Šจ ํƒ€์ž…์ธ๊ฐ€?
- What is the difference optional between `nil` and `.none`?
- Generic์ด ํ•„์š”ํ•œ ์ด์œ ๋Š”?
- What is the difference between Generics and Any?
- What is the difference between Array and NSArray?
- ์•„๋ž˜ ์ฝ”๋“œ์˜ `print` ๊ฒฐ๊ณผ?
```swift
var verb = "like"

let closure = { [verb] in
print("I \(verb) swift")
}

verb = "hate"

closure()
```
- ํด๋ž˜์Šค ์•ˆ์˜ `static`ํ•จ์ˆ˜์™€ `class`ํ•จ์ˆ˜์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€?
- Why do we need to specify self to refer to a stored property or a method When writing asynchronous code?

### Memory

- ํด๋กœ์ €์—์„œ `[weak self]`๋Š” ์–ด๋–ค ์ƒํ™ฉ์— ์“ฐ์ด๋Š”๊ฐ€?
- `guard let self else { return }` ๊ฐ€ ๊ฐ–๋Š” ์˜๋ฏธ๋Š” ๋ฌด์—‡์ธ๊ฐ€?
- `guard let self else { return }` ๋Œ€์‹  `self?.`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜?
- ํด๋กœ์ €๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ self๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ•ด์ œ๋˜์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€?
- What is your process for tracing and fixing a memory leak?

### Performance

- `struct`์™€ `class`์˜ ์„ฑ๋Šฅ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ๋Š”?
- Collection์˜ `map()`, `redeuce()` ์™€ `for loops` ์ค‘์— ์–ด๋–ค ๊ฒƒ์ด ๋” ๋น ๋ฅด๊ณ  ๋ฌด์—‡์ด ์„ฑ๋Šฅ์˜ ์ฐจ์ด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”๊ฐ€?
- Array์™€ Dictionary ์ค‘ ์–ด๋–ค ๊ฒƒ์ด ํƒ์ƒ‰ ์†๋„๊ฐ€ ๋” ๋น ๋ฅธ๊ฐ€?

## Reactive

### Combine

### Rx

- DisposeBag์ด ๋ฌด์—‡์ด๊ณ  ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”๊ฐ€?
- `dispose()`๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๊ตฌ๋…์€ ์ฆ‰๊ฐ ์ค‘๋‹จ์ด ๋˜๋Š”๊ฐ€?

## General

- What is difference between REST and GraphQL?

## License

**Awesome iOS Questions** is available under the MIT license. See the [LICENSE](LICENSE) for details.