Mobile App Design Technology & Digital Applications 4 — Questions and Answers
Question 1: What is the purpose of code signing in iOS app distribution?
- Obfuscating source code to prevent reverse engineering
- Verifying the app's identity and ensuring it hasn't been tampered with (Correct answer)
- Digitally watermarking UI assets
- Encrypting in-app purchase receipts
Correct answer: Verifying the app's identity and ensuring it hasn't been tampered with
Code signing uses certificates from Apple to cryptographically prove the app's origin and ensure its binary integrity since signing.
Question 2: Which background execution mode allows an iOS app to periodically fetch content even when not in use?
- Silent push notifications background mode
- Background App Refresh (Correct answer)
- VoIP background mode
- Location background mode
Correct answer: Background App Refresh
Background App Refresh lets iOS periodically wake the app to download new content, with iOS controlling the actual frequency based on usage patterns.
Question 3: In mobile networking, what does 'exponential backoff' describe?
- Reducing image quality progressively on slow networks
- Increasingly longer wait times between retry attempts after failures (Correct answer)
- Gradually ramping down server requests as load increases
- Compressing data packets exponentially for faster transfer
Correct answer: Increasingly longer wait times between retry attempts after failures
Exponential backoff doubles the wait time between each successive retry attempt, preventing overwhelming a struggling server while still eventually retrying.
Question 4: What is the main advantage of using vector graphics (SVG/PDF) over raster images (PNG) in mobile UI?
- Smaller file sizes at all resolutions
- Crisp rendering at any screen size or density without additional assets (Correct answer)
- Support for animated sequences
- Better color accuracy on OLED screens
Correct answer: Crisp rendering at any screen size or density without additional assets
Vector graphics scale mathematically and remain sharp at any resolution, eliminating the need to provide @1x, @2x, and @3x raster variants.
Question 5: Which security practice involves validating data both on the client and the server side in a mobile app?
- Certificate pinning
- Defense in depth / dual-layer validation (Correct answer)
- OAuth scoping
- Token encryption
Correct answer: Defense in depth / dual-layer validation
Dual-layer validation ensures that even if client-side validation is bypassed, the server still enforces rules, protecting against malicious requests.
Question 6: In Android development, what is the purpose of the 'ViewModel' surviving configuration changes?
- To persist data to the SQLite database automatically
- To retain UI-related data across screen rotations without re-fetching (Correct answer)
- To cache network responses in memory permanently
- To preserve the Fragment back stack
Correct answer: To retain UI-related data across screen rotations without re-fetching
Android's ViewModel survives Activity recreations caused by configuration changes like rotation, preventing redundant network calls and data loss.
Question 7: What is 'certificate pinning' used to prevent in mobile apps?
- Expired TLS certificates from causing app crashes
- Man-in-the-middle attacks by validating the server's specific certificate (Correct answer)
- Unauthorized in-app purchases
- Third-party SDK data collection
Correct answer: Man-in-the-middle attacks by validating the server's specific certificate
Certificate pinning embeds the expected server certificate or public key in the app, rejecting connections to servers presenting different certificates.
What is the purpose of code signing in iOS app distribution?