π Week 2 β Review Checklist
Collections and Exception Handling
π― Review Objective
This checklist will be used during the weekly review session to evaluate:
- Concept clarity
- Collection usage correctness
- Exception design
- Code quality
- Backend thinking maturity
This is not just about working code β it is about engineering reasoning.
πΉ 1οΈβ£ Concept Understanding (Discussion Round)
Ask verbally during review:
β Can you explain the difference between List, Set, and Map? β When would you choose ArrayList over LinkedList? β Why does HashSet require equals() and hashCode()? β What happens if hashCode is not overridden properly? β What is the difference between checked and unchecked exceptions? β Why should we avoid catching generic Exception? β Why use Streams instead of loops?
Score ( /10 ): ___
πΉ 2οΈβ£ Collection Usage Review
Data Structure Selection
β List used appropriately for ordered data β Set used correctly to prevent duplicates β Map used for fast lookup β No unnecessary data structure usage
Efficiency Thinking
β Avoided unnecessary nested loops β Used Map instead of iterating List for lookup β Proper time complexity reasoning explained
Score ( /10 ): ___
πΉ 3οΈβ£ equals() and hashCode() Implementation
If custom objects used:
β equals() correctly overridden β hashCode() correctly overridden β Consistency between equals and hashCode maintained β Logical identity based on meaningful fields (e.g., id)
Ask:
Why did you choose this field for equality?
Score ( /10 ): ___
πΉ 4οΈβ£ Stream Usage Review
β Stream pipeline is readable β filter() used correctly β sorted() used appropriately β collect() used properly β No unnecessary stream chaining
Ask:
Why did you choose Stream instead of loop here?
Score ( /10 ): ___
πΉ 5οΈβ£ Exception Handling Review
Custom Exceptions
β Meaningful exception class names β Extends RuntimeException appropriately β Clear and helpful error messages
Usage
β Exceptions thrown at correct place β No silent exception swallowing β No unnecessary try-catch blocks β Proper handling in main()
Ask:
Why throw exception instead of returning null?
Score ( /10 ): ___
πΉ 6οΈβ£ Edge Case Handling
β Duplicate student handled β Invalid marks handled β Removing non-existing student handled β Empty collection handled β Null checks considered
Ask:
What happens if no students exist and average is calculated?
Score ( /10 ): ___
πΉ 7οΈβ£ Code Quality & Cleanliness
β Proper naming conventions β No long methods (>30 lines) β Proper indentation β Meaningful variable names β No commented-out dead code β Separation of concerns (Service vs Main)
Ask:
Can this method be simplified?
Score ( /10 ): ___
πΉ 8οΈβ£ Backend Thinking Maturity
Observe:
β Thinks about performance β Explains design choices confidently β Justifies data structure decisions β Handles unexpected input logically β Understands production implications
Score ( /10 ): ___
π Overall Score Sheet
| Category | Score |
|---|---|
| Concept Clarity | ___ /10 |
| Collection Usage | ___ /10 |
| equals/hashCode | ___ /10 |
| Streams | ___ /10 |
| Exception Handling | ___ /10 |
| Edge Cases | ___ /10 |
| Code Quality | ___ /10 |
| Backend Thinking | ___ /10 |
Total: ____ /80
π§ Reflection Questions (Ask at End)
- What was hardest this week?
- What concept is still unclear?
- Which part did you enjoy most?
- If this was production code, what would you improve?
π© Common Red Flags to Watch
β οΈ Using List when Map is required β οΈ Catching Exception without handling β οΈ Not overriding hashCode β οΈ Using Stream without understanding β οΈ No validation for input β οΈ Fear when explaining design
π― Mentor Decision
Based on performance:
β Ready for Week 3 β Needs reinforcement β Repeat key exercises β Provide additional mini-task
π₯ Mentor Advice (For You, Aditya)
During review:
- Let her speak 60% of the time
- Ask βwhyβ frequently
- Encourage reasoning, not memorization
- Donβt fix immediately β guide
The goal is not correctness. The goal is engineering thinking.