Java alıştırmaları
Hazır testleri geçmesi gereken kısa Java görevleriyle koleksiyon, akış, dosya ve nesne tasarımı becerilerini pekiştirirsin.
Seviye 201 · 16 ders · 15 pratik lab
Dersler
Metin ve koleksiyonlar
- Alıştırma: Unicode duyarlı palindrom ve anagram
- Alıştırma: metinden sözcük dizini
- Alıştırma: en büyük N öğeyi verimli bulmak
- Alıştırma: çakışan zaman aralıklarını birleştirmek
- Kısa görev: personel listesindeki yinelenen kayıtları ayıkla
Akışlar ve nesneler
- Alıştırma: döngüyü akış hattına çevirmek
- Alıştırma: satırları record nesnelerine ayrıştırmak
- Alıştırma: enum ile durum makinesi
- Alıştırma: süreli genel önbellek sınıfı
- Kısa görev: sipariş durumlarını doğrulayan iş akışı
Dosyalar, zaman ve eşzamanlılık
- Alıştırma: klasör ağacının boyut istatistikleri
- Alıştırma: java.time ile saat dilimi dönüşümleri
- Alıştırma: dosyaları paralel özetlemek
- Alıştırma: BlockingQueue ile üretici-tüketici
- Kısa görev: günlük döndürmede eksik günleri bul
Bitirme
- Bitirme görevi: erişim listesinden yetki gözden geçirme raporu
Pratik lablar
- Türkçe harflerle palindrom denetimi: Boşluk ve noktalamayı yok sayan, büyük küçük harf dönüşümünde Türkçe yerelini doğru kullanan palindrom metodunu yaz.
- Metinden sözcük dizini çıkarmak: Her sözcüğün geçtiği satır numaralarını sıralı ve tekrarsız veren dizini TreeMap ile üret.
- En sık N öğeyi verimli bulmak: Milyonlarca arama terimi arasından en sık N tanesini tümünü sıralamadan sabit boyutlu öncelik kuyruğuyla bul ve süre sınırını geç.
- Personel listesindeki yinelenenleri temizlemek: Büyük küçük harf ve boşluk farkıyla yinelenen personel kayıtlarını e-postaya göre tekille; ilk görüleni koru.
- Çakışan vardiya aralıklarını birleştirmek: Çakışan ve bitişik vardiya aralıklarını birleştir ve toplam kapsanan süreyi hesapla.
- Döndürülmüş günlüklerde eksik günleri bulmak: Dosya adlarındaki tarihlerden eksik günleri bul; sıkıştırılmış ve çift uzantılı adları tanı, ay ve yıl geçişlerini doğru işle.
- Döngüyü akış boru hattına çevirmek: İç içe koşullu döngüyle toplam hesaplayan metodu aynı sonucu veren akış boru hattına çevir.
- Satırları record nesnelerine ayrıştırmak: Noktalı virgülle ayrılmış ölçüm satırlarını record nesnelerine çevir; bozuk satırı Optional ile ele ve sayısını bildir.
- Süre sonlu jenerik önbellek sınıfı: Anahtar ve değer türü parametreli, girdileri süre sonunda düşen ve kapasite sınırı olan önbelleği sahte saatle test edilebilir yaz.
- Enum ile trafik ışığı döngüsü: Işık durumlarını enum ile tanımla; her durumun süresini ve sonraki durumu döndüren metotları yaz.
- Sipariş iş akışında geçişleri doğrulamak: Sipariş durumları arasındaki izinli geçişleri enum içinde tanımla ve izinsiz geçişte durumu değiştirmeden istisna fırlat.
- Otomat için durum makinesi yazmak: Para atma, ürün seçme, iade ve stok bitti durumlarını kapsayan otomatı yaz; rastgele olay dizilerinde bakiyenin hiç eksiye düşmediğini test et.
- Dizin ağacının boyut istatistikleri: Files.walk ile ağacı gez ve uzantı başına dosya sayısı ile toplam boyutu döndür.
- Toplantı saatini saat dilimleri arasında çevirmek: java.time ile toplantı saatini katılımcıların saat dilimlerine çevir; yaz saati geçişine denk gelen saatleri doğru işle.
- BlockingQueue ile üretici ve tüketici hattı: Dosya özetlerini üreten ve yazan iki aşamayı sınırlı BlockingQueue ile bağla; zehir hapıyla düzgün kapan ve hiçbir dosya atlanmasın.
Kurs hakkında
Hazır testleri geçmesi gereken kısa Java görevleriyle koleksiyon, akış, dosya ve nesne tasarımı becerilerini pekiştirirsin.
Ne öğreneceksin
- Metin ve koleksiyonlar
- Akışlar ve nesneler
- Dosyalar, zaman ve eşzamanlılık
- Bitirme
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.