Spot Frontend Interview Experience | Screening Round
Recently, I was interviewed by Spot, and here’s how it went.
Spot Frontend Interview Experience | Screening Round
Recently, I was interviewed by Spot, and here’s how it went.

After applying through LinkedIn, I received the email invite for Round 1.
Round 1: DSA
It was a Data Structure and Algorithms round in which I was given 2 problem statements, which are mentioned below.
Problem 1: Max Profit Problem
Mr. X owns a large strip of land in Mars Land. For this problem, assume that he has infinite land capacity. On each parcel, he can choose to develop it as per his wishes. He can build either Theatres, Pubs, or Commercial Parks. Commercial Park can house 6 Commercial Spaces; Theatre has 8 Auditoriums, and Pub has only one dance floor.
- A Theatre takes 5 units of time to build and covers a 2x1 parcel of land.
- A Pub takes 4 units of time to develop and covers a 1x1 parcel of land.
- A Commercial Park takes 10 units of time to build and covers a 3x1 parcel of land.
Each unit of time a building is operational earns him money.

He cannot have two properties being developed in parallel in one unit of time.
- After n units of time, where n is the input, he earns money based on which properties have been developed.
- The output should be T for Theatre, followed by the number developed, P for Pub, followed by the number developed, and C for Commercial Park, followed by the number developed.
Challenge
- Come up with the right mix of properties based on the given input unit of time (n).

Solution:
function maximizeProfit(n) {
const types = [
["T", 5, 1500],
["P", 4, 1000],
["C", 10, 2000]
];
const dp = Array(n + 1).fill(0);
for (let t = 0; t <= n; t++) {
for (const [, build, earn] of types) {
const finish = t + build;
if (finish <= n) {
dp[finish] = Math.max(
dp[finish],
dp[t] + (n - finish) * earn
);
}
}
}
return Math.max(...dp);
}
Hey New Readers 👋
If you’re new here, make sure to check out my Frontend Army publication, where I have published 50+ detailed Frontend interview experiences, Top ReactJS, JavaScript questions, and many more.

Great resource for anyone preparing for Frontend Engineer interviews 🚀
Problem 2: Water Tank Problem
Given “n” always greater than -1, representing the block height. Now compute the units of water stored between the blocks. Build a Web Application (Frontend Solution) using Vanilla JavaScript and HTML/CSS to represent the solution. Share the code and snippets in a Git repository.
Hint: Generate SVG Shape (preferred) or Table View like the one below.
Example:

Solution:
function trapRainWater(heights) {
const n = heights.length;
if (n === 0) return 0;
const leftMax = new Array(n);
const rightMax = new Array(n);
// Build left max array
leftMax[0] = heights[0];
for (let i = 1; i < n; i++) {
leftMax[i] = Math.max(leftMax[i - 1], heights[i]);
}
// Build right max array
rightMax[n - 1] = heights[n - 1];
for (let i = n - 2; i >= 0; i--) {
rightMax[i] = Math.max(rightMax[i + 1], heights[i]);
}
let totalWater = 0;
for (let i = 0; i < n; i++) {
const waterLevel = Math.min(leftMax[i], rightMax[i]);
totalWater += waterLevel - heights[i];
}
return totalWater;
}
const arr = [0, 4, 0, 0, 0, 6, 0, 6, 4, 0];
console.log(trapRainWater(arr)); // 18
While preparing for interviews, I came across a platform called **PracHub**, where I found the questions and solutions really helpful. You should check it out, it’s definitely worth exploring.
메타데이터
- post_id
- fa1987de58b9
- slug
- ever-quint-frontend-interview-experience-screening-round-fa1987de58b9
- url
- https://medium.com/frontend-army/ever-quint-frontend-interview-experience-screening-round-fa1987de58b9
- canonical_url
- https://medium.com/frontend-army/ever-quint-frontend-interview-experience-screening-round-fa1987de58b9
- author_url
- https://medium.com/@gouravhammad477
- status
- ok
- fetched_at
- 2026-06-20 20:29:01