Saya seorang kontraktor independen dan, dengan demikian, saya mewawancarai 3-4 kali setahun untuk pertunjukan baru. Saya berada di tengah-tengah siklus itu sekarang dan ditolak untuk kesempatan meskipun saya merasa seperti wawancara berjalan dengan baik. Hal yang sama terjadi pada saya beberapa kali tahun ini.
Sekarang, saya bukan orang yang sempurna dan saya tidak berharap menjadi orang yang cocok untuk setiap organisasi. Yang mengatakan, rata-rata pukulan saya lebih rendah dari biasanya jadi saya dengan sopan meminta pewawancara terakhir saya untuk umpan balik yang membangun, dan dia menyampaikan!
Hal utama, menurut pewawancara, adalah bahwa saya tampaknya terlalu condong ke arah penggunaan abstraksi (seperti LINQ) daripada ke arah yang lebih rendah, algoritma yang dikembangkan secara organik.
Pada permukaan, ini masuk akal - pada kenyataannya, itu membuat penolakan lain juga masuk akal karena saya mengoceh tentang LINQ dalam wawancara itu juga dan sepertinya pewawancara tidak tahu banyak tentang LINQ (meskipun mereka. NET teman-teman).
Jadi sekarang saya dibiarkan dengan pertanyaan ini: Jika kita seharusnya "berdiri di atas bahu raksasa" dan menggunakan abstraksi yang tersedia untuk kita (seperti LINQ), lalu mengapa beberapa orang menganggapnya sangat tabu? Tidakkah masuk akal untuk menarik kode "dari rak" jika mencapai tujuan yang sama tanpa biaya tambahan?
Tampaknya bagi saya bahwa LINQ, bahkan jika itu adalah abstraksi, hanyalah abstraksi dari semua algoritma yang sama yang akan ditulis untuk mencapai akhir yang sama persis. Hanya tes kinerja yang bisa memberi tahu Anda jika pendekatan khusus Anda lebih baik, tetapi jika sesuatu seperti LINQ memenuhi persyaratan, mengapa repot-repot menulis kelas Anda sendiri?
Saya tidak bermaksud fokus pada LINQ di sini. Saya yakin bahwa dunia JAWA memiliki sesuatu yang sebanding, saya hanya ingin tahu mengapa beberapa orang menjadi sangat tidak nyaman dengan gagasan menggunakan abstraksi yang mereka sendiri tidak tulis.
MEMPERBARUI
Seperti yang Euphoric tunjukkan, tidak ada yang sebanding dengan LINQ di dunia Java. Jadi, jika Anda mengembangkan pada .NET stack, mengapa tidak selalu mencoba dan memanfaatkannya? Mungkinkah orang tidak sepenuhnya memahami apa fungsinya?
objectCollection.Where(oc=>oc.price > 100)
misalnya. Apakah itu bukan penggunaan abstraksi? Mungkin Anda bisa memberi tahu saya apa yang saya lewatkan di sini. . .