Skip to content

Bank of America Online Assessment

Overview

Detailed public write-ups on the Bank of America online test are still hard to find.

What public reports and campus notices usually say (still verify officially):

Item Working note
Online test name Bank of America Online Assessment
Focus areas (metadata) DSA, aptitude
Languages (metadata) C, C++, Java, Python.
Reported round names (OA → 2 Technical Interviews → HR).

Practice drills

Coding Q1: Merge overlapping intervals

Problem: Given a list of intervals [start, end], merge all overlapping intervals and return the non-overlapping set that covers the same ranges.

Approach: Sort by start time. Walk once, merging into the last interval in the result when the next start is ≤ current end; otherwise append a new interval.

Complexity: O(n log n) time from the sort

Bank of America tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.

Coding Q2: Top K frequent elements

Problem: Given an integer array and an integer k, return the k most frequent elements. Order among equals can be arbitrary unless the problem says otherwise.

Approach: Count frequencies with a hash map, then use a heap of size k (or bucket sort by frequency) to extract the top k keys.

Complexity: O(n log k) with a heap

Bank of America tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.

Coding Q3: Linked list cycle

Problem: Given the head of a linked list, return true if there is a cycle and false otherwise.

Approach: Floyd’s tortoise and hare: move one pointer one step and another two steps. If they meet, a cycle exists. If the fast pointer hits null, there is no cycle.

Complexity: O(n) time, O(1) space

Bank of America tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.

Coding Q4: Binary tree level order

Problem: Given the root of a binary tree, return the level-order traversal (breadth-first) as a list of levels.

Approach: Use a queue. For each level, drain the current queue size, collect values, and enqueue children for the next level.

Complexity: O(n) time, O(n) space

Bank of America tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.

What to do next

  1. Open the official careers page or your college placement email for Bank of America
  2. Search GeeksforGeeks + Reddit for Bank of America interview experience
  3. Use Faceprep / PrepInsta only if they match your placement email

Comments & Suggestions