{"id":32748131,"url":"https://github.com/ugursabirer/live-coding-studies","last_synced_at":"2026-06-30T03:31:47.888Z","repository":{"id":322265079,"uuid":"1088807608","full_name":"ugursabirer/live-coding-studies","owner":"ugursabirer","description":"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.","archived":false,"fork":false,"pushed_at":"2025-11-03T13:41:10.000Z","size":57,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-03T15:21:01.779Z","etag":null,"topics":["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"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ugursabirer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-03T13:39:05.000Z","updated_at":"2025-11-03T13:43:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ugursabirer/live-coding-studies","commit_stats":null,"previous_names":["ugursabirer/live-coding-studies"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ugursabirer/live-coding-studies","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugursabirer%2Flive-coding-studies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugursabirer%2Flive-coding-studies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugursabirer%2Flive-coding-studies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugursabirer%2Flive-coding-studies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ugursabirer","download_url":"https://codeload.github.com/ugursabirer/live-coding-studies/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugursabirer%2Flive-coding-studies/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34951598,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2025-11-03T20:02:07.980Z","updated_at":"2026-06-30T03:31:47.880Z","avatar_url":"https://github.com/ugursabirer.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎯 Java Live Coding Interview Hazırlık\n\nİş Görüşmesi için hazırladığım live coding pratik soruları ve çözümleri.\n\n## 📚 İçerik\n\n### 🌱 Başlangıç Seviye\n\n#### Problem 1: Ürün Filtreleme\n- **Konular**: Stream API, Collections, Lambda Expressions\n- **Zorluk**: ⭐ Başlangıç\n- **Süre**: 10-15 dakika\n- [Problem](beginner-level/problem-01-product-filter/README.md) | [Çözüm \u0026 Notlar](beginner-level/problem-01-product-filter/notes.md)\n\n#### Problem 2: IBAN Validator\n- **Konular**: String manipulation, Regex, Validation, Exception Handling\n- **Zorluk**: ⭐ Başlangıç\n- **Süre**: 15-20 dakika\n- [Problem](beginner-level/problem-02-iban-validator/README.md) | [Çözüm \u0026 Notlar](beginner-level/problem-02-iban-validator/notes.md)\n\n### 🌿 Orta Seviye\n\n#### Problem 1: Kurs Yönetim Sistemi\n- **Konular**: OOP, Collections Framework, Bidirectional Relationships\n- **Zorluk**: ⭐⭐⭐ Orta\n- **Süre**: 30-40 dakika\n- [Problem](intermediate-level/problem-01-course-management/README.md) | [Çözüm \u0026 Notlar](intermediate-level/problem-01-course-management/notes.md)\n\n#### Problem 2: Alışveriş Sepeti\n- **Konular**: HashMap, Stream API (groupingBy), equals/hashCode\n- **Zorluk**: ⭐⭐⭐ Orta\n- **Süre**: 35-45 dakika\n- [Problem](intermediate-level/problem-02-shopping-cart/README.md) | [Çözüm \u0026 Notlar](intermediate-level/problem-02-shopping-cart/notes.md)\n\n### 🌳 İleri Seviye\n\n#### Problem 1: Banka Sistemi\n- **Konular**: Thread Safety, Custom Exceptions, Concurrency, synchronized\n- **Zorluk**: ⭐⭐⭐⭐ İleri\n- **Süre**: 45-60 dakika\n- [Problem](advanced-level/problem-01-bank-system/README.md) | [Çözüm \u0026 Notlar](advanced-level/problem-01-bank-system/notes.md)\n\n#### Problem 2: Otel Rezervasyon Sistemi\n- **Konular**: Design Patterns (Factory, Builder, Observer, Singleton), SOLID Principles\n- **Zorluk**: ⭐⭐⭐⭐⭐ İleri\n- **Süre**: 60-75 dakika\n- [Problem](advanced-level/problem-02-hotel-reservation/README.md) | [Çözüm \u0026 Notlar](advanced-level/problem-02-hotel-reservation/notes.md)\n\n## 🎓 Öğrenilenler\n\n### Başlangıç Seviye\n- ✅ Stream API \u0026 Functional Programming\n- ✅ Collections (List, Set)\n- ✅ String manipulation \u0026 Regex\n- ✅ Validation patterns\n- ✅ Exception handling basics\n\n### Orta Seviye\n- ✅ OOP Principles (Encapsulation, Abstraction)\n- ✅ Collections Framework (HashMap, ArrayList)\n- ✅ equals() \u0026 hashCode() override\n- ✅ Bidirectional relationships\n- ✅ Stream API advanced (groupingBy, map, filter)\n\n### İleri Seviye\n- ✅ Thread Safety \u0026 Synchronization\n- ✅ Deadlock prevention\n- ✅ Custom exceptions\n- ✅ ConcurrentHashMap\n- ✅ Design Patterns (Factory, Builder, Observer, Singleton)\n- ✅ SOLID Principles\n- ✅ Abstract classes \u0026 Interfaces\n\n## 🚀 Nasıl Kullanılır?\n\n1. **Problem Seç**: Seviyene göre bir problem seç\n2. **README Oku**: Problem açıklamasını oku\n3. **Kendin Çöz**: IDE'de kendi çözümünü yaz\n4. **Notları İncele**: `notes.md` dosyasından detaylı açıklamaları oku\n5. **Karşılaştır**: Kendi çözümünü notlarla karşılaştır\n\n## 💡 Interview İpuçları\n\n### Genel Yaklaşım\n1. **Problemi Anla**: Soruları sormaktan çekinme\n2. **Düşünce Sürecini Anlat**: \"Önce validasyon yapacağım, sonra...\"\n3. **Adım Adım İlerle**: Küçük parçalara böl\n4. **Test Et**: Her adımda test et\n5. **Alternatifler Sun**: \"Bu şekilde de yapabilirim ama...\"\n\n### Kod Yazarken\n- ✅ Meaningful variable names\n- ✅ Guard clauses (erken return)\n- ✅ Null kontrolü\n- ✅ Comments (sadece gerektiğinde)\n- ✅ Clean code principles\n\n### Bahsetmen Gereken Konular\n- 💬 \"Stream API kullanıyorum - daha modern\"\n- 💬 \"Guard clause pattern - nested if'lerden kaçınıyorum\"\n- 💬 \"Exception'ları kontrol akışı için kullanmıyorum\"\n- 💬 \"HashMap O(1) lookup hızı sağlıyor\"\n- 💬 \"synchronized kullandım - thread-safe\"\n- 💬 \"SOLID prensiplerine dikkat ettim\"\n\n## 📅 Hazırlanma Süreci\n\nBu repository 03.11.2025 tarihindeki OBSS İş Görüşmesi için hazırlandı.\n\n**Görüşme Öncesi Checklist:**\n- [ ] IDE'ni aç (Eclipse/IntelliJ/NetBeans)\n- [ ] Java 1.8+ yüklü olduğundan emin ol\n- [ ] Tüm problemleri bir kez daha gözden geçir\n- [ ] Mikrofon/kamera test et\n- [ ] İnternet bağlantını kontrol et\n\n## 📊 Problem Dağılımı\n\n```\nToplam: 6 Problem\n\nBaşlangıç  : 2 problem (⭐)\nOrta       : 2 problem (⭐⭐⭐)\nİleri      : 2 problem (⭐⭐⭐⭐⭐)\n```\n\n## 🛠️ Teknolojiler\n\n- Java 8+\n- Stream API\n- Collections Framework\n- Concurrency\n- Design Patterns\n- SOLID Principles\n\n## 📖 Ek Kaynaklar\n\n### Stream API\n- [Oracle Docs - Stream API](https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html)\n- [Baeldung - Java 8 Streams](https://www.baeldung.com/java-8-streams)\n\n### Design Patterns\n- [Refactoring Guru - Design Patterns](https://refactoring.guru/design-patterns)\n- [Java Design Patterns](https://java-design-patterns.com/)\n\n### Concurrency\n- [Oracle Docs - Concurrency](https://docs.oracle.com/javase/tutorial/essential/concurrency/)\n- [Baeldung - Java Concurrency](https://www.baeldung.com/java-concurrency)\n\n## 👤 Yazar\n\n**Uğur Sabırer**\n- GitHub: [@ugursabirer](https://github.com/ugursabirer)\n\n## 📝 Notlar\n\n- Her problem için detaylı açıklamalar `notes.md` dosyasında\n- Alternatif çözümler ve best practices dahil\n- Interview'da kullanılabilecek açıklamalar mevcut\n- Yaygın hatalar ve bunlardan kaçınma yolları\n\n## 🎯 Hedef\n\nBu repository ile:\n1. Java live coding interview'lara hazırlanmak\n2. Farklı zorluk seviyelerinde problemler çözmek\n3. Best practices öğrenmek\n4. Design pattern'leri pratikte kullanmak\n5. Thread-safe kod yazmayı öğrenmek\n\n---\n\n**Good luck! 🍀**\n\n*Son güncelleme: 03 Kasım 2025*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fugursabirer%2Flive-coding-studies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fugursabirer%2Flive-coding-studies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fugursabirer%2Flive-coding-studies/lists"}