Please enable JavaScript.
Coggle requires JavaScript to display documents.
iOS Developer - Coggle Diagram
iOS Developer
Value/Reference Type : : :
Что такое передача по значению, копирование, указатель
Какие типы данных передаются по значению
Что такое inout
Что такое mutating
Алокация в памяти
Всегда ли классы и refence типы хранятся в куче
Всегда ли структуры и value типы хранятся в стэке
Что такое стэк и куча
Где хранятся refence type
Где хранятся value типы
Диспетчирезация
Какие виды бывают
Связь между диспетчирезацией и наследованием
Как работает статическая и динамическая диспетчирезация
Отличия table dispatch от message dispatch
Зачем нужен final
Copy on write
Что это такое
Какую проблему решает
Как реализовать самому
Для каких структур и данных он реализован
Структуры данных
Set
Map
Dictionary
Linked List
Stack
Heap
Caching and Persistency
Core Data
Realm
KeyChain
NSUserDefaults
NSCache
Тестирование
Пирамида тестирования
Unit Tests
TDD
BDD
UI Tests
Многопоточность
GCD
NSOperation
Runloop
Синхронизация
Mutex
Semaphore
Dispatch barier
Проблемы
Race Condition
Deadlock
Livelock
Priority Inversion
Hit Testing и Responder Chain
UITouch/ UIGestureRecognizer
Hit Testing
sendEvent
hitTest
pointInside
Обработка нажатия вью за пределами родителя
Увеличение области нажатия у кнопки
Responder Chain
next
target(forAction)
canPerformAction
forwardInvocation
forwardingTarget
Target Action
Управление памятью
MRC
retain
release
autorelease
Autorelease pool
Жизненный цикл
Когда нужно использовать свой
Использование в Swift
ARC
Strong/Weak/Unowned
Side Table
Почему unowned быстрее weak
Как и почему падает unowned
unowned(safe) и unowned(unsafe)
Retain cycle
Явный и неявный захват ссылок
Отличие от сборщика мусора
Как это работает
Реализация счетчика ссылок
Что такое Heap Object
Состояния для объекта
copy/assign/unsafe_unretainde
Архитектуры
System Design
Проблемы
MV(X)
Clean (Viper)
TCA
Алгоритмы
Big O notation
Сортировки
Коллекции
Теория графов
Деревья
Cocoa Touch
UIKit
UIApplication
States
UIApplication Delegate
UIVIews
UIWindow
Layers
UIViewController
Lifecycle
Animations
Navigation
Layout
frame based
Autolayout
Foundation
Notifications vs Delegation vs Observing
Networking
URLSession
Websockets
Seralization
NSCoding
Codable
JSON
XML
Protobuf
User Notification
Работа в бэкграунде
Dependencies Managment
Cocoapods
SPM
Carthage
Дизайн паттерны
Структурные
Порождающие
Поведенческие
GIT
Git Flow
TBD
Парадигмы программирования
Функциональное пром-ние
Объектно-ориентирвонное
Языки
Swift
Closures
Escaping closure
Capture closure
Initalizers
Two phases
Generics
Protocols
Protocol-oriented programming
Struct
Optionals
Что такое опционал?
Как сделать свой форс-анвраппинг
Какие способы unwarapping'а существуют
Hashable
Коллизия
Функции высшего порядка
associated type