Apa yang harus diketahui oleh setiap pengembang WPF?
Level Masuk
- Kuat .NET 2.0 Latar Belakang & mau belajar!
- Jelaskan sifat ketergantungan?
- Apa itu style?
- Apa itu template?
- Mengikat
- Perbedaan antara kelas dasar: Visual, UIElement, FrameworkElement, Control
- Pohon Visual vs Logikal?
- Pemberitahuan Perubahan Properti (INotifyPropertyChange dan ObservableCollection)
- ResourceDictionary - Ditambahkan oleh a7an
- UserControls - Ditambahkan oleh a7an
- perbedaan antara strategi perutean gelembung dan terowongan - ditambahkan oleh Carlo
- Mengapa Microsoft memperkenalkan bahasa markup lain?
- XAML
Tingkat menengah
- Acara & Perintah yang Dirutekan
- Konverter - Ditambahkan oleh Artur Carvalho
- Jelaskan mesin tata letak 2 arah WPF?
- Bagaimana cara mengimplementasikan panel?
- Interoperabilitas (WPF / WinForms)
- Blend / Cider - Ditambahkan oleh a7an
- Animasi dan Storyboard
- Penerapan ClickOnce
- Skinning / Themeing
- Kontrol Kustom
- Bagaimana utas pekerja dapat memperbarui UI?
- DataTemplate vs HierarchicalDataTemplate
- ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
- Berbagai jenis Pemicu
Senior
- Contoh perilaku terlampir?
- Apa itu PRISM, CAL & CAG?
- Bagaimana utas pekerja dapat memperbarui UI?
- WPF 3D - Ditambahkan oleh a7an
- Perbedaan antara Silverlight 2 dan WPF
- MVVM / MVP - Ditambahkan oleh a7an
- Penyesuaian kinerja WPF
- Pixel Shaders
- Tujuan Freezables
Ada pertanyaan "trik" lain untuk ditanyakan?
Apakah Anda berharap pengembang WPF Anda tahu campuran?
Jawaban:
Saya terkejut belum ada yang menyebutkan pengetahuan dasar tentang XAML. Mengetahui apa itu XAML, dan kemampuan untuk melakukan beberapa pengeditan dasar menggunakan XAML daripada alat desain grafis. Pengembang tingkat menengah harus dapat merobohkan prototipe formulir / grafik menggunakan alat seperti XAMLPad.
sumber
Secara pribadi saya akan duduk di depan mesin pengembang standar dan meminta mereka untuk menyelesaikan beberapa tugas. Tidak ada pertanyaan, lihat saja seperti apa kode mereka setelah beberapa jam (atau lebih jika tugasnya lebih lama).
Saya memiliki tingkat kegagalan nol dalam membuat keputusan perekrutan berdasarkan hasil tes pemrograman kehidupan nyata yang sebenarnya.
Tugas itu tidak harus terlalu sulit. Saya telah menggunakan pesan sederhana dari aplikasi hari ini di masa lalu dengan pesan yang disimpan dalam database atau file XML dan antarmuka pengguna yang sederhana. Pastikan Anda meminta mereka untuk menyusunnya dengan baik (karena tugasnya cukup kecil sehingga semuanya dapat dilakukan dalam satu kelas jika mereka merasa dikerjakan).
Dari pertanyaan-pertanyaan di atas saya katakan Anda tidak bisa mendapatkan ide yang bagus apakah itu benar-benar bagus atau tidak. Kandidat potensial sebenarnya hanya bisa membaca ini dan membuat jawaban kalengan yang terdengar hebat. Semua ini menunjukkan bahwa kandidat dapat berbicara-the-talk, tetapi yang penting dalam pekerjaan itu sendiri adalah jika mereka dapat berjalan-jalan.
sumber
Saya meletakkan binding dan konverter di level awal, karena itu adalah cara Anda menghabiskan banyak waktu di WPF.
sumber
Daftar yang cukup bagus menurut saya.
Namun saya tidak akan mengajukan pertanyaan rumit saat wawancara. Wawancara memberikan stres yang cukup, pertanyaan tipuan dapat membingungkan bahkan orang yang sangat terampil.
sumber
Secara pribadi, saya meletakkan 'Bagaimana caranya utas pekerja memperbarui hak UI' di bawah entry-level. Tingkat menengah, jika Anda benar-benar perlu. Jika seorang programmer tingkat pemula dapat memahami perbedaan antara pohon logis dan pohon visual, mereka harus memahami cara memperbarui UI dari utas latar belakang.
Di organisasi saya, kami melakukan banyak pengembangan WPF tanpa Blend. Saya tidak terlalu menyukai Blend, jadi saya agak bias, tapi skill Blend harusnya bagus, saya pikir.
sumber
Pengembang WPF harus memiliki pemahaman yang kuat untuk memisahkan XAML dari kode-belakang, dan dapat berdiskusi panjang lebar di mana garis itu akan ditarik.
Mampu mengatur model dalam bahasa pilihannya, dan kemudian menggunakan XAML untuk menampilkan tampilan pada model itu melalui pengikatan data, templat data, templat kontrol, gaya, pemicu, konverter nilai, dan UserControls adalah tugas yang cukup mendasar untuk pertengahan -tingkat programmer. (Meskipun sejumlah kecil kelonggaran harus diberikan jika meminta seseorang untuk membuat sesuatu seperti templat kontrol "dari hati.")
Sungguh, ada banyak di WPF, dan jika bukan karena forum MSDN dan buku-buku yang mendalam tentang masalah ini, itu akan menjadi tugas yang cukup untuk "ambil saja." Untuk alasan itu, saya akan menilai ketekunan dan kemampuan untuk belajar dari orang lain sebagai persyaratan utama untuk tingkat apa pun.
Untuk programmer WPF entry-level, saya tidak akan mengharapkan pengetahuan WPF per se, tapi saya akan menuntut pengetahuan tentang prinsip-prinsip berorientasi objek, pemisahan UI dari logika bisnis, dan kenyamanan dengan model acara yang serupa. Pengalaman menata elemen UI dalam gaya yang mirip dengan WPF (dengan wadah DockPanel, dll.) Merupakan nilai tambah.
Sunting: Juga, apa yang dikatakan Colin Mackay.
sumber
Bagaimana dengan pengalaman pemrograman / grafis GUI secara umum dan pengetahuan cs? Jika itu untuk pekerjaan penuh waktu, tidak masalah IMHO jika pria itu harus menghabiskan beberapa bulan pertama beberapa waktu dengan belajar WPF, jika dia (atau dia) memiliki latar belakang yang kuat.
sumber
Level Masuk
Tingkat Menengah
Senior
sumber
sumber
Saya pikir saya lebih suka dev yang akan tahu Blend . Dia dapat berkomunikasi dengan mudah dengan desainer dan juga melakukan beberapa hal dasar desainer lebih cepat daripada hanya menulis di xaml.
Daftarnya menarik, mungkin tautan ke topik akan membantu.
Bersulang
sumber
Hal lain yang sangat mendasar adalah perbedaan antara strategi routing bubble dan tunnel.
sumber
Level Masuk
Senior
sumber
Menengah atau mungkin Senior: WinForms dan WPF InterOp.
sumber
Mid atau mungkin Senior
sumber
sumber
Saya pikir siklus hidup aplikasi WPF - dari penciptaan hingga runtime harus dimasukkan dalam tingkat pertanyaan Pemula. Tanpa menyadarinya, sulit untuk percaya bahwa itu adalah dev WPF yang asli.
sumber
Saya akan memperluas penyebaran ClickOnce dengan WPF Deployment secara umum, karena ada baiknya mengetahui keterbatasan dan kekhasan masing-masing model (ClickOnce, XBAP, hanya browser). Menempatkannya di tingkat menengah tampaknya adil.
sumber
gaya menyediakan mekanisme bagi Anda untuk menerapkan tema di seluruh aplikasi dan untuk menimpa tema itu dalam contoh spesifik di mana Anda ingin. Gaya didefinisikan seperti sumber daya; pada kenyataannya, mereka didefinisikan dalam bagian yang sama dari file XAML Anda di mana sumber daya didefinisikan.
sumber
Masukkan pemilih templat data: http://www.switchonthecode.com/tutorials/wpf-tutorial-how-to-use-a-datatemplateselector Sangat membantu dengan MVVM untuk menukar templat berdasarkan nilai.
sumber
Mengetahui tentang pengujian unit dan efeknya pada bagaimana Anda menggunakan WPF adalah keterampilan dasar yang akan saya letakkan di Entry Level. Orang-orang dapat mempelajari detailnya, tetapi jika mereka belum memikirkan dasar-dasar desain perangkat lunak maka Anda memiliki masalah.
sumber