Arcesium Lead Engineer Interview Experience (Couldn't Clear Round 2)
Summary
I interviewed for a Lead Engineer position at Arcesium, completed an online assessment and a DSA round, but did not clear Round 2.
Full Experience
Round 1 - Online Assessment
Question 1: Expression Evaluator
Given JSON input from an API endpoint containing expression groups, evaluate expressions based on their type:
- DIRECT
- DOLLAR_EXPRESSION
- RS_EXPRESSION
Requirements included:
- Dependency resolution between expressions
- Variable substitution using
${variable} - Extensible design for future expression types
- Memory-constrained processing (millions of groups, limited groups in memory at a time)
The focus seemed to be on clean design, dependency handling, and scalability.
Round 2 - DSA
Question 1: Decode Numeric String to Letters
Encoding:
A → 1 B → 2 ... Z → 26
Example:
2116
Possible decodings:
- 2,1,1,6
- 21,1,6
- 2,11,6
- 2,1,16
- 21,16
Answer = 5
Essentially a variation of the classic Decode Ways problem.
Question 2: Check Ancestor Relationship in Tree
Given a tree and multiple queries (X, Y), determine whether X is an ancestor of Y.
Example:
1 -> 2 1 -> 3 2 -> 4 2 -> 5 3 -> 6 5 -> 7
Queries:
1 6 => true 6 1 => false 2 7 => true 2 6 => false
Takeaways
- DSA fundamentals are still extremely important even for senior/lead roles.
- Interviewers were interested in both correctness and discussion around complexity.
- Tree traversal and DP-based problems remain common.
I didn't make it through this time, but it was a good learning experience. Hope this helps someone preparing for Arcesium interviews.
Good luck to everyone interviewing!
Interview Questions (3)
Expression Evaluator
Given JSON input from an API endpoint containing expression groups, evaluate expressions based on their type (DIRECT, DOLLAR_EXPRESSION, RS_EXPRESSION). Requirements include dependency resolution between expressions, variable substitution using ${variable}, extensible design for future expression types, and memory‑constrained processing (handling millions of groups with limited groups in memory at a time). The focus is on clean design, dependency handling, and scalability.
Decode Numeric String to Letters
Encoding: A → 1, B → 2, …, Z → 26. Given a numeric string (e.g., "2116"), count all possible decodings into letters. Example decodings for "2116": 2,1,1,6; 21,1,6; 2,11,6; 2,1,16; 21,16. The answer for the example is 5. This is a variation of the classic Decode Ways problem.
Check Ancestor Relationship in Tree
Given a tree and multiple queries (X, Y), determine whether X is an ancestor of Y. Example tree edges: 1->2, 1->3, 2->4, 2->5, 3->6, 5->7. Sample queries: 1 6 => true, 6 1 => false, 2 7 => true, 2 6 => false.