Skip to content

Latest commit

 

History

History
95 lines (72 loc) · 5.01 KB

File metadata and controls

95 lines (72 loc) · 5.01 KB

Topics

System Design

Exercise:

Mock

Resource:

How to support offline?

Handle Synchronization conflicts

Polling

  • Polling in spotty connection, or app runs into background

Functional Programming

Git

Design Pattern

Data Structrure and Algorithms

iOS

Security

Persistence

Swift

  • Quizz: to review
  • autoclosure
  • frozen enum
  • static func vs class func: static and class both associate a method with a class, rather than an instance of a class. The difference is that subclasses can override class methods; they cannot override static methods.
  • decode an enum --> use struct (RawRepresentable) instead
  • codable, decodable, RawRepresentable

Test

  • How to call a set up method only once before running all tests in a test class? use override class func setUp()
  • How to call a set up method only once before running all tests of all classes? use Principal class in info plist of Tests target more info

SwiftUI

CI/CD

Pipeline

  • How does XCode generate a DerivedData hash?
  • SwiftLint? What is the advantage of create a separate target for SwiftLint? for standardization, and also because you don't want to run swiftlint everytime you build your target (you only need to run it at some point, as a check, but not everytime, especially on the CI, that's too expensive)
  • What is the aggregate target used for?
  • Sonarqube?
  • Keychain doesn't allow to use different accounts to access the same base url (like www.example.com, www.example.com/home, www.example.com/category, etc.) How do we overcome it? The answer is use a custom credential provider (in keychain). It's a bit more subtle than that, like, you can configure keychain to hold different credentials for full repo url-s, but we need an intermediate thing (like dev.azure.com/). The default macos keychain handler allows only base url (dev.azure.com), or full repo-url (dev.azure.com/../../../), but no intermediate ...and it has other disadvantages too
  • Test Plan?

Others