
Async/await & Pola
async/await, Task, ValueTask, ConfigureAwait, cancellation token, eksekusi paralel, deadlock
1Apa peran utama kata kunci 'await' dalam metode asinkron?
Apa peran utama kata kunci 'await' dalam metode asinkron?
Jawaban
Kata kunci await menangguhkan eksekusi metode asinkron hingga Task selesai, sekaligus membebaskan thread pemanggil agar dapat memproses tugas lain. Hal ini menghindari pemblokiran thread dan meningkatkan skalabilitas aplikasi. Tidak seperti Task.Wait() atau Task.Result yang memblokir thread, await memungkinkan penggunaan sumber daya thread pool secara efisien.
2Mengapa async void harus dihindari kecuali untuk event handler?
Mengapa async void harus dihindari kecuali untuk event handler?
Jawaban
Metode async void tidak dapat di-await dan exception yang dilempar di dalamnya tidak dapat ditangkap oleh kode pemanggil, menyebabkan aplikasi crash. Selain itu, melakukan unit testing pada metode async void tidak mungkin karena tidak ada Task untuk di-await. Event handler adalah pengecualian karena dipanggil oleh framework dan tidak dapat mengembalikan Task.
3Dalam kasus penggunaan apa ValueTask<T> harus lebih dipilih daripada Task<T>?
Dalam kasus penggunaan apa ValueTask<T> harus lebih dipilih daripada Task<T>?
Jawaban
ValueTask adalah value type yang menghindari alokasi heap ketika hasilnya sudah tersedia secara sinkron, seperti pada cache. Hal ini mengurangi tekanan pada garbage collector dalam skenario performa tinggi. Task selalu dialokasikan di heap meskipun hasilnya sinkron. Gunakan ValueTask hanya ketika peningkatan performa dapat diukur, karena penggunaan yang tidak tepat dapat menurunkan performa.
Batasan penting apa yang berlaku untuk ValueTask<T> dibandingkan dengan Task<T>?
Apa tujuan utama ConfigureAwait(false) dalam library .NET?
+23 pertanyaan wawancara
Topik wawancara .NET lainnya
Dasar-Dasar C#
LINQ & Delegates
Esensi Bahasa C#
Dasar-Dasar ASP.NET Core
Siklus Hidup Request ASP.NET Core
Configuration & Settings
Siklus Hidup Aplikasi
Dependency Injection
Entity Framework Core
Minimal APIs
Pengembangan Web API
Async di ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialisasi JSON
Entity Framework Core Tingkat Lanjut
Fitur Lanjutan C#
Clean Architecture
Logging, Monitoring & Observability
Unit Testing & xUnit
Pengujian Integrasi
Docker & Containerization
Manajemen Paket NuGet
Memory Management & GC
Pemrograman reaktif
.NET Design Patterns
Optimasi Performa
Keamanan & Best Practices
SignalR & Real-time
Arsitektur Microservices
Kuasai .NET untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis