PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCareers
|Home/Other / Miscellaneous/Pinterest

Build an emoji blaster animation on iOS

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a developer's skills in iOS UI interaction, animation frameworks, event scheduling and concurrency, performance optimization, and designing testable application architecture.

  • medium
  • Pinterest
  • Other / Miscellaneous
  • Software Engineer

Build an emoji blaster animation on iOS

Company: Pinterest

Role: Software Engineer

Category: Other / Miscellaneous

Difficulty: medium

Interview Round: Onsite

Build an iOS "blaster" app with a button at the bottom; when the user presses and holds, it emits emoji projectiles that animate toward the top of the screen at regular intervals. Specify your animation approach (Core Animation, UIKit Dynamics, or SwiftUI), scheduling/timers for continuous firing, collision or off-screen cleanup, performance considerations for many concurrent animations, and how you would structure the code for testability.

Quick Answer: This question evaluates a developer's skills in iOS UI interaction, animation frameworks, event scheduling and concurrency, performance optimization, and designing testable application architecture.

Related Interview Questions

  • Implement tap-to-infect color grid on iOS - Pinterest (medium)
Pinterest logo
Pinterest
Sep 6, 2025, 12:00 AM
Software Engineer
Onsite
Other / Miscellaneous
3
0

iOS "Blaster" App: Press-and-Hold Emoji Projectiles

Problem

Build a minimal iOS app with a button fixed at the bottom. While the user presses and holds the button, the app emits emoji "projectiles" that travel upward at regular intervals until the press ends.

Requirements

  1. Interaction
    • A bottom-aligned fire button.
    • Press-and-hold continuously fires projectiles at a fixed interval (e.g., every 80–150 ms).
  2. Animation
    • Projectiles animate from the button area toward the top of the screen.
    • Choose and justify an approach: Core Animation, UIKit Dynamics, or SwiftUI.
  3. Scheduling
    • Describe how you will schedule continuous firing while the button is held.
  4. Cleanup
    • Either implement collision handling or ensure projectiles are cleaned up when off-screen.
  5. Performance
    • Discuss performance considerations with many simultaneous projectiles and how to avoid jank.
  6. Code Structure & Testability
    • Outline how you would structure the code for unit testing (e.g., timer abstraction, renderer abstraction, separation of UI and logic).

Assume a modern iOS target. You may use UIKit or SwiftUI; include brief code to illustrate your chosen approach and any key abstractions.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More Other / Miscellaneous•More Pinterest•More Software Engineer•Pinterest Software Engineer•Pinterest Other / Miscellaneous•Software Engineer Other / Miscellaneous
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • Careers
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.