SE-2 Nike Interview Exp
Summary
I interviewed for a Software Engineer 2 position at Nike, successfully completing four rounds covering technical fundamentals, algorithms, system design, and behavioral aspects, and ultimately received an offer.
Full Experience
Round 1: Bar-Raiser (Conducted by 3rd Party)
This round focused on core technical competency and fundamental coding.
1. DSA: One Medium-level problem (focused on Array/String manipulation).
2. Technical: Deep dive into Java 8+ features, Spring Boot annotations, and Bean lifecycle.
Round 2: Technical Round (Conducted by Nike SE-3)
A heavy emphasis on algorithmic problem-solving and optimization.
1. Problem 1 (Dynamic Programming): A variation of the Knapsack or Coin Change problem. Focused on transition states and space optimization.
2. Problem 2 (Binary Search): A "Binary Search on Answer" type question.
3. Some AWS theory questions.
Discussion: We discussed time and space complexity ($O(n \log n)$ vs $O(n)$) extensively.
Round 3: Technical & Design (Conducted by Engineering Manager)
This round pivoted toward system architecture and clean code.
1. System Design: Asked to Design a Rate Limiter. We discussed various algorithms like Token Bucket, Leaking Bucket, and Fixed Window Counter.
2. Java/Spring Boot: Questions on multithreading, Exception Handling in Spring, and Dependency Injection.
3. SOLID Principles: I had to explain each principle with real-world examples from my previous projects.
4. The AWS Part: I was honest with the manager that while I’m strong in Java/Spring Boot, I haven't had much "hands-on" production experience with AWS yet.
- Theory: Because of that, the questions were more theoretical to see if I understood the concepts. We talked about:
- EC2 vs. Lambda (when to use which).
- S3 for storage vs. RDS.
- Using SQS/SNS for decoupling services.
Round 4: Hiring Manager Round
Mostly behavioral but with a few technical "high-level" curveballs.
Behavioral: Focused on Nike’s core values, handling conflict in a team, and my experience with CI/CD (Jenkins).
Technical: Discussed scalability and how I approach learning new technologies.
Vibe: Very casual and conversational.
And finally got the offer from Nike.
Interview Questions (10)
Java 8+ Features, Spring Boot Annotations, and Bean Lifecycle
Deep dive into Java 8+ features, Spring Boot annotations, and Bean lifecycle.
Dynamic Programming: Knapsack/Coin Change Variation
A variation of the Knapsack or Coin Change problem. Focused on transition states and space optimization.
Design a Rate Limiter
Design a Rate Limiter.
Java/Spring Boot: Multithreading, Exception Handling, Dependency Injection
Questions on multithreading, Exception Handling in Spring, and Dependency Injection.
Explain SOLID Principles
Explain each SOLID principle with real-world examples from previous projects.
EC2 vs. Lambda Comparison
Discuss EC2 vs. Lambda and when to use which.
S3 vs. RDS for Storage
Discuss S3 for storage vs. RDS.
SQS/SNS for Decoupling Services
Discuss using SQS/SNS for decoupling services.
Behavioral: Core Values, Conflict Handling, CI/CD
Focused on Nike’s core values, handling conflict in a team, and my experience with CI/CD (Jenkins).
Technical: Scalability and Learning New Technologies
Discussed scalability and how I approach learning new technologies.