Summary
I interviewed for a Senior Software Engineer position at Concentric.ai in Bangalore. After three rounds, including two DSA rounds and one Low-Level Design round, I was rejected due to negative feedback on the LLD round.
Full Experience
I am currently working as a Senior Software Engineer in a fintech company with a total of 5.5 years of experience. Below is my interview experience with Concentric.
# Round 1: DSA
Coding Questions:
1. Find Top K Most Frequent Elements in an Array
- Was able to write an optimized running code.
- Follow-up: How would you solve it if the array was a stream?
- Discussed an approach but didn’t implement it.
2. Variation of Edit Distance, Given a condition that only add or remove operations are allowed.
- Was able to write an optimized running code.
Since some time was left, we discussed the following topics:
- Polymorphism
- Static variables and their use cases
# Round 2: DSA
Coding Questions:
1. Trapping Rainwater Problem
- Implemented an optimized solution.
2. Medium-level array problem (Don't remember the exact problem statement but it is available on Leetcode).
Few questions were asked from below topics:
- Functional Interfaces
- Java Streams & Lambda Expressions
- Collections API
- Multithreading
Round 3: Low-Level Design (LLD)
Problem: Design Snake Game for Nokia Phone
Functional Requirements (Finalized these with interviewer):
- An arena of N x N.
- The snake does not move automatically; movement is based on user input.
- The snake can move in all four directions.
- Random food spawns; later, food might change to power food.
- When the snake eats food, its length increases, and a new food spawns.
- Game ends if the snake touches the wall or its own body.
- If a new food spawns, it should be placed at a valid coordinate, avoiding the snake’s body.
Verdict: Rejected after Round 3 as feedback for LLD round was not positive.
Interview Questions (4)
Find Top K Most Frequent Elements in an Array. Follow-up: How would you solve it if the array was a stream?
Variation of Edit Distance, given a condition that only add or remove operations are allowed.
Trapping Rainwater Problem
Design a Snake Game for a Nokia Phone with the following functional requirements: An arena of N x N. The snake does not move automatically; movement is based on user input. The snake can move in all four directions. Random food spawns; later, food might change to power food. When the snake eats food, its length increases, and a new food spawns. Game ends if the snake touches the wall or its own body. If a new food spawns, it should be placed at a valid coordinate, avoiding the snake’s body.