yoklateknik mülakat

Veritabanı Pg Transactions Locking Mülakat Soruları

75 doğrulanmış Veritabanı Pg Transactions Locking mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Pg Transactions LockingZorluk 1
Bir istemci hiçbir ayarı değiştirmeden bağlandığında PostgreSQL'in varsayılan transaction isolation seviyesi nedir?
  • aREAD COMMITTED
  • bREAD UNCOMMITTED
  • cREPEATABLE READ
  • dSERIALIZABLE
Açıklama:PostgreSQL'in varsayılan isolation seviyesi READ COMMITTED'dir. Bir transaction içindeki her ifade kendi çalıştığı andan itibaren yeni bir snapshot görür; bu, tüm transaction boyunca tek bir snapshot kullanan REPEATABLE READ veya SERIALIZABLE'dan farklıdır.
Pg Transactions LockingZorluk 1
Etrafında BEGIN/COMMIT olmadan tek bir UPDATE ifadesi çalıştırılıyor. PostgreSQL'de ne olur?
  • aDaha sonra açık bir COMMIT verilene kadar commit edilmez
  • bKendi başına örtük (implicit) bir transaction olarak çalışır ve commit olur
  • cBir sonraki BEGIN bloğu başlayana kadar kuyruğa alınır
  • dDML ifadeleri açık bir transaction gerektirdiği için başarısız olur
Açıklama:Açık bir BEGIN...COMMIT bloğunun dışında PostgreSQL, her tek ifadeyi kendi örtük transaction'ına sarar; bu yüzden başarılı olduğu anda hemen commit edilir.
Pg Transactions LockingZorluk 1
Açık bir BEGIN bloğu içinde birkaç UPDATE ifadesi çalıştırılıyor ve ardından ROLLBACK veriliyor (SAVEPOINT kullanılmamış). Sonuç nedir?
  • aYalnızca son UPDATE ifadesi geri alınır
  • bBazı iç kontrol noktasından önce çalışan ifadeler uygulanmış kalır
  • cBEGIN'den bu yana yapılan tüm değişiklikler iptal edilir
  • dROLLBACK, herhangi bir DML'i geri almadan önce onay ister
Açıklama:Granülerliği kontrol edecek SAVEPOINT olmadan ROLLBACK, BEGIN'den bu yana yapılan tüm değişiklikleri iptal eder ve veritabanını transaction başlamadan önceki duruma döndürür.
Pg Transactions LockingZorluk 1
pg_stat_activity'de bir oturum state = 'idle in transaction' gösteriyor. Bu ne anlama gelir?
  • aTransaction commit edilmiştir ve bağlantı artık serbesttir
  • bBackend süreci çökmüştür ve yeniden başlatılması gerekir
  • cOturum şu anda bir sorgu için disk I/O'sunu bekliyordur
  • dBir transaction açıktır ama istemci bir sorgu göndermiyordur
Açıklama:'idle in transaction', istemcinin bir transaction açtığı (ör. BEGIN ile) ama şu anda hiçbir sorgu göndermediği anlamına gelir — transaction hâlâ açıktır ve edindiği snapshot ile kilitleri tutmaya devam eder.
Pg Transactions LockingZorluk 1
Yeni bir oturumda, önceden hiçbir ayar değiştirilmeden aşağıdaki komut çalıştırılıyor:
SHOW transaction_isolation;

Bu ne yazdırır?
  • aread committed
  • bserializable
  • crepeatable read
  • dread uncommitted
Açıklama:PostgreSQL 18'de yeni bir oturumda SHOW transaction_isolation; çalıştırılarak doğrulandı: sunucunun varsayılan isolation seviyesi olan read committed yazdırıyor.
Pg Transactions LockingZorluk 1
Bir geliştirici, NOT NULL kısıtını ihlal edip başarısız olan tek bir INSERT ifadesini (BEGIN olmadan) çalıştırıyor. Ardından herhangi bir satır eklenip eklenmediğini kontrol etmek için SELECT çalıştırıyor. Ne buluyor?
  • aBaşarısız olan sütunda NULL tutan yarım bir satır vardır
  • bHiçbir satır eklenmemiştir; başarısız ifadenin transaction'ı geri alınmıştır
  • cTablo artık manuel bir VACUUM çalışana kadar kilitlidir
  • dSatır eklenmiştir ama geçersiz olarak işaretlenmiştir
Açıklama:Tek başına çalışan ifade kendi örtük transaction'ında yürütüldüğü için, bir kısıt ihlali bu transaction'ın tamamını iptal eder; dolayısıyla hiçbir şey commit edilmez.

2475 soruluk Veritabanı bankasında kendini sına.

Mülakata başla