Câu hỏi phỏng vấn yêu thích của bạn là gì? [đóng cửa]


21

Câu hỏi nào bạn thấy đặc biệt có giá trị khi phỏng vấn các nhà phát triển phần mềm? Điều gì về câu hỏi đã làm cho nó đặc biệt hữu ích?

Tôi đang tìm kiếm một câu hỏi cụ thể mà bạn muốn hỏi, không chỉ là một cách tiếp cận phỏng vấn như "làm cho họ viết mã".


2
Câu hỏi - như phrased - không mang tính xây dựng, nhưng có một số câu trả lời tốt. Viết lại câu hỏi để phù hợp với câu trả lời hay nhất và tôi sẽ khuyên bạn nên mở lại câu hỏi.
ChrisF

@ChrisF: Tôi đã đọc lại để cố gắng hiểu thêm một chút về "chia sẻ kinh nghiệm" và "hỏi tại sao", điều này cũng sẽ nhấn mạnh hơn vào "mời câu trả lời dài hơn". Hãy cho tôi biết nếu nó cần sửa đổi thêm.
Tim Goodman

cái đó tốt hơn!
ChrisF

Nhìn vào câu hỏi và câu trả lời bây giờ, nó vẫn cảm thấy không mang tính xây dựng. Nó không giống như bất kỳ câu trả lời nào có chứa "tại sao" và chỉ liệt kê các câu hỏi.
Adam Lear

Câu trả lời:



22

Đây là một chút cụ thể cho kịch bản của tôi, nhưng tôi nghĩ rằng đó là một câu hỏi tuyệt vời, dù sao:

Vì vậy, bạn nói ở đây rằng bạn chưa bao giờ chạm vào C # hoặc .NET, phải không? Ok, đây là một máy trạm. Tìm hiểu cách viết chương trình truy vấn DB này tại đây và in danh sách Khách hàng theo đơn đặt hàng của họ, được sắp xếp theo tên khách hàng. Bạn có thể sử dụng bất cứ tài nguyên nào bạn muốn.

Câu hỏi duy nhất tôi từng có thực sự đã kiểm tra khả năng học hỏi của tôi.


đó có phải là trước khi StackOverflow tồn tại?
eds

1
Er, đây không phải là một câu hỏi bạn muốn hỏi sao?
Paddyslacker

8
+1, đây là một câu hỏi hoàn hảo để hỏi. Nếu họ không thể tìm ra các cấu trúc ngôn ngữ cơ bản với Google, sẽ không có gì cứu họ.
Josh K

Tôi thích điều đó, nó cho thấy họ có thể tiếp thu một ngôn ngữ lập trình mà họ chưa bao giờ sử dụng tốt đến mức nào. Tôi có thể đánh cắp điều đó cho các câu hỏi phỏng vấn của mình :)
Richard

1
Có vẻ vô nghĩa, bất cứ ai cũng có thể sao chép-dán mã .net crappy trực tiếp từ msdn.
dotjoe

15

Đây không phải là một câu hỏi mã hóa, mà là một câu hỏi hành vi:

Hãy kể cho tôi nghe về một thời gian khi bạn không thể hoàn thành tất cả công việc đúng hạn để đáp ứng thời hạn. Bạn đã làm gì? Thế kết quả là gì?


3
Tại sao đây là một câu hỏi hay? Có vẻ vô nghĩa với tôi
Joe Phillips

9
Vấn đề là từ các nhà phát triển trả lời tôi nhận được rất nhiều thông tin. Đầu tiên, nếu họ không thừa nhận tình huống này đã từng xảy ra với họ, thì họ đã tự lừa mình hoặc họ không có kinh nghiệm trong các dự án thực tế. Thứ hai, nếu họ không nói về cách họ truyền đạt vấn đề này đến nhóm, nhưng thay vào đó chỉ nói về việc họ sẽ nỗ lực như thế nào để khắc phục nó, tôi không muốn thuê họ. Giao tiếp kém chịu trách nhiệm cho hầu hết các vấn đề tôi thấy trong các dự án. Tôi muốn thuê những người giao tiếp chủ động.
Paddyslacker

3
Tôi hỏi một câu hỏi tương tự, tổng quát hơn ("kể cho tôi nghe về một thời điểm xảy ra sự cố và những gì bạn đã làm để trả lời ...") Rất cởi mở, nhưng tôi đã có một người được phỏng vấn thề rằng không có gì từng xảy ra đã sai cho anh ta. Không cần phải nói tôi đã không giới thiệu anh ta cho thuê.
Alex Feinman

13

Làm thế nào bạn nhận được vào lập trình?

Cách tốt đẹp để xem nếu người đó có một niềm đam mê lập trình và phá vỡ băng.


11

Khi phỏng vấn ai đó tuyên bố có một lượng kinh nghiệm Java không hề nhỏ, tôi hỏi họ về hashcode()equals()mối quan hệ giữa họ. Thật sự không thể có được trải nghiệm Java quan trọng mà không nhận thức được những cạm bẫy tiềm ẩn và bất kỳ ai không biết gì về vấn đề này sẽ thêm các lỗi khó tìm vào dự án của tôi.

Tôi cũng sẽ hỏi về ArrayListLinkedListvà những ưu và khuyết điểm tương đối. Điều này hy vọng sẽ chứng minh rằng họ ít nhất nhận thức được và suy nghĩ về ý nghĩa hiệu suất của mã họ viết.

Tôi cũng muốn khiến họ bày tỏ ý kiến ​​về một số chủ đề kỹ thuật (tính hữu dụng hay nói cách khác của Maven, được kiểm tra so với các trường hợp ngoại lệ không được kiểm tra, v.v.), và sau đó chơi trò bênh vực của quỷ để xem họ có thể tranh luận quan điểm của họ tốt đến mức nào.


+1 Tôi thích ArrayList và LinkedList. Tôi đã thấy rất nhiều ý kiến ​​về SO về việc mọi người nói rằng nên xóa bỏ ArrayLists nhưng tôi có thể nghĩ ra nhiều cách sử dụng tốt hơn so với LinkedLists
Evan Plaice

LOL! Có lần hai người phỏng vấn hỏi tôi về sự khác biệt giữa danh sách và bản đồ. Tôi đã cho họ một cái nhìn ngạc nhiên như vậy, họ thực sự xin lỗi (và sau đó tôi đã trả lời câu hỏi của họ và chúng tôi tiếp tục với cuộc phỏng vấn, tất nhiên).
Hila

6

"Cuốn sách kỹ thuật cuối cùng (tốt nhất) bạn đã đọc là gì?"

hoặc, nói chung hơn:

"Làm thế nào để bạn giữ kiến ​​thức của bạn cập nhật?"

Thật đáng ngạc nhiên khi nhiều người không bao giờ đọc một cuốn sách kỹ thuật kể từ khi họ học xong. Và nếu bạn chưa bao giờ đọc một cuốn sách kể từ khi bạn học xong và học xong mười năm trước, có lẽ bạn chưa bao giờ nghe về những thứ như bài kiểm tra đơn vị, mẫu thiết kế, nguyên tắc RẮN ...

Trả lời bình luận :

Bạn có thể downvote tôi nếu bạn thích, nhưng đây là một trong những câu hỏi phỏng vấn yêu thích của tôi. Blog, wikipedia, SO đều là những nguồn tuyệt vời cho các tin tức công nghệ cao mới nhất. Nhưng tôi không nghĩ bạn có thể học những môn học thực sự phức tạp (như những thứ bạn tìm thấy trong sách của Knuth) bằng cách đọc blog.

Nếu tôi phải lựa chọn giữa hai nhà phát triển, trong đó một người cho thấy sự sẵn sàng học các môn phức tạp mới và người kia không, tôi sẽ thuê người đầu tiên. Ngay cả khi anh ấy hoặc cô ấy muốn nhiều tiền hơn. Nó sẽ trả hết trong thời gian dài.


-1. Tôi hiếm khi mở sách kỹ thuật, nhưng biết TTD là gì và biết một số mẫu thiết kế. Tôi đã học được nhiều hơn từ SO (ví dụ mô hình nhà máy là gì) và từ blog của Jon Skeet và các chuyên gia khác hơn là tôi sẽ học được từ một cuốn sách tầm thường. Không có cuốn sách nào tôi từng thấy giải thích ví dụ tại sao kiểm tra FxCop và StyleCop rất quan trọng để viết mã nguồn gốc có thể được sử dụng lại (thậm chí không đề cập đến các công cụ đó).
Arseni Mourzenko

3
+1 Bạn có thể học được rất nhiều với các bài báo và blog trực tuyến nhưng ngay cả như vậy, không đọc sách kỹ thuật cũng có nghĩa là tôi thiếu chủ động và tầm thường.
Dunk

5

Đảo ngược danh sách liên kết này. Bây giờ làm điều đó trong thời gian tuyến tính. Bây giờ làm điều đó trong thời gian tuyến tính và không gian liên tục.


23
MyList.reverse ()
Joe Phillips

5

Bạn có cho rằng mình là một người may mắn?

Tôi đã đọc điều này trong một cuộc phỏng vấn của một trong những thành viên sáng lập của Bruel & Kjaer và nó đã hợp âm với tôi. Những người thành công rất có khả năng coi mình là người may mắn. Họ coi thất bại là cơ hội để cải thiện và có xu hướng chia sẻ thành công (may mắn) của họ với mọi người xung quanh - Những người may mắn mang lại nhiều may mắn hơn. *

Những người tự coi mình là người không may mắn có nhiều khả năng là một quả táo xấu trong đội của bạn.

* Trong bối cảnh này, May mắn nên được đọc là cơ hội gặp gỡ chuẩn bị , không phải là cỏ bốn lá.


1
+1 Tôi muốn nâng cấp điều này nhiều lần hơn nữa.
ocodo

Napoleon từng nói "Hãy cho tôi những vị tướng may mắn!"
Zachary K

4

Người luôn làm việc cho tôi ...

"Hãy cho tôi biết về các dự án trước đây của bạn" .

Và sau đó sử dụng câu trả lời của họ như một điểm nhảy để hỏi họ về vai trò của họ trong các dự án và lý do tại sao họ đưa ra quyết định nhất định. Thay vì thực hiện cuộc phỏng vấn vào SAT, tôi chỉ nói chuyện với họ. Đó luôn là quá đủ để đánh giá liệu nhà phát triển có phù hợp với một vị trí hay không.

Tôi chỉ một lần được thuê cho một công việc mà tôi đã biết ngôn ngữ đang được sử dụng, vì vậy các câu hỏi cụ thể về ngôn ngữ không có nhiều giá trị đối với tôi. Cá nhân tôi cũng không quan tâm nhiều đến những câu đố cú pháp ( làm thế nào bạn có thể phân loại kẹo bông trong khi bị nhốt trong một đàn Zebras đói? ) Và những câu hỏi gotcha, vì vậy tôi không bao giờ hỏi loại câu hỏi đó.


+1. Tôi cũng hỏi vậy Nhưng đôi khi rất khó để tìm ra chức năng của ứng viên trong dự án là gì (Quản lý dự án? Nhà phát triển chính? Nhà phát triển bảo trì? Nhà điều hành máy pha cà phê?) Đặc biệt là khi họ làm việc trong dự án lớn với nhiều người.
nikie

2
Nếu bạn có thể có bất kỳ công việc nào trên thế giới, nó sẽ là gì?

Tôi chỉ thực sự tìm kiếm một điều: một nỗ lực nghiêm túc để trả lời nó. Câu trả lời sai duy nhất đó là cười và nói với người phỏng vấn đó là câu hỏi phỏng vấn sáo rỗng nhất trên thế giới. (Tôi đã bỏ phiếu không thuê).

Nó thực sự là một thiết lập cho câu hỏi yêu thích mọi thời đại của tôi :

Nếu bạn muốn trở thành [một ngôi sao nhạc rock], tại sao bạn lại đăng ký trở thành [Kỹ sư phát triển Internet III] tại [HugeCorp]?

Nó hoạt động tốt nhất nếu họ thực sự đưa ra một số câu trả lời táo bạo. Họ hiếm khi thấy nó đến và đây thực sự chỉ là cơ hội để ai đó tỏa sáng bằng cách nói điều gì đó như "giờ ở đây tốt hơn" hoặc "sự nghiệp của tôi ở đây sẽ kéo dài hơn ngôi sao nhạc rock điển hình".

Tôi cũng nói dối về việc không có câu trả lời sai cho câu hỏi đầu tiên. Trừ khi bạn đang phỏng vấn cho một công việc mơ ước hoàn toàn tuyệt vời thì công việc họ đang phỏng vấn là câu trả lời sai. Và nếu bạn đang phỏng vấn cho công việc mơ ước và chưa có nó, bạn nên tự hỏi tại sao bạn không áp dụng nó.


"Và nếu bạn đang phỏng vấn cho công việc mơ ước và chưa có nó, bạn nên tự hỏi tại sao bạn không áp dụng nó." - Âm thanh giống như một câu hỏi "nguyền rủa nếu bạn làm, nguyền rủa nếu bạn không" - đặc biệt nếu bạn đối xử với câu trả lời theo cách bạn mô tả. Nếu ai đó có một công việc mơ ước, có lẽ họ không cảm thấy như họ đã sẵn sàng để tiếp tục công việc đó và cần thêm kinh nghiệm với những gì họ có thể học được ở công ty bạn. Tại sao giữ điều đó chống lại họ?
Mark Freedman

4
-1 Tôi đã từ chối lời mời làm việc từ các công ty nơi mọi người đã hỏi những câu hỏi hoàn toàn không liên quan như thế này. # 1 Không liên quan gì đến công việc hay cách bạn thực hiện # 2 Thay vì phỏng vấn người phỏng vấn thực sự cố gắng thể hiện họ thông minh hơn người được phỏng vấn bằng cách lừa họ và tin tôi rằng sự kiêu ngạo của họ xuất hiện khá mạnh mẽ # 3 Tôi không nghĩ rằng tôi muốn làm việc với pr @ # k $ mà hỏi những loại câu hỏi đó khi phỏng vấn xin việc nếu tôi không thích chúng trong cuộc phỏng vấn. Đặt câu hỏi về bia, là một câu chuyện khác.
Dunk

@Dunk: Bạn nói đúng, những câu hỏi mẹo nói nhiều về người phỏng vấn hơn là người được phỏng vấn. Nhưng hỏi về mục tiêu và mong muốn của một người nói chung có ý nghĩa. Bạn muốn nhân viên của mình hài lòng với công việc của họ (những người không hạnh phúc không làm việc hiệu quả) vì vậy bạn muốn biết liệu bạn có công việc phù hợp với họ không.
nikie

@Dunk kể từ khi khách hàng tôi tiếp xúc hàng ngày hỏi những câu hỏi sáo rỗng và thường lặp lại những sai lầm ngu ngốc tương tự, một câu hỏi sáo rỗng như thế này cũng giúp tự chọn ra loại người không thể giao dịch với khách hàng trong công việc của tôi. Ưu điểm là công việc trả tiền để bù đắp cho việc phải chịu đựng hành vi đó. Vì vậy, trong ý nghĩa đó, nó thực sự là câu hỏi hoàn hảo.
shemnon

@Mark Freedman - Tôi không chống lại họ. Điều này cho họ cơ hội trung thực và trực tiếp về con đường sự nghiệp của họ. Nếu một người được phỏng vấn cảm thấy họ "bị nguyền rủa nếu họ làm và bị nguyền rủa nếu họ không" thì công việc đó không dành cho họ. Nếu bạn không sẵn sàng thò đầu ra với một câu trả lời trung thực, đó là một dấu hiệu chống lại.
shemnon

2

Thực hiện các cuộc phỏng vấn c #, tôi thích hỏi, "Làm thế nào để bạn xử lý lỗi trong một phương thức"? Nếu tôi nhận được câu trả lời xứng đáng cho câu hỏi đó, tôi hỏi "Làm thế nào để / bạn sẽ thiết lập xử lý lỗi trong ứng dụng web?"

Tôi luôn ngạc nhiên khi có nhiều nhà phát triển không có vấn đề gì với câu hỏi đầu tiên và không có manh mối nào về câu hỏi thứ hai. Tôi thậm chí đã phỏng vấn nhiều người không thể mô tả cách xử lý lỗi trong dự án hiện tại của họ.


2

Một cái gì đó như thế này:

nhân một giá trị bằng 7 mà không sử dụng *, /+các hoạt động. :)


4
Có phải codebase của bạn đòi hỏi kiến ​​thức về twiddling hay chỉ là để đánh giá sự quan tâm đến các chi tiết khó chịu?
Peter Taylor

2
Lưu ý, anh ấy đã không nói "hoặc"
Ben L

1
@Ben, tôi nghĩ bạn vừa ném một quả bom logic vào cửa sập -: /
ocodo

2
Có phải vậy (x << 3) - xkhông?
user13278

1
Hoặc thậm chí đơn giản hơn:x -(-x) - (-x) -(-x) - (-x) -(-x) - (-x)
nikie

1

Tương tự như David nhưng hơi khác:

Hãy xem mã sản xuất thực tế lộn xộn từ một phiên bản trước đó mà sau đó chúng tôi đã sửa và cải tiến. Nói cho tôi biết nó làm gì Cho tôi biết vấn đề ở đâu (tính chính xác và phong cách). Hãy cho tôi biết làm thế nào bạn sẽ sửa chữa và cải thiện nó.

Điều này giúp phân biệt những người chỉ có thể viết mã mới và những người có thể đối phó với thực tế của các cơ sở mã di sản.


0

nhiều năm trước tôi đã được hỏi về sự khác biệt giữa regexps / a * / và / a *? /

Cá nhân tôi có xu hướng hỏi một vài câu hỏi về đệ quy.


1
?biểu thị tham lam hay không hoặc một ? Tôi đã thấy cả hai cú pháp.
Paul Nathan

1
Phương ngữ nào?.

Đó là perl5, nó cũng khoảng 11 năm trước. Vì vậy, có nó là tham lam vs không tham lam.
Zachary K

0

Tôi ngạc nhiên về số lượng câu trả lời không thành công cho câu hỏi này:

Làm thế nào bạn sẽ tìm kiếm một mục trong một danh sách chưa sắp xếp?


Đó là một câu hỏi khá sâu sắc: Trận đấu được định nghĩa như thế nào? Bạn có biết gì về thứ tự một phần trong danh sách không? Loại danh sách này là gì? Các mặt hàng có thể sắp xếp? Danh sách này lớn như thế nào? Chi phí tính toán tương đối của việc so sánh so với kiểm tra một trận đấu là gì? Các câu trả lời khác nhau cho những câu hỏi này có thể thay đổi cách tiếp cận tối ưu .....
mikera

Làm thế nào thường xuyên tìm kiếm này sẽ xảy ra? Nó có thể là một nút cổ chai cho hiệu suất?
Jowersalt

WTF, các bạn. Bắt đầu trên mục đầu tiên hoặc cuối cùng, so sánh, nếu không phải là một trận đấu di chuyển đến mục tiếp theo. Câu hỏi duy nhất là: chúng ta quan tâm đến nhiều trận đấu hay chúng ta phá vỡ tìm kiếm trên trận đấu đầu tiên? Nếu bạn muốn cung cấp một số thông tin chi tiết, bạn có thể thêm: Đối với các danh sách được liên kết thì không vấn đề gì, nhưng đối với các danh sách được lập chỉ mục, nếu tôi cũng muốn trích xuất các kết quả trùng khớp, tôi sẽ phải cập nhật danh sách theo thứ tự ngược lại vì vậy tôi không phải cập nhật chỉ số ngoài điều kiện vòng lặp.
NotGaeL

0

Câu hỏi yêu thích của tôi là:

(Có lẽ là sự pha trộn giữa Java / C # và mã giả)

Sử dụng các thùng chứa không kỳ lạ, thiết kế một lớp hoạt động như một từ điển càng hiệu quả càng tốt, nó cũng cho phép bạn liệt kê các khóa không theo thứ tự "ngẫu nhiên" nhưng theo thứ tự các khóa này đã được thêm vào từ điển lần đầu tiên được tạo ra.


Điều này dẫn đến quá nhiều câu hỏi làm rõ. Có công bằng không khi chỉ sử dụng hai bảng băm hoặc bảng băm và danh sách mảng: Một bảng giữ thứ tự và một để giữ thứ tự? Nó có phải là có thể để loại bỏ công cụ? (Điều này làm cho nó phức tạp hơn một chút.) Nếu một giá trị được cập nhật, điều đó có được tính là thêm lại không?
dsimcha

@dsimcha, điểm tốt. Tôi có 20-30 phút để nói chuyện, và tôi bắt đầu với: Xin vui lòng yêu cầu làm rõ bất cứ lúc nào. Nếu bạn cảm thấy như bạn đang bị mắc kẹt, tôi sẽ rất vui khi cung cấp một gợi ý hoặc hướng dẫn bạn đi đúng hướng. Nếu người đó vẫn quay bánh xe, thì tôi sẽ nói họ không hiểu cấu trúc dữ liệu. Theo như làm rõ những gì tôi muốn - tôi thà để kết thúc mở này và đưa nó theo các hướng khác nhau.
Công việc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.