PracHub
QuestionsPremiumLearningGuidesCheatsheetNEW

Quick Overview

This question evaluates logical, numerical, and verbal reasoning along with rapid pattern recognition and time-limited decision-making relevant to pre-employment aptitude screens for data science roles.

  • Medium
  • Coinbase
  • Coding & Algorithms
  • Data Scientist

Solve Aptitude Test: Logical, Numerical, Verbal Reasoning

Company: Coinbase

Role: Data Scientist

Category: Coding & Algorithms

Difficulty: Medium

Interview Round: Take-home Project

##### Scenario Pre-employment aptitude screen assessing logical, numerical and verbal reasoning within a strict time limit ##### Question You have 15 minutes to solve up to 50 items; wrong answers are not penalized. 1. What is the next number in the sequence 3, 6, 12, 24, ___? 2. If the symbols ▲, ■, ◯ repeat in that order, what is the 10th symbol? 3. Complete the sentence: "She postponed the launch because she ____ the data were incomplete." (A) realised (B) realises (C) realise (D) realizing ##### Hints Skip difficult items; answer sure-things first for maximum score.

Quick Answer: This question evaluates logical, numerical, and verbal reasoning along with rapid pattern recognition and time-limited decision-making relevant to pre-employment aptitude screens for data science roles.

You are taking a timed aptitude test. Wrong answers are not penalized, so you only commit time to questions you are sure you can answer correctly. You are given an array times where times[i] is the minutes needed to answer the i-th sure question, and an integer time_limit (minutes). Find the maximum number of sure questions you can complete without exceeding time_limit. You cannot split a question; you must spend its full time or skip it.

Constraints

  • 1 <= len(times) <= 50
  • 0 <= times[i] <= 15
  • 0 <= time_limit <= 15
  • All values are integers (minutes)

Solution

def max_sure_answers(times: list[int], time_limit: int) -> int:
    # Greedy: choose shortest durations first to fit as many as possible.
    times.sort()
    total = 0
    count = 0
    for t in times:
        if total + t > time_limit:
            break
        total += t
        count += 1
    return count
Explanation
Because every sure question yields the same benefit (1 correct answer), the optimal way to maximize the count under a time budget is to answer the shortest ones first. Sorting the times and taking them greedily until the next would exceed the limit yields the maximum number of questions.

Time complexity: O(n log n). Space complexity: O(1) additional (sorting in place).

Hints

  1. Sort the times in non-decreasing order.
  2. Accumulate durations until the next one would exceed time_limit.
  3. Zero-time questions can always be included.
Last updated: Mar 29, 2026

Loading coding console...

PracHub

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

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • 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.

Related Coding Questions

  • Implement an In-Memory Database - Coinbase (hard)
  • Implement a Coin-Constrained Jump Strategy - Coinbase (hard)
  • Implement Game Physics and Block Mining - Coinbase (hard)
  • Compute Total Manual Distance - Coinbase (medium)
  • Implement a Flappy Bird Jump Agent - Coinbase