Nike SDE 2 Backend Round 1 : Interview Experience
Summary
I had my first backend round interview for an SDE 2 position at Nike. The interview covered a wide range of topics including Java core concepts, AWS services, system design principles, and a data structures and algorithms problem.
Full Experience
The interview focused on various technical areas, starting with fundamental Java concepts such as method overloading, the differences between Comparator and Comparable, Interface vs. Abstract Class, equals() vs. ==, Java 8 default methods, and String/StringBuilder/StringBuffer differences. We then moved into system design, discussing the SAGA design pattern, AWS SQS and DLQ, message visibility, and managing failed SQS messages. Database knowledge was tested with questions on MySQL vs. NoSQL and ACID properties, along with strategies for managing exponentially growing databases and scaling applications. I also faced a scenario-based question on handling high traffic during a sale and questions about API efficiency and CDNs. A data structures and algorithms question on searching an element in a rotated sorted array was also part of the round.
Interview Questions (19)
Method Overloading Definition
What is method overloading?
Comparator vs. Comparable Interface
Difference between Comparator and Comparable Interface ?
Interface vs. Abstract Class with Use Case
What is difference between Interface and Abstract Class. Use case ?
equals() vs. == Operator
Difference between equals to and == ?
Java 8 Default Interface Methods
Default methods in interfaces introduced in Java 8. Explain
StringBuilder, StringBuffer, and String Differences
Difference between StringBuilder, StringBuffer and String ?
SAGA Design Pattern
What is SAGA Design Pattern ?
SQS and DLQ Explanation
About SQS and what is DLQ ?
Company's AWS Services
What are the AWS services using by your company ?
Message Visibility (SQS)
What is Message Visibilty ?
Managing Failed SQS Messages
How will you manage Failed SQS Messages ?
MySQL vs. NoSQL Databases
Difference between MySql database and NoSql databases ?
API Efficiency at Application Layer
How can you increase the efficiency of an API on an application layer ?
High Traffic Sale System Design
Scenario Based Question -> Theirs is going to be sale, how would you handle traffic ?
Application Scaling Basis
On what basis you will scale the application ?
ACID Properties
What are ACID properties ?
Search in Rotated Sorted Array
Search element in rotated sorted array
Managing Exponentially Growing Database
If your DB is growing exponentially how will you manage database ?
CDN: Definition and Logic
What is CDN, what’s the logic behind it ?