Các lập trình viên Scala đang được phỏng vấn như thế nào? Các khía cạnh mà người phỏng vấn tìm kiếm khi phỏng vấn một nhà phát triển Scala là gì?
Các lập trình viên Scala đang được phỏng vấn như thế nào? Các khía cạnh mà người phỏng vấn tìm kiếm khi phỏng vấn một nhà phát triển Scala là gì?
Câu trả lời:
Đầu tiên, tôi sẽ nói, hãy nghĩ tại sao bạn cần một nhà phát triển Scala. Có thực sự Scala mà bạn cần? Hãy suy nghĩ về những gì đi kèm với Scala (IDE, công cụ xây dựng, libs, một lớp phức tạp khác trên Java, v.v.). Quay lại câu hỏi. Nó đi theo hai khía cạnh: sự hiểu biết lý thuyết và khả năng thực tế. đừng để điều "lý thuyết" đánh lừa bạn. Nó quan trọng trong Scala vì tính thực tiễn là quan trọng trong Java.
Xem liệu họ có thể cấu trúc lại một đoạn mã bắt buộc thành một sự thay thế chức năng tốt hay không (xem ở trên). Hãy thử một vòng lặp thực hiện một số toán học hoặc một cái gì đó dọc theo các dòng này.
Tìm hương vị của họ cho chức năng vs phong cách bắt buộc. Chọn một phong cách chức năng hơn nhưng hãy cẩn thận, nó không đi đến cực đoan về phía nhà phát triển.
Xem họ biết bao nhiêu về libala Scala (ví dụ: Nâng, gửi, v.v.) và các công cụ (ví dụ SBT, fsc, IDEA).
Xem họ có thể tận dụng Java tốt như thế nào (công cụ mã và công cụ). Scala được liên kết chặt chẽ với Java đặc biệt trong các môi trường nghiêm trọng hơn. Biết đây là một điểm cộng lớn.
Xem nếu họ được kết nối với cộng đồng. Hỏi họ về Martin Oderky và David Pollak. Yêu cầu họ đặt tên cho một vài dự án Scala và mô tả chúng cho bạn (Facebook, Twitter, FourSapes, DBPedia và DBPedia SpotLight). Xem họ có biết chính xác Scala được sử dụng như thế nào trong các dự án này không. Họ đã đọc các bài báo, xem các video, vv?
Hỏi họ về những cuốn sách (chỉ có một vài). Họ càng biết nhiều thì càng tốt.
Như một lời cảnh báo cuối cùng tôi có thể nói rằng các ngôn ngữ xuất sắc có tiềm năng kỳ lạ này để thu hút những người sai. Hãy cẩn thận về loại đến với Scala vì tất cả các lý do sai. Dưới đây là một vài
Tái bút: Nếu bạn tìm thấy một Joe tốt thì xin hãy bằng mọi cách cho tôi biết khi chúng tôi cần một số;)
Trong một cuộc phỏng vấn trong thế giới thực, chỉ cần biết Scala là một nửa trận chiến thắng. Thuê một lập trình viên giỏi luôn khó khăn, bất kể ngôn ngữ!
Các lập trình viên Scala có xu hướng tìm đến ngôn ngữ này vì họ đã ở trên đỉnh của trò chơi của họ ở Java và muốn để đưa nó lên cấp độ tiếp theo.
Nếu bạn có sẵn nguồn cung cấp dồi dào cho các nhà phát triển Scala để phỏng vấn, thì hãy coi mình là người may mắn. Nếu không, những câu hỏi phù hợp hơn có thể là về những khía cạnh nào tôi nên tìm kiếm ở một lập trình viên mà tôi sẽ được đào tạo để sử dụng Scala? Trực tiếp và các công ty nào hiện có thể cung cấp dịch vụ đào tạo?
Tôi muốn thấy các giải pháp cho những vấn đề nhỏ như thế này: Tạo một biểu đồ về kết quả của việc ném hai con xúc xắc sáu mặt 200 lần.
Xem các bình luận ở đây để biết một số câu trả lời thú vị: http://briccetti.blogspot.com/2011/01/dice-throw-simulation-in-java-and-scala.html
Một người có giải pháp như Daniel Sobral, hoặc giải pháp này của Kevin Wright: http://ideone.com/8LFs3 sẽ đáng để xem xét kỹ hơn.
Nếu câu trả lời trông giống như mã Java, thì người nộp đơn có thể không đủ xa.
Tôi cũng muốn thấy rằng người đó được kết nối với cộng đồng Scala: Biết các cuốn sách, tác giả, nhà phát triển nguồn mở, nhóm người dùng, những người thú vị.
Tôi chưa bao giờ thực hiện bất kỳ tuyển dụng Scala nào, nhưng tôi muốn tìm hiểu về cách thức hoạt động của hàm, kiểu mẫu lớp và cơ bản của lập trình chức năng.