Zopsmart Assessment Experience (Rejected)
Summary
I attempted the Zopsmart online assessment but was rejected. The experience includes three rounds with various coding problems, focusing on base conversion, string manipulation, and linked list operations.
Full Experience
Recently, I appeared for the Zopsmart Online Assessment. Unfortunately, I was rejected, but I'm sharing the questions for learning and future reference.
Round 1 (45 Minutes | 2 Questions)
Q1: Base Conversion + Integer Square Root
- Convert a decimal number to hex
- Treat hex as base 36
- Convert to decimal
- Return floor(sqrt(value))
Example
Input: 100
Hex → 64
Base36 → 220
Output → 14
Q2: Reverse Base-36 Number
- Convert decimal to base 36
- Reverse the string
- Treat it again as base 36
- Convert to decimal
Example
100 → 2S → S2 → 1010
Round 2 (30 Minutes | 1 Question)
Q1 Hidden Roman Numeral
- Extract only Roman letters (I, V, X, L, C, D, M)
- Combine adjacent letters only if value reduces
- Order must remain same
- Find minimum total value
Example
Input: I HAVE EATEN
Extracted: IV
Output: 4
Round 3 (Linked List Question Pan Paper Test)
Q1 Reverse Linked List in Increasing Groups (Odd Pattern)
Problem Statement (Simplified)
Given a singly linked list, reverse the nodes in increasing group sizes:
- First group → size 1 (no change)
- Second group → size 2 (no change)
- Third group → size 3 → reverse
- Fourth group → size 4 → reverse
- Group size increases by 1 each time
Example
Input:
1 → 2 → 3 → 4 → 5 → 6
Processing:
Group 1 (1): 1
Group 2 (2): 2 → 3
Group 3 (3): 4 → 5 → 6 (reverse)
Output:
1 → 2 → 3 → 6 → 5 → 4
Note: This Round 3 experience was shared by my friend.
Interview Questions (4)
Convert a decimal number to hex, treat hex as base 36, convert to decimal, and return the floor of the square root of the value. Example: Input 100, Hex → 64, Base36 → 220, Output → 14.
Convert a decimal number to base 36, reverse the string, treat it again as base 36, and convert back to decimal. Example: 100 → 2S → S2 → 1010.
Extract only Roman letters (I, V, X, L, C, D, M) from the input, combine adjacent letters only if their combined value is less than the sum of individual values, maintain the original order, and find the minimum total value. Example: Input 'I HAVE EATEN' results in 'IV' with output 4.
Given a singly linked list, reverse the nodes in increasing group sizes. First group size 1 (no change), second group size 2 (no change), third group size 3 (reverse), fourth group size 4 (reverse), and so on. Example: Input 1 → 2 → 3 → 4 → 5 → 6 results in output 1 → 2 → 3 → 6 → 5 → 4.