Topics to learn before entering a role as a Senior Developer
Senior iOS Developer: Must Know topics for interview/to become better at the development
Being an iOS developer, we should be strong in the following topics and should be able to explain these on our own, which will make us better developers and will be helpful in the interview process as well.
iOS App Life Cycle, application states, AppDelegate & SceneDelegate
Class VS Struct
1. Difference
2. Use case scenario
3. Responder chain or root class for UI kit elements(label, tableview….)
4. ARC
5. Cyclic reference and memory leak
6. Weak vs. unowned
7. Types of initializers and their useFunctions and closures
1. Trailing closure
2. Escaping vs. non-escaping
3. Capturing values in closure
4. Defer
5. Input/output parameterProtocols
1. Protocol-oriented programming
2. Can we have stored properties in the protocol
3. Computed properties in protocol
4. Default implementation of a protocol function — when to use itExtensions
1. What’s the use
2. Stored properties/ computed properties in an extensionSOLID principles with an example
Higher order functions
1. Explain all
2. Write your custom function that should behave as a map, sort, filter, or reduceHashable
Equatable
Property wrappers
Static function vs. class function
Final keyword
Access specifiers
1. Internal
2. Private
3. File Private
4. Public
5. OpenEnums
1. Enums are Value type or a reference type?
2. Computed Properties for cases
3. Associated values
4. Enum in parsing JSON using codableStorage
1. Core data
2. User defaults
3. CacheMultithreading
1. GCD vs. operation queue
2. Sync vs. async
3. Main vs. global queue
4. Dispatch work item
5. Dispatch GroupChallenges faced in a project and how did you overcome that?
Agile process
CI CD — how to use it, like how the process will be (not the setup)
Unit testing
1. Dependency injection
2. UI tests