Challenge - 5 Problems
Performance Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate1:30remaining
How does app startup time impact user retention?
Imagine you open a mobile app. If it takes too long to start, what is the most likely effect on user retention?
Attempts:
2 left
💡 Hint
Think about how you feel when an app takes too long to open.
✗ Incorrect
Slow startup makes users frustrated, leading them to abandon the app and not return.
❓ ui_behavior
intermediate1:30remaining
What happens if an app UI freezes during use?
If a mobile app's interface freezes or lags while you tap buttons, what is the most common user reaction?
Attempts:
2 left
💡 Hint
Think about how you react when your phone freezes.
✗ Incorrect
Freezing causes confusion and frustration, often making users quit the app.
❓ lifecycle
advanced2:00remaining
How does memory management affect app performance and retention?
In React Native, poor memory management can cause the app to slow down or crash. What is the likely effect on user retention?
Attempts:
2 left
💡 Hint
Think about what happens when an app crashes unexpectedly.
✗ Incorrect
Crashes caused by memory issues frustrate users and cause them to uninstall or avoid the app.
advanced
2:00remaining
What is the effect of slow screen transitions on user retention?
If navigating between screens in a React Native app is slow, what happens to user retention?
Attempts:
2 left
💡 Hint
Think about how waiting affects your patience when using apps.
✗ Incorrect
Slow navigation frustrates users, making them less likely to keep using the app.
🔧 Debug
expert2:30remaining
Identify the performance issue causing poor user retention
Given this React Native code snippet, what is the main performance problem that could cause users to leave the app?
code:
"""
import React, { useState } from 'react';
import { View, Button, Text } from 'react-native';
export default function Counter() {
const [count, setCount] = useState(0);
function handlePress() {
for (let i = 0; i < 1000000000; i++) {}
setCount(count + 1);
}
return (
Count: {count}
);
}
"""
Attempts:
2 left
💡 Hint
Consider what happens when a function takes a long time to run on the main thread.
✗ Incorrect
The large loop blocks the main thread, freezing the UI and frustrating users, leading to poor retention.