it-swarm-id.com

C # Multithreading pertanyaan Wawancara untuk posisi pengembang / desainer senior

Saya ingin tahu pertanyaan wawancara macam apa yang diajukan kepada pengembang senior atau konsultan teknis tentang multithreading.

Mohon berikan saya beberapa pertanyaan wawancara yang ditanyakan dalam wawancara tentang multithreading jika memungkinkan silakan mengajukan pertanyaan berbasis skenario dengan beberapa pertanyaan teoritis. Seperti yang saya ketahui setelah diskus dengan beberapa orang bahwa pewawancara waktu mungkin memberi Anda skenario dan meminta Anda untuk mengimplementasikannya?

@ Mohon tambahkan pertanyaan spesifik yang pernah Anda hadapi atau tanyakan kepada orang lain dalam wawancara selain hanya menyebutkan konsep karena orang-orang pergi melalui konsep dan masih merasa kesulitan untuk menangani pertanyaan wawancara. Jadi ada upaya untuk menambahkan spesifik pertanyaan sebenarnya dapat membantu seseorang untuk memulai hari-hari

7
Mohit Bhandari

Saya mungkin meminta kandidat untuk menggambarkan setidaknya 2 atau 3 cara berbeda untuk membuat aplikasi multi-berulir di C #.

  • Penggunaan kelas Thread secara eksplisit

  • Threadpool

  • Perpustakaan Tugas Paralel

  • Kelas aksi dengan fungsi lambda

  • MulaiInvoke

  • BackgroundWorker

Saya juga akan menanyakan bagaimana seseorang bisa berakhir dengan aplikasi yang multi-threaded tanpa pernah secara eksplisit membuat utas.

  • Penangan acara dapat berjalan di utas lain (SerialPort.DataReceived datang ke pikiran, seperti halnya satu atau dua dari tiga Timers di .Net).

Anda mungkin juga ingin berbicara tentang metode untuk membuat kode masuk kembali.

  • mengunci

  • Monitor. Tunggu dan Monitor

  • ManualResetEvent

  • kelas/metode statis

Beberapa informasi lebih lanjut dapat berasal dari pos yang saya tulis di sini .

Akhirnya, saya mungkin bertanya pengalaman di mana pelajaran ini telah dipelajari, bukan hanya dump otak dari buku. Pengembang senior akan memiliki banyak pengalaman yang harus memberikan wawasan tentang penemuan dan kemampuan pemecahan masalah mereka.

6
Nate

Salah satu pertanyaan favorit saya:

  1. Bagaimana Anda bisa membuat UI responsif tanpa menggunakan utas. Jawaban yang diharapkan: Dengan memecah pekerjaan menjadi potongan-potongan kecil dan mengantriya pada loop pesan UI. (Eric Lippert memiliki penjelasan yang baik tentang bagaimana melakukan itu http://blogs.msdn.com/b/ericlippert/archive/2010/10/25/continuation-passing-style-revisited-part-three-) renungan-tentang-coroutines.aspx )

Pertanyaan menarik yang saat ini tidak tercantum dalam jawaban lain:

  1. Jelaskan pencurian pekerjaan di TPL. Bagaimana cara kerjanya dan mengapa? Jawaban yang diharapkan: Jelaskan bagaimana inti yang memiliki antrian mengekstrak item di satu sisi sedangkan inti yang tidak memiliki antrian "mencuri" dari sisi lain untuk menjaga garis cache CPU.
2
Stilgar

Selain semua jawaban lain, saya juga akan memberikan beberapa contoh pertanyaan kepada kandidat dan membuatnya menunjukkan di mana masalah bisa muncul.

Beberapa contoh akan mencakup kondisi balapan, interlock atau membuatnya menghadapi masalah konversi dari satu threaded ke multithreaded. Saya secara khusus ingin mengikuti yang terakhir dengan ulasan desainnya, dengan membiarkan dia menjelaskan mengapa, bagaimana dan berapa banyak peningkatan kinerja yang akan dia tingkatkan.

2
Jorge Córdoba

Saya selalu menyukai matriks ini: http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm

Itu tidak memberi Anda kotak pertanyaan yang siap tetapi itu memberikan set bidang yang cukup lengkap dari mana Anda bisa (harus) memilih pertanyaan untuk memberi peringkat pelamar.

GJ

1
gjvdkamp

Metode yang baik yang saya temukan adalah membuat beberapa kelas tiruan yang akan membutuhkan berbagai bentuk multithreading, seperti menggunakan Invoke, WaitHandles, Semiphores dll, kemudian mencetak klasenya dan mendiskusikan opsi dengan kandidat. Ini memberikan umpan balik lebih banyak kepada orang yang diwawancarai tentang bagaimana kandidat berpikir dan memberikan kandidat untuk menawarkan referensi ke proyek sebelumnya dll.

0
Lloyd