Pluang | SDE-3 | JAVA Backend | Interview Experience

pluang logo
pluang
SDE-3, Java Backend Engineer6 years
November 5, 202524 reads

Summary

I recently had an interview for an SDE-3 Java Backend role at Pluang, which lasted approximately 60-90 minutes. The round extensively covered Data Structures & Algorithms, including specific LeetCode problems, and deep dives into System Design concepts centered around Kafka and Redis.

Full Experience

My interview for the SDE-3 Java Backend role at Pluang started with a typical introduction where we both shared backgrounds, and I discussed my current role, project tech stack, and responsibilities for about 15 minutes.

Following the introduction, the interviewer moved on to Data Structures & Algorithms. I was given two well-known LeetCode problems. The first was Evaluate Reverse Polish Notation, which I successfully implemented using a Stack. The second problem was Koko Eating Bananas, for which I presented a binary search approach.

The discussion then shifted to System Design, specifically focusing on Kafka. I was asked a series of questions:

  • What is Kafka? I explained its architecture, detailing producers, brokers, topics, partitions, and consumers.
  • Acks in Kafka (acks=0, acks=1, acks=all)? I elaborated on the trade-offs between reliability and performance for each acks setting.
  • Message Ordering in Kafka? I described how message ordering is maintained within partitions.

Next, the conversation moved to Redis. The questions included:
  • What data structure have you used? I mentioned mainly using Key-Value pairs (String type) for caching.
  • Did you use Lists, Sets, Hashes, Sorted Sets? I clarified that my current use cases primarily revolve around simple key-value stores.
  • By default, which data structure does Redis use? I explained that key stores can map to multiple data types, with String being the default if no specific type is mentioned.
  • Have you heard of CROSSSLOT error? What is it? I explained the concept of CROSSSLOT errors in Redis Cluster, which arise when multi-key commands involve keys that don't hash to the same slot.
Unfortunately, time ran out, so the interviewer provided quick feedback at the end of the session.

Interview Questions (9)

Q1
Evaluate Reverse Polish Notation
Data Structures & AlgorithmsMedium

You are given an array of strings tokens that represents an arithmetic expression in a Reverse Polish Notation.
Evaluate the expression. Return an integer that represents the value of the expression.
The valid operators are +, -, *, and /. Each operand may be an integer or another expression.

Q2
Koko Eating Bananas
Data Structures & AlgorithmsMedium

Koko loves to eat bananas. There are n piles of bananas, the i-th pile has piles[i] bananas. You are given an integer h which represents the hours Koko has to eat all the bananas.
Koko can decide her eating speed k (bananas per hour). Each hour, she chooses some pile of bananas and eats k bananas from it. If a pile has less than k bananas, she eats all of them instead and will not eat any more bananas during this hour.
Koko likes to eat slowly but still wants to finish all the bananas within h hours.
Return the minimum integer k such that she can eat all the bananas within h hours.

Q3
Kafka Architecture and Concepts
System Design

I was asked to explain the core components of Kafka, including its architecture, producers, brokers, topics, partitions, and consumers.

Q4
Kafka Acks Configuration
System Design

The interviewer inquired about acks in Kafka (acks=0, acks=1, acks=all) and the associated trade-offs between reliability and performance.

Q5
Kafka Message Ordering
System Design

I discussed how message ordering is maintained in Kafka.

Q6
Redis Data Structures Used in Practice
System Design

The interviewer asked about the Redis data structures I have personally used in my projects.

Q7
Familiarity with Advanced Redis Data Structures
System Design

I was asked if I had experience with Redis Lists, Sets, Hashes, or Sorted Sets.

Q8
Default Redis Data Structure
System Design

The interviewer asked which data structure Redis uses by default.

Q9
Redis CROSSSLOT Error
System Design

I was asked if I had heard of the CROSSSLOT error in Redis Cluster and what it signifies.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!