An open API service indexing awesome lists of open source software.

https://github.com/ugursabirer/live-coding-studies

Java live coding interview preparation with 6 problems (beginner to advanced). Covers Stream API, OOP, Collections, Thread Safety, and Design Patterns. Prepared for technical interviews.
https://github.com/ugursabirer/live-coding-studies

coding-interview collections concurrency design-patterns interview-preparation interview-questions java java8 live-coding oop problem-solving solid-principles stream-api technical-interview thread-safety

Last synced: about 1 hour ago
JSON representation

Java live coding interview preparation with 6 problems (beginner to advanced). Covers Stream API, OOP, Collections, Thread Safety, and Design Patterns. Prepared for technical interviews.

Awesome Lists containing this project

README

          

# 🎯 Java Live Coding Interview Hazırlık

İş Görüşmesi için hazırladığım live coding pratik soruları ve çözümleri.

## 📚 İçerik

### 🌱 Başlangıç Seviye

#### Problem 1: Ürün Filtreleme
- **Konular**: Stream API, Collections, Lambda Expressions
- **Zorluk**: ⭐ Başlangıç
- **Süre**: 10-15 dakika
- [Problem](beginner-level/problem-01-product-filter/README.md) | [Çözüm & Notlar](beginner-level/problem-01-product-filter/notes.md)

#### Problem 2: IBAN Validator
- **Konular**: String manipulation, Regex, Validation, Exception Handling
- **Zorluk**: ⭐ Başlangıç
- **Süre**: 15-20 dakika
- [Problem](beginner-level/problem-02-iban-validator/README.md) | [Çözüm & Notlar](beginner-level/problem-02-iban-validator/notes.md)

### 🌿 Orta Seviye

#### Problem 1: Kurs Yönetim Sistemi
- **Konular**: OOP, Collections Framework, Bidirectional Relationships
- **Zorluk**: ⭐⭐⭐ Orta
- **Süre**: 30-40 dakika
- [Problem](intermediate-level/problem-01-course-management/README.md) | [Çözüm & Notlar](intermediate-level/problem-01-course-management/notes.md)

#### Problem 2: Alışveriş Sepeti
- **Konular**: HashMap, Stream API (groupingBy), equals/hashCode
- **Zorluk**: ⭐⭐⭐ Orta
- **Süre**: 35-45 dakika
- [Problem](intermediate-level/problem-02-shopping-cart/README.md) | [Çözüm & Notlar](intermediate-level/problem-02-shopping-cart/notes.md)

### 🌳 İleri Seviye

#### Problem 1: Banka Sistemi
- **Konular**: Thread Safety, Custom Exceptions, Concurrency, synchronized
- **Zorluk**: ⭐⭐⭐⭐ İleri
- **Süre**: 45-60 dakika
- [Problem](advanced-level/problem-01-bank-system/README.md) | [Çözüm & Notlar](advanced-level/problem-01-bank-system/notes.md)

#### Problem 2: Otel Rezervasyon Sistemi
- **Konular**: Design Patterns (Factory, Builder, Observer, Singleton), SOLID Principles
- **Zorluk**: ⭐⭐⭐⭐⭐ İleri
- **Süre**: 60-75 dakika
- [Problem](advanced-level/problem-02-hotel-reservation/README.md) | [Çözüm & Notlar](advanced-level/problem-02-hotel-reservation/notes.md)

## 🎓 Öğrenilenler

### Başlangıç Seviye
- ✅ Stream API & Functional Programming
- ✅ Collections (List, Set)
- ✅ String manipulation & Regex
- ✅ Validation patterns
- ✅ Exception handling basics

### Orta Seviye
- ✅ OOP Principles (Encapsulation, Abstraction)
- ✅ Collections Framework (HashMap, ArrayList)
- ✅ equals() & hashCode() override
- ✅ Bidirectional relationships
- ✅ Stream API advanced (groupingBy, map, filter)

### İleri Seviye
- ✅ Thread Safety & Synchronization
- ✅ Deadlock prevention
- ✅ Custom exceptions
- ✅ ConcurrentHashMap
- ✅ Design Patterns (Factory, Builder, Observer, Singleton)
- ✅ SOLID Principles
- ✅ Abstract classes & Interfaces

## 🚀 Nasıl Kullanılır?

1. **Problem Seç**: Seviyene göre bir problem seç
2. **README Oku**: Problem açıklamasını oku
3. **Kendin Çöz**: IDE'de kendi çözümünü yaz
4. **Notları İncele**: `notes.md` dosyasından detaylı açıklamaları oku
5. **Karşılaştır**: Kendi çözümünü notlarla karşılaştır

## 💡 Interview İpuçları

### Genel Yaklaşım
1. **Problemi Anla**: Soruları sormaktan çekinme
2. **Düşünce Sürecini Anlat**: "Önce validasyon yapacağım, sonra..."
3. **Adım Adım İlerle**: Küçük parçalara böl
4. **Test Et**: Her adımda test et
5. **Alternatifler Sun**: "Bu şekilde de yapabilirim ama..."

### Kod Yazarken
- ✅ Meaningful variable names
- ✅ Guard clauses (erken return)
- ✅ Null kontrolü
- ✅ Comments (sadece gerektiğinde)
- ✅ Clean code principles

### Bahsetmen Gereken Konular
- 💬 "Stream API kullanıyorum - daha modern"
- 💬 "Guard clause pattern - nested if'lerden kaçınıyorum"
- 💬 "Exception'ları kontrol akışı için kullanmıyorum"
- 💬 "HashMap O(1) lookup hızı sağlıyor"
- 💬 "synchronized kullandım - thread-safe"
- 💬 "SOLID prensiplerine dikkat ettim"

## 📅 Hazırlanma Süreci

Bu repository 03.11.2025 tarihindeki OBSS İş Görüşmesi için hazırlandı.

**Görüşme Öncesi Checklist:**
- [ ] IDE'ni aç (Eclipse/IntelliJ/NetBeans)
- [ ] Java 1.8+ yüklü olduğundan emin ol
- [ ] Tüm problemleri bir kez daha gözden geçir
- [ ] Mikrofon/kamera test et
- [ ] İnternet bağlantını kontrol et

## 📊 Problem Dağılımı

```
Toplam: 6 Problem

Başlangıç : 2 problem (⭐)
Orta : 2 problem (⭐⭐⭐)
İleri : 2 problem (⭐⭐⭐⭐⭐)
```

## 🛠️ Teknolojiler

- Java 8+
- Stream API
- Collections Framework
- Concurrency
- Design Patterns
- SOLID Principles

## 📖 Ek Kaynaklar

### Stream API
- [Oracle Docs - Stream API](https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html)
- [Baeldung - Java 8 Streams](https://www.baeldung.com/java-8-streams)

### Design Patterns
- [Refactoring Guru - Design Patterns](https://refactoring.guru/design-patterns)
- [Java Design Patterns](https://java-design-patterns.com/)

### Concurrency
- [Oracle Docs - Concurrency](https://docs.oracle.com/javase/tutorial/essential/concurrency/)
- [Baeldung - Java Concurrency](https://www.baeldung.com/java-concurrency)

## 👤 Yazar

**Uğur Sabırer**
- GitHub: [@ugursabirer](https://github.com/ugursabirer)

## 📝 Notlar

- Her problem için detaylı açıklamalar `notes.md` dosyasında
- Alternatif çözümler ve best practices dahil
- Interview'da kullanılabilecek açıklamalar mevcut
- Yaygın hatalar ve bunlardan kaçınma yolları

## 🎯 Hedef

Bu repository ile:
1. Java live coding interview'lara hazırlanmak
2. Farklı zorluk seviyelerinde problemler çözmek
3. Best practices öğrenmek
4. Design pattern'leri pratikte kullanmak
5. Thread-safe kod yazmayı öğrenmek

---

**Good luck! 🍀**

*Son güncelleme: 03 Kasım 2025*