Java
Sınıfta iki alan var ve bunlar arasında bir invariant (biri diğerinden kesinlikle küçük), her biri AtomicInteger ile korunuyor. Bu, çok iş parçacıklı güvenlik için yeterli midir?
Birden fazla hizmette dağıtılmış bir işlemi nasıl sağlayabilirsiniz?
Projelerinde kuyrukları kullanma deneyiminiz var mı?
Koddaki statik bloğunun kullanımına örnek verebilir misin?
Sorgulama hızını artırmak için tabloları parçalara ayırmak (sharding) gerekir mi?
Veri serileştirme için Protocol Buffer kullanmanın avantajları ve dezavantajları nelerdir?
Spring'de @Transactional kullanım özellikleri. İşlem izolasyon seviyeleri.
Önceki iş yerinizde geliştirme sürecinin nasıl organize edildiğini anlatın — iş ihtiyacından yayınlamaya kadar.
Spring Framework'te @Transactional anotasyonu kullanılarak işlemlerin desteği nasıl uygulanır?
Projelerinizde Spring Data ve Hibernate entegrasyonu ile çalıştınız mı?
Statik fonksiyonlar ne zaman ve nasıl çağrılır: nesne üzerinden mi yoksa sınıf üzerinden mi?
Veri paralel işleme için Stream API'de parallel yöntemini kullanma deneyiminiz var mı?
Varsayılan standart koşullarda Bean nesnesinin görünürlük alanı nasıl belirlenir?
Spring Boot testlerindeki @SpringBootTest anotasyonunun çalışma mekanizmasını açıklayabilir misiniz?
Bir dakika ile bir güne kadar cevap vermeyebilecek istikrarsız entegrasyonla başa çıkmak için hangi yaklaşımlar var?
İlkel veri tipleri ve bunların nesne sarmalayıcılarını kullanmak arasındaki performans farkı nedir?
Aşağıdaki kod parçacıklarının performansını karşılaştırın; bunlar, bir Integer dizisinden bir int dizisine ve tersi yönde öğeleri kopyalar ve yeni Integer nesneleri int değerlerinden oluşturulurkenki durumu da içerir: ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { x[i] = y[i]; } } ``` ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = x[i]; } } ``` ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = new Integer(x[i]); } } ``` Bu yaklaşımların performans ve davranış farklarını analiz edin ve açıklayın.
Projelerinizde iş parçacıklarını yönetmek için ExecutorService bileşenini kullandınız mı?
Java'da Stream akışları yürütülürken istisna yönetimi nasıl yapılır?
Hangi akışlar? (giriş-çıkış akışlarından bahsedildikten sonra açıklayıcı soru)