Tôi là một nhà thầu độc lập và như vậy, tôi phỏng vấn 3-4 lần một năm cho hợp đồng biểu diễn mới. Bây giờ tôi đang ở giữa chu kỳ đó và bị từ chối vì một cơ hội mặc dù tôi cảm thấy cuộc phỏng vấn diễn ra tốt đẹp. Điều tương tự đã xảy ra với tôi một vài lần trong năm nay.
Bây giờ, tôi không phải là một chàng trai hoàn hảo và tôi không mong đợi sẽ phù hợp với mọi tổ chức. Điều đó nói rằng, mức trung bình của tôi thấp hơn bình thường nên tôi lịch sự hỏi người phỏng vấn cuối cùng của tôi cho một số phản hồi mang tính xây dựng, và anh ấy đã giao hàng!
Điều chính, theo người phỏng vấn, là tôi dường như nghiêng quá nhiều về việc sử dụng các khái niệm trừu tượng (như LINQ) thay vì hướng tới các thuật toán phát triển hữu cơ ở cấp độ thấp hơn.
Nhìn bề ngoài, điều này có ý nghĩa - trên thực tế, nó cũng khiến cho những lời từ chối khác trở nên có ý nghĩa vì tôi cũng nói về LINQ trong các cuộc phỏng vấn đó và dường như những người phỏng vấn không biết nhiều về LINQ (mặc dù họ là .NET các chàng trai).
Vì vậy, bây giờ tôi chỉ còn lại câu hỏi này: Nếu chúng ta được cho là "đứng trên vai những người khổng lồ" và sử dụng những thứ trừu tượng có sẵn cho chúng ta (như LINQ), thì tại sao một số người lại coi đó là điều cấm kỵ? Chẳng có nghĩa gì khi rút mã "ra khỏi kệ" nếu nó hoàn thành các mục tiêu tương tự mà không phải trả thêm chi phí?
Đối với tôi, dường như LINQ, ngay cả khi nó là một sự trừu tượng hóa, chỉ đơn giản là một sự trừu tượng hóa của tất cả các thuật toán tương tự mà người ta sẽ viết để thực hiện chính xác cùng một kết thúc. Chỉ có một bài kiểm tra hiệu suất có thể cho bạn biết cách tiếp cận tùy chỉnh của bạn tốt hơn, nhưng nếu một cái gì đó như LINQ đáp ứng các yêu cầu, tại sao lại phải viết các lớp của riêng bạn ngay từ đầu?
Tôi không có ý tập trung vào LINQ ở đây. Tôi chắc chắn rằng thế giới JAVA có một cái gì đó tương đương, tôi chỉ muốn biết tại sao một số người trở nên khó chịu với ý tưởng sử dụng một sự trừu tượng mà chính họ không viết.
CẬP NHẬT
Như Euphoric đã chỉ ra, không có gì có thể so sánh với LINQ trong thế giới Java. Vì vậy, nếu bạn đang phát triển trên ngăn xếp .NET, tại sao không luôn thử và sử dụng nó? Có phải mọi người chỉ không hiểu đầy đủ những gì nó làm?
objectCollection.Where(oc=>oc.price > 100)
chẳng hạn. Điều đó sẽ không được sử dụng một sự trừu tượng? Có lẽ bạn có thể cho tôi biết những gì tôi đang thiếu ở đây. . .