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)
What is method overloading?
Difference between Comparator and Comparable Interface ?
What is difference between Interface and Abstract Class. Use case ?
Difference between equals to and == ?
Default methods in interfaces introduced in Java 8. Explain
Difference between StringBuilder, StringBuffer and String ?
What is SAGA Design Pattern ?
About SQS and what is DLQ ?
What are the AWS services using by your company ?
What is Message Visibilty ?
How will you manage Failed SQS Messages ?
Difference between MySql database and NoSql databases ?
How can you increase the efficiency of an API on an application layer ?
Scenario Based Question -> Theirs is going to be sale, how would you handle traffic ?
On what basis you will scale the application ?
What are ACID properties ?
Search element in rotated sorted array
If your DB is growing exponentially how will you manage database ?
What is CDN, what’s the logic behind it ?