0
0
Fluttermobile~20 mins

Firebase Authentication in Flutter - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Firebase Auth Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
ui_behavior
intermediate
2:00remaining
What happens when a user tries to sign in with an invalid email format?
Consider this Flutter code snippet using Firebase Authentication to sign in a user. What will be the app's behavior if the user enters an invalid email format?
Flutter
try {
  await FirebaseAuth.instance.signInWithEmailAndPassword(
    email: userEmail,
    password: userPassword
  );
  print('Sign in successful');
} catch (e) {
  print('Error: $e');
}
AThe app crashes with a null pointer exception.
BThe app prints 'Sign in successful' even with invalid email format.
CThe app throws a FirebaseAuthException with code 'invalid-email'.
DThe app ignores the error and continues without signing in.
Attempts:
2 left
💡 Hint
Firebase validates email format and throws specific exceptions for invalid inputs.
lifecycle
intermediate
2:00remaining
When does FirebaseAuth.instance.authStateChanges() emit a new event?
In Flutter, FirebaseAuth provides authStateChanges() stream. When does this stream emit a new event?
AEvery second regardless of user state.
BOnly when the app starts.
COnly when the user changes their password.
DWhen the user signs in or signs out.
Attempts:
2 left
💡 Hint
Think about what changes the authentication state.
📝 Syntax
advanced
2:00remaining
What is the output of this Flutter Firebase sign-up code snippet?
Analyze the following code and select the correct output printed to the console.
Flutter
try {
  final userCredential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
    email: 'test@example.com',
    password: '123'
  );
  print('User ID: ${userCredential.user?.uid}');
} catch (e) {
  print('Error: $e');
}
AError: FirebaseAuthException with code 'weak-password'
BUser ID: a valid UID string
CUser ID: null
DError: FormatException
Attempts:
2 left
💡 Hint
Firebase requires passwords to be at least 6 characters.
navigation
advanced
2:00remaining
What happens to the navigation stack after a successful Firebase sign-out?
In a Flutter app, after calling FirebaseAuth.instance.signOut(), what is the best practice for navigation to reflect the signed-out state?
APop all routes and push the login screen as the new root.
BPush a new home screen on top of the current stack.
CDo nothing and stay on the current screen.
DReplace the current screen with a loading spinner.
Attempts:
2 left
💡 Hint
Think about preventing the user from returning to authenticated screens after sign-out.
🔧 Debug
expert
2:00remaining
Why does this Flutter Firebase sign-in code cause an unhandled exception?
Review the code below. Why does it cause an unhandled exception when the user enters wrong credentials?
Flutter
void signInUser(String email, String password) async {
  final userCredential = await FirebaseAuth.instance.signInWithEmailAndPassword(
    email: email,
    password: password
  );
  print('Signed in: ${userCredential.user?.email}');
}

// Called somewhere without try-catch
ABecause signInWithEmailAndPassword returns null on failure, causing a null pointer.
BBecause exceptions from signInWithEmailAndPassword are not caught, causing unhandled exceptions.
CBecause the print statement uses string interpolation incorrectly.
DBecause the async function is not awaited, causing timing issues.
Attempts:
2 left
💡 Hint
Think about error handling with async calls.