FastPrepVirtual Card Transaction Validator

Virtual Card Transaction Validator

Capital One logoCapital One● EasyFULLTIMEONSITE INTERVIEW
Learn

Problem statement

Determine whether a transaction may be authorized for a virtual card.

A transaction is valid exactly when the card is active, transactionDay is no later than expirationDay, the amount is positive, and the amount does not exceed remainingLimit.

Function

isVirtualCardTransactionValid(active: boolean, expirationDay: int, transactionDay: int, remainingLimit: int, amount: int) → boolean

Examples

Example 1

active = trueexpirationDay = 30transactionDay = 20remainingLimit = 500amount = 120return = true

The active card has not expired and has enough remaining limit.

Example 2

active = trueexpirationDay = 30transactionDay = 31remainingLimit = 500amount = 120return = false

The transaction occurs after the expiration day.

Example 3

active = falseexpirationDay = 30transactionDay = 20remainingLimit = 500amount = 120return = false

An inactive card cannot authorize a transaction.

Constraints

  • 0 <= transactionDay, expirationDay <= 10^9.
  • 0 <= remainingLimit <= 10^9.
  • -10^9 <= amount <= 10^9.

More Capital One problems

See Capital One hiring insights
public boolean isVirtualCardTransactionValid(boolean active, int expirationDay, int transactionDay, int remainingLimit, int amount) {
    // Write your code here.
}
activetrue
expirationDay30
transactionDay20
remainingLimit500
amount120
expectedtrue
Checking account…