Câu hỏi phỏng vấn nhà phát triển phần mềm - Công bằng hoặc không công bằng [đóng]


10

Tôi chỉ điện thoại phỏng vấn với một công ty cho vị trí nhà phát triển phần mềm tốt nghiệp và được hỏi những câu hỏi sau đây. Tôi nên thêm rằng công ty liên quan không phải là một nhà cung cấp cơ sở dữ liệu.

  1. Làm thế nào để một trình tối ưu hóa truy vấn hoạt động?

  2. Nếu một cơ sở dữ liệu hoạt động kém, bạn sẽ sử dụng nhật ký hiệu suất như thế nào để tìm ra vấn đề.

Tôi đã hỏi liệu họ có hỏi những câu hỏi như vậy của tất cả các nhà phát triển phần mềm ứng viên (tốt nghiệp hoặc có kinh nghiệm) trong một cuộc phỏng vấn qua điện thoại đầu tiên. Họ trả lời rằng họ muốn kiểm tra kiến ​​thức của ứng viên về phát triển cơ sở dữ liệu.

Tôi muốn viết thư cho công ty để nói rằng những câu hỏi này là không hợp lý để hỏi tại một cuộc phỏng vấn nhà phát triển phần mềm và để yêu cầu cuộc phỏng vấn của tôi được thực hiện xong.

Tôi muốn kiểm tra tính hợp lý của các giả định sau

a) Những câu hỏi đó không thể được phân loại thành câu hỏi phát triển cơ sở dữ liệu.
b) Tôi nghĩ rằng các câu hỏi phù hợp cho một cuộc phỏng vấn DBA nhưng hoàn toàn không hợp lý cho một cuộc phỏng vấn nhà phát triển phần mềm (có kinh nghiệm hay không).
c) Câu hỏi đầu tiên chỉ liên quan đến một nhà cung cấp cơ sở dữ liệu.
d) Câu hỏi thứ hai không công bằng vì các nhà phát triển phần mềm thường không xử lý nhật ký hiệu suất cơ sở dữ liệu vì đó là công việc của DBA.

Có lẽ một số bạn sẽ đủ tử tế để nhận xét về các giả định của tôi hoặc có thể có bất kỳ đề xuất nào khác, trước khi tôi viết thư cho công ty.


23
Tôi thà thuê một nhà phát triển có thể trả lời những câu hỏi đó một cách công bằng, hơn là một câu hỏi không thể. Nhưng tôi sẽ không quyết định chỉ dựa trên điều đó.
Tiến sĩ belisarius

14
Chúng tôi đã có một người được phỏng vấn một lần rất không hài lòng với cuộc phỏng vấn của anh ấy rằng anh ấy đã gửi hóa đơn cho chúng tôi trong một giờ thời gian tư vấn. Chúng tôi đã thông qua anh ấy, nhưng chúng tôi rất vui vì anh ấy đã theo dõi để củng cố quyết định của chúng tôi. :-)

18
xóa khỏi ứng viên_list trong đó username = "user607018";
Martin York

44
@ user607018 Tôi nghĩ một trong những vấn đề của bạn ở đây là giả định của bạn rằng một cuộc phỏng vấn xin việc phải "công bằng", giống như một bài kiểm tra ở trường. Điều đó không đúng; Một cuộc phỏng vấn việc làm chỉ là một kiểm tra để xem nếu họ muốn thuê bạn. Nếu họ không đề cập đến tối ưu hóa / hiệu suất cơ sở dữ liệu trong quảng cáo, thì đó là một câu chuyện khác, họ đã để bạn lãng phí thời gian để xin việc mà bạn không thể làm, nhưng nếu không thì sự công bằng hoàn toàn không xảy ra. . Đó là một quan niệm sai lầm phổ biến khi đi từ thế giới nhân tạo của trường học sang thế giới thực của việc thực sự hoàn thành công việc.
MGOwen

16
Nếu bạn phải viết các truy vấn SQL, bạn phải biết câu trả lời cho câu hỏi đó. Nếu không, bạn sẽ kết thúc việc viết các truy vấn tào lao, và người khác sẽ phải dọn sạch chúng sau bạn. Vì vậy, câu hỏi là công bằng và hợp lý.
SK-logic

Câu trả lời:


86

Nếu tôi là một người phỏng vấn (đôi khi là tôi) và nhận được một lá thư từ một ứng viên phàn nàn rằng các câu hỏi không công bằng và họ muốn làm lại, tôi cảm ơn những ngôi sao may mắn của mình rằng chúng tôi đã tránh được viên đạn đó và ngay lập tức chuyển đơn đến đống "từ chối". Hành động như thế này chỉ cho thấy bạn là người phàn nàn và không có thái độ "có thể làm" mà người ta tìm kiếm.

a. các câu hỏi hợp lý để hỏi về chủ đề phát triển cơ sở dữ liệu.
b. sai. Bất cứ điều gì để làm với phát triển phần mềm là trò chơi công bằng được yêu cầu. Hãy nhớ rằng nhận được một câu trả lời sai không tự động loại bạn ra khỏi vị trí (hoặc các vị trí khác trong công ty); nó chỉ có thể giúp phân loại bạn là một người không phù hợp nhất với công việc định hướng cơ sở dữ liệu.
c. sai.
d. sai. Trước hết, có thể không có DBA chuyên dụng; thứ hai, một nhà phát triển phần mềm phải nhận thức được một loạt các vấn đề có thể ảnh hưởng đến hiệu suất (và độ chính xác) và có ít nhất một sự hiểu biết cao về quản lý cơ sở dữ liệu.

Hãy coi đây là một bài học mà có những điều bạn chưa biết. Bây giờ bạn biết những gì để học cho lần tiếp theo.


31
+1 cho "bây giờ bạn biết phải học gì." Điều cuối cùng mà một nhà tuyển dụng muốn là một nhân viên có bài phát biểu "không phải việc của tôi".
Dave

7
+1 - sẽ tăng +100 nếu chỉ tôi có thể ... cách quá nhiều "nhà phát triển" ngày nay biết ngồi xổm về cơ sở dữ liệu và cách họ làm việc - nhưng họ sử dụng chúng mọi lúc ...
marc_s

+1 Bạn nên mong đợi MỌI THỨ trong một cuộc phỏng vấn. Đó là trò chơi của họ, cuộc phỏng vấn của họ và công ty của họ

Tôi sẽ cung cấp nhiều hơn nếu tôi cũng có thể, bạn nói những gì tôi muốn nói chỉ một cách khéo léo hơn. Tôi cũng sẽ chỉ ra rằng những câu hỏi mà bạn có thể không mong đợi để biết câu trả lời đôi khi được hỏi để xem bạn trả lời như thế nào dưới áp lực. Nhưng tôi không thấy có gì kỳ lạ về những câu hỏi này nếu phát triển cơ sở dữ liệu là một phần quan trọng của công việc.
HLGEM

5
Ngoài ra, tôi sẽ nói rằng "Trình tối ưu hóa truy vấn hoạt động như thế nào?" không nhất thiết có nghĩa là họ muốn bạn có thể xây dựng trình tối ưu hóa truy vấn từ đầu. Điều này có thể có nghĩa là họ muốn kiểm tra sự hiểu biết của bạn về thời điểm trình tối ưu hóa chạy, khi xử lý các procs được lưu trữ, truy vấn SQL adhoc, v.v ... Đây là kiến ​​thức hoàn toàn phù hợp cho nhà phát triển viết mã truy cập cơ sở dữ liệu.
Carson63000

17

Tôi nghĩ đó là một câu hỏi công bằng (và nó có vẻ giống như một câu hỏi mà Google có thể hỏi). :) Điểm của câu hỏi xuất hiện KHÔNG thực sự kiểm tra kiến ​​thức chi tiết của bạn về các truy vấn cơ sở dữ liệu và như vậy, nhưng nhiều hơn để xem cách bạn sẽ tiếp cận và giải quyết vấn đề. Khả năng thực hiện một nhiệm vụ bạn đã thực hiện trước đây là cần thiết, nhưng khả năng suy nghĩ trên đôi chân của bạn và tiếp cận một vấn đề mới là một kỹ năng quan trọng.

Khi được đưa ra một câu hỏi như vậy, nếu tôi thiếu kiến ​​thức cụ thể về cơ sở dữ liệu đã cho, tôi nghĩ rằng một câu trả lời công bằng sẽ bắt đầu, "Chà, tôi không có nhiều kinh nghiệm với công nghệ đó cụ thể, nhưng trong nói chung tôi sẽ xem qua nhật ký hiệu suất để tìm các hoạt động được thực hiện thường xuyên nhất và cố gắng xếp hạng chúng theo thời gian xử lý. Bằng cách đó tôi có thể đánh giá hoạt động nào đắt nhất và có thể là ứng cử viên tốt để tối ưu hóa. "

Bạn không cần bất kỳ kiến ​​thức kỹ thuật cụ thể nào cho câu trả lời ở trên nhưng nó cho người phỏng vấn biết rằng bạn đã sẵn sàng để giải quyết vấn đề mới.


4
Thay phiên, có thể là công ty thích các nhà phát triển với một số kiến ​​thức về tối ưu hóa truy vấn. Vợ tôi không phải là một DBA, nhưng cô ấy đã thực hiện rất nhiều công việc tối ưu hóa các truy vấn. Các DBA quá bận rộn để tối ưu hóa tất cả các truy vấn có thể sử dụng nó.
David Thornley

16

Nếu công bằng hay không công bằng không phải là câu hỏi, họ thuê để họ đưa ra các quy tắc và được phép hỏi bất cứ điều gì họ muốn (ok không phải tất cả mọi thứ, nhưng hầu hết mọi thứ;))

Và nếu bạn vẫn muốn công việc tôi không nghĩ bạn sẽ giúp mình nếu bạn viết chúng.


Về mặt kỹ thuật, họ có thể hỏi bạn bất cứ điều gì, tùy bạn trả lời hay không (và nếu họ hỏi bạn điều gì đó hoàn toàn ngu ngốc, dù sao bạn cũng không muốn công việc đó).
o0 '.

16

Một chiến lược rất phổ biến trong các cuộc phỏng vấn việc làm là đặt một câu hỏi vượt quá mức của vị trí được phỏng vấn và xem một ứng viên nhầm lẫn như thế nào. Với những câu hỏi được hỏi, bạn có thể mong đợi một cách hợp lý để trả lời một cái gì đó như:

Chà, kiến ​​thức về cơ sở dữ liệu của tôi còn thô sơ nhưng tôi nghĩ nó sẽ giống như thế này ...

Hoặc thậm chí:

Xin lỗi, điều đó nằm ngoài chuyên môn của tôi, tôi cần kiểm tra chi tiết về nhật ký hiệu suất với DBA

Nói chung, tôi mong muốn các ứng cử viên cấp đầu vào có ít nhất một sự hiểu biết cơ bản về cách thức hoạt động của cơ sở dữ liệu và cũng có thái độ "Tôi không biết nhưng tôi sẽ thử và học".

Nếu bạn đã thực hiện một nỗ lực trung thực và họ đã kết thúc cuộc gọi ngay lập tức thì bạn sẽ có lý do thực sự để cảm thấy khó khăn, nhưng vì tôi muốn nói rằng bạn nên học cách tự tin trong khi thừa nhận bạn không biết gì.


12

Tôi biết những người phỏng vấn không xem xét một cuộc phỏng vấn hoàn chỉnh trừ khi họ có thể tìm thấy một số câu hỏi kỹ thuật bán tương đối mà ứng viên không thể trả lời. Mục tiêu là để xem ứng viên giải quyết loại câu hỏi đó như thế nào.

Thừa nhận rằng họ không biết? Tốt Tạo nên spin / BS cho một câu trả lời? Cánh cửa.


9

IMO, vai trò của nhà phát triển phần mềm và DBA không được phân loại tốt ở nhiều công ty. Bạn thường cần phải biết ít nhất một số phần của Cơ sở dữ liệu nếu bạn là nhà phát triển phần mềm. Vì vậy, các câu hỏi có vẻ công bằng với tôi, miễn là chúng không được yêu cầu mới hơn.


8

Tôi nghĩ rằng điều này là công bằng. Tôi không làm việc tại một nhà cung cấp cơ sở dữ liệu nhưng biết cách đọc các kế hoạch truy vấn (và nhật ký hiệu suất, ở mức độ thấp hơn) là RẤT quan trọng. Biết cách tối ưu hóa truy vấn hoạt động cũng là tốt để biết.

Đáp lại những viên đạn của bạn:

a) hả Chắc chắn chúng liên quan đến phát triển cơ sở dữ liệu và nếu bạn đang viết mã và chương trình của bạn cần truy vấn dữ liệu, thì điều đó có liên quan.

b) Không thực sự. Một DBA đã biết rõ hơn các câu trả lời nhưng một nhà phát triển giỏi cũng nên biết câu trả lời. Tôi sẽ không mong đợi một câu trả lời rất chi tiết như từ một DBA nhưng tôi mong đợi một điều gì đó. Và nếu một nhà phát triển không biết, tôi chỉ có thể chấp nhận như một người thông báo "Tôi sẽ yêu cầu DBA dạy tôi" nếu nhà phát triển vẫn còn tương đối mới đối với công việc cơ sở dữ liệu.

c) Không, không phải vậy. Nó có liên quan đến bất cứ ai quan tâm đến việc thực hiện các truy vấn cơ sở dữ liệu của họ. Nếu bạn không quan tâm đến việc các truy vấn của bạn chạy nhanh như thế nào, thì bạn có thể bỏ qua điều này. Mặt khác, khách hàng của bạn, những người có hiệu suất ngày càng tệ hơn trên trang web của họ, có thể không đồng ý.

d) Có thể. Không phải tất cả các nhà phát triển đều nhìn thấy nhật ký hiệu suất, nhưng nếu có vấn đề, bạn có thể mong đợi một DBA gửi email cho bạn các phần có liên quan và giải thích vấn đề nếu bạn không biết cách diễn giải nó. Ít nhất, một nhà phát triển sẽ có thể xem xét một kế hoạch truy vấn và xem các vấn đề cơ bản (Quét toàn bộ bảng => Xấu, Quét chỉ mục nhanh => Tốt).

Vì bạn mới ra trường và bạn có thể không bao gồm những thứ này trong các lớp học của mình, bạn có thể trả lời rằng "Tôi sẽ nói chuyện với một nhà phát triển hoặc DBA cao cấp hơn và yêu cầu hỗ trợ để hiểu điều này". Người phỏng vấn có thể chấp nhận rằng vì ít nhất bạn cũng sẵn sàng học hỏi những điều mới, vì bạn chưa có kinh nghiệm để tìm hiểu chúng. Tùy chọn khác là tự mình đi tìm hiểu chúng.

Chúc may mắn trong cuộc phỏng vấn tiếp theo!


7

Họ hoàn toàn có quyền hỏi những gì họ muốn. Bạn có thể không bao gồm những chủ đề này trong chương trình giảng dạy đại học của mình nhưng điều đó không có nghĩa là những người được phỏng vấn khác không có hoặc không có đủ hứng thú với chủ đề để vượt ra ngoài chương trình giảng dạy. Họ đang tìm kiếm thứ tốt nhất. Tôi hy vọng bạn ít nhất đã cố gắng trả lời các câu hỏi và không nhận được tất cả sự phòng thủ. Nếu tôi là họ và nhận được một lá thư từ bạn, bạn sẽ bị liệt vào danh sách đen.


2
Hoặc cho vấn đề đó, chỉ vì nó không được bao phủ trong trường học không có nghĩa là công ty không cần những kỹ năng đó!
GrandmasterB

3
Và nếu ứng viên bằng cách nào đó đã có cơ hội thứ hai, mong đợi câu hỏi tương tự (hoặc thậm chí bất cứ điều gì tương tự mơ hồ) sẽ là một thất bại lớn. Một điều tôi làm để đánh bại việc chia sẻ câu hỏi (đặc biệt được các nhà tuyển dụng ưa thích) là thay đổi đáng kể câu hỏi "kỳ quặc". Thời gian tới mong đợi một cái gì đó về tích hợp điện thoại hoặc quét mã vạch.

7

Phát triển phần mềm là một nghề đa ngành. Tôi không nghĩ rằng bạn sẽ nhận được bất kỳ số dặm nào yêu cầu làm lại cuộc phỏng vấn của bạn. "Hợp lý" trong bối cảnh này là liệu một công ty nhất định sẽ loại bỏ bạn khỏi sự cân nhắc chỉ dựa trên cơ sở thiếu kỹ năng DBA của bạn. Đặt câu hỏi là hoàn toàn hợp lý.

Bạn càng tiến bộ trong sự nghiệp, bạn sẽ càng cần biết nhiều hơn. Nếu bạn đang tự hỏi tại sao một nhà phát triển phần mềm nên quan tâm đến tối ưu hóa truy vấn, hãy xem xét thiết kế ứng dụng. Các dự án mới thường liên quan đến các cuộc thảo luận mô hình dữ liệu. Điều này sẽ dẫn đến các cuộc thảo luận bình thường hóa, dẫn đến công việc thiết kế cơ sở dữ liệu. Nguyên tắc thiết kế tốt chảy xuống để thực hiện. Thiết kế xấu / không hiệu quả ở cấp độ kiến ​​trúc có hậu quả thường tốn kém để khắc phục.


5

Khái niệm "công bằng" không quan trọng ở đây. Đây là một cuộc phỏng vấn việc làm.

Họ không thể từ chối bạn dựa trên màu da, tôn giáo, sắc tộc hoặc một vài thứ khác. Nhưng họ có thể từ chối bạn vì bất kỳ lý do nào khác, vì lý do ngu ngốc như màu giày bạn mang khi đi phỏng vấn. Và bạn có thể không bao giờ biết lý do thực sự.

Điều quan trọng là phải kiên cường khi phỏng vấn. Tôi hiểu xu hướng phân tích quá mức và tôi đã tự mình làm điều đó đủ thường xuyên. Nhưng điều tốt nhất để làm là chấp nhận rằng cuộc sống không công bằng và giữ đủ các cuộc phỏng vấn trong hệ thống mà bạn không phải treo tất cả hy vọng của mình vào bất kỳ ai trong số họ.


5

Giống như những người khác đã nói, các câu hỏi là hoàn toàn hợp lệ. Tuy nhiên, sẽ thật kỳ quặc nếu người phỏng vấn quyết định có nên thuê bạn hoàn toàn dựa trên những câu hỏi đó hay không. Có thể họ muốn lắng nghe bạn lý do về một chủ đề mà bạn có thể không quen thuộc, và đó là một kỹ thuật phỏng vấn hợp lệ.

Nếu tôi đang tuyển dụng, tôi sẽ không loại trừ bạn nếu bạn nói "Tôi xin lỗi, tôi không biết nhiều về tối ưu hóa truy vấn, nhưng tôi có thể tìm hiểu". Tôi sẽ loại trừ bạn nếu bạn bắt đầu than vãn về các câu hỏi, mặc dù.


5

Anh bạn, hãy để tôi nói thẳng với bạn: không có cách nào xung quanh Cơ sở dữ liệu với tư cách là Nhà phát triển phần mềm. Mỗi dự án mà tôi đã tham gia cho đến nay chiếm ít nhất một nửa thời gian phát triển. Thiết kế DB là một phần không thể thiếu của Phát triển phần mềm và bạn càng biết nhiều, bạn càng có thể giải quyết vấn đề tốt hơn. Ngoài ra, đừng bối rối bởi các loại câu hỏi và bối cảnh của nó rất nhiều. Hầu hết thời gian, các nhà tuyển dụng chỉ muốn xem liệu bạn có thể suy nghĩ trên đôi chân của mình để giải quyết vấn đề trong tay hoặc nếu bạn có đủ tự tin để ít nhất nói điều gì đó hợp lý về vấn đề này. Với việc bạn tốt nghiệp, họ nhận ra rằng họ thực sự sẽ phải dành thời gian dạy cho bạn tất cả những điều này, nhưng họ muốn biết liệu bạn có xứng đáng với thời gian và công sức hay không. Hãy luôn sắc sảo và khiêm tốn!


Tôi là một nhà phát triển và tôi đã không chạm vào cơ sở dữ liệu trong nhiều năm. Một số người trong chúng ta không làm ứng dụng web CRUD. Điều đó nói rằng, đối với nhiều vai trò (có lẽ là hầu hết), đối số của bạn giữ.
Kristof Provost

5

Tôi muốn viết thư cho công ty để nói rằng những câu hỏi này là không hợp lý để hỏi tại một cuộc phỏng vấn nhà phát triển phần mềm và để yêu cầu cuộc phỏng vấn của tôi được thực hiện xong.

Điều gì trên thế giới bạn nghĩ sẽ xảy ra nếu bạn gửi bức thư đó? Bạn có tưởng tượng rằng họ sẽ nói "Hmm, ứng cử viên này có một điểm. Chúng ta nên đưa anh ta trở lại, và hãy hỏi anh ta những câu hỏi dễ dàng hơn"? Tôi đảm bảo với bạn họ sẽ không. Trong thực tế, những gì họ sẽ làm là vượt qua bức thư và cười.

Nhận qua ý thức của bạn về quyền lợi. Bạn đang đi ra ngoài thế giới thực.

Làm thế nào để bạn tìm ra các câu hỏi về cơ sở dữ liệu là không công bằng? Bạn nghĩ rằng các lập trình viên không cần biết cơ sở dữ liệu, nhưng công ty này rõ ràng là có. Đó là lý do tại sao họ đặt câu hỏi! Người phỏng vấn không đặt câu hỏi cho địa ngục của nó. Họ đặt câu hỏi để tìm hiểu xem bạn có biết những thứ họ cần không. Nếu bạn không biết họ cần gì, thì bạn không phải là người phù hợp với công việc.

Nếu bạn không muốn tìm hiểu về cơ sở dữ liệu, điều đó tốt, nhưng đừng than vãn nếu công ty nào đó không muốn thuê bạn. Bạn không nợ một công việc.


1
Tôi sẽ nâng cấp một triệu lần nếu tôi có thể
HLGEM

4

Làm thế nào là những câu hỏi không công bằng? Các nhà phát triển làm việc với cơ sở dữ liệu. Bạn có nghĩ rằng ít nhất họ nên làm quen với các yếu tố liên quan đến việc thực hiện các truy vấn cơ sở dữ liệu hiệu quả và nhanh chóng không? Không phải mọi công ty đều có các DBA đường phố ... và thậm chí nếu có, điều đó không chịu trách nhiệm viết các truy vấn hiệu quả khỏi nhà phát triển.


4

Nếu họ đặt câu hỏi của tất cả các ứng viên thì họ công bằng - hơn và làm xong.

Không quan trọng bạn có cảm thấy câu hỏi phù hợp với vị trí hay không, nó chỉ quan trọng cho dù nhà tuyển dụng tiềm năng cảm thấy họ phù hợp - và nếu họ hỏi thì có khả năng là họ làm (vì họ phản ánh các kỹ năng cần thiết hoặc vì họ đã tìm thấy rằng những câu trả lời họ nhận được cho họ biết những điều thú vị về người được phỏng vấn).

Cuối cùng, bạn dường như có một số ý tưởng kỳ lạ về giới hạn của tiền gửi của nhà phát triển - Tôi chưa bao giờ (cho đến nay tôi có thể nhớ lại trong sự nghiệp 25 năm cho đến nay) làm việc với một DBA chuyên dụng ...


Bạn đã tránh các công ty phi CNTT lớn của công ty rồi :) Bạn cần phải xem những người hâm mộ DBA của chúng tôi!
ozz

@james "Tránh" là từ sai - nhưng vâng ... điểm là mặc dù tôi đã là "nhà phát triển" trong phần lớn thời gian đó và do đó đã yêu cầu ít nhất một số kỹ năng loại DBA (mặc dù tôi không đề nghị tôi là một DBA ... nhưng không phải lúc nào cũng cần phải có / có một dba dành riêng cho các dự án khiêm tốn hơn, mặc dù nhận ra những lỗ hổng trong bộ kỹ năng của một người đôi khi có thể gây đau đớn)
Murph

4

Nhìn vào các câu hỏi, tôi nghĩ rằng đây có thể là công ty của tôi - chúng tôi hỏi những loại câu hỏi này cho MỌI ứng viên như một phần của một cuộc phỏng vấn qua điện thoại. Luôn luôn. Nó cho chúng ta một tiêu chuẩn để làm việc.

Hầu hết các câu trả lời ở trên tóm tắt khá tốt ...

a) Chúng tôi muốn những người có kinh nghiệm rộng rãi chứ không phải những người chỉ có thể làm một vài điều.

b) Các câu hỏi có để giúp chúng tôi thăm dò kiến ​​thức của bạn, bạn có thể không biết câu trả lời đầy đủ (hoặc hoàn toàn) các câu hỏi là điểm khởi đầu để bạn mở rộng kiến ​​thức và kinh nghiệm của mình.

c) Hãy nhớ rằng cuộc phỏng vấn là vì lợi ích của chúng tôi VÀ CỦA BẠN ... từ các loại câu hỏi bạn sẽ có thể có được ý tưởng về vai trò và công ty và liệu chúng tôi có phù hợp với bạn và bạn phù hợp với chúng tôi ...

d) đó là công việc, nếu bạn không vượt qua được cuộc phỏng vấn thì hãy trưởng thành, ngừng than vãn và cố gắng tốt hơn ở lần phỏng vấn tiếp theo.


3

Có vẻ như họ không có DBA, vì vậy họ cũng muốn bạn hoàn thành vai trò đó. Điều này là bình thường đối với các công ty nhỏ.


6
Chỉ vì một công ty muốn nhà phát triển hiểu cách tinh chỉnh các tập lệnh cơ sở dữ liệu của họ KHÔNG có nghĩa là họ không có DBA. Tôi muốn có một nhà phát triển có thể tối ưu hóa nội dung của riêng họ thay vì đưa bất kỳ tập lệnh SQL nào lên máy chủ và hy vọng DBA sẽ truy cập vào nó. Một DBA có nhiều thứ phải lo lắng hơn là sửa các tập lệnh của bạn mọi lúc.

1
Không phải mọi công ty sử dụng DBA như vậy. Hãy xem xét các nhà phát triển thương mại phân phối phần mềm cho khách hàng. Các máy khách có thể có DBA, nhưng các nhà phát triển vẫn cần viết các truy vấn được sử dụng hiệu quả bởi phần mềm của họ.
GrandmasterB

Tôi đã làm việc cho một công ty nhỏ (khoảng hai chục người khi tôi tham gia) mà không nhận được các DBA thực sự cho đến sau này. Khi tôi có một truy vấn đi từ nửa phút đến nửa giờ, tôi phải tự mình tìm ra nó.
David Thornley

1
Trong mọi trường hợp, không phải là không có lý khi muốn các nhà phát triển biết nhiều hơn là chỉ lập trình.
Andres F.

3

Tôi thấy hoàn toàn không có gì sai với nó. Tại sao không nên là nhà phát triển, đặc biệt là nếu cuối cùng họ làm việc trong cơ sở dữ liệu, không được giữ kín các mục đó?

Nhà phát triển phần mềm không nên biết về phần mềm tối ưu hóa hay cách truy cập nhật ký sự kiện của ứng dụng để tìm ra vấn đề về hiệu năng? Nếu vậy, tại sao không giống nhau cho một người là nhà phát triển cơ sở dữ liệu? Tại sao họ không thể là một trong cùng một?

Nếu tôi đang phỏng vấn ai đó cho vị trí phát triển phần mềm có liên quan đến phát triển cơ sở dữ liệu, bạn sẽ đúng, tôi sẽ đảm bảo họ biết không chỉ những gì họ đang làm mà còn có thể tăng hiệu suất của mã của họ hoặc mã hiện có như một cơ sở dữ liệu có thể là một cổ chai lớn.

Thay vì phát triển một thái độ, có lẽ một cách hành động tốt hơn sẽ là "Tôi không biết câu trả lời nhưng đây là những gì tôi phải làm để tìm ra nó".


3

Như những người khác đã chỉ ra, trong một cuộc phỏng vấn, hầu hết mọi câu hỏi đều là trò chơi công bằng miễn là nó không chạm vào một khu vực được bảo vệ hợp pháp nào (ví dụ như tuổi tác, chủng tộc, giới tính, v.v.) và không có gì lạ khi người phỏng vấn ném các câu hỏi tại bạn chỉ để xem cách bạn phản ứng với câu hỏi và bạn sẽ cố gắng tìm giải pháp cho câu hỏi như thế nào. Ngoài ra, vì có vẻ như bạn là một sinh viên mới tốt nghiệp, họ có một chút hạn chế về việc có thể hỏi bạn về kinh nghiệm làm việc của bạn và loại vấn đề bạn đã giải quyết trong một thiết lập sản xuất. Do đó, nếu công ty thực hiện nhiều công việc định hướng cơ sở dữ liệu, các câu hỏi họ hỏi cũng có thể liên quan đến vị trí bạn đang phỏng vấn sẽ làm.

Liên quan đến các giả định của bạn:

a) Những câu hỏi đó không thể được phân loại thành câu hỏi phát triển cơ sở dữ liệu.

Co le không. Nếu bạn đang thực hiện phát triển cơ sở dữ liệu, bạn sẽ sử dụng trình tối ưu hóa truy vấn và lập kế hoạch theo thời gian để thử và đảm bảo không có vấn đề rõ ràng nào với các truy vấn của bạn. Nếu công ty có quản trị viên cơ sở dữ liệu hoặc chuyên gia có thể xem xét các truy vấn, họ có thể không có thời gian để xem xét mọi thứ và họ cũng sẽ không muốn xem xét mọi truy vấn được mã hóa kém. Tương tự như vậy, cũng không có gì lạ khi các nhà phát triển chịu trách nhiệm duy trì môi trường phát triển của họ, bao gồm bất kỳ cơ sở dữ liệu nào và để các DBA xử lý khía cạnh sản xuất của mọi thứ.

b) Tôi nghĩ rằng các câu hỏi phù hợp cho một cuộc phỏng vấn DBA nhưng hoàn toàn không hợp lý cho một cuộc phỏng vấn nhà phát triển phần mềm (có kinh nghiệm hay không).

Họ có thể sẽ thích hợp cho một cuộc phỏng vấn DBA; nhưng bất kể, chúng cũng là những chủ đề mà nhà phát triển nên làm quen nếu chỉ ở mức độ có thể nhận ra vấn đề có thể xảy ra ở đâu và tự khắc phục một số sự cố cơ bản. Giống như tôi đã đề cập trước đây, nếu công ty có nguồn lực hạn chế thì họ sẽ muốn đảm bảo rằng họ sẽ không lãng phí thời gian của mọi người với những thứ có thể là vấn đề cơ bản.

c) Câu hỏi đầu tiên chỉ liên quan đến một nhà cung cấp cơ sở dữ liệu.

Chi tiết cụ thể có thể là nhà cung cấp cụ thể, nhưng các khái niệm chung có thể được áp dụng ở bất cứ đâu và đôi khi có thể cho bạn thấy các khái niệm chung là tất cả những gì bạn cần. Nếu bạn không muốn bị khóa trong một ngăn xếp phát triển (ví dụ LAMP ) thì bạn sẽ cần có khả năng hiển thị trong các cuộc phỏng vấn rằng bạn hiểu các khái niệm cốt lõi và thoải mái di chuyển đến các ngăn xếp phát triển khác nhau.

d) Câu hỏi thứ hai không công bằng vì các nhà phát triển phần mềm thường không xử lý nhật ký hiệu suất cơ sở dữ liệu vì đó là công việc của DBA.

Điều này nói chung là đúng, nhưng nếu một phần công việc của bạn là viết phần mềm cho một cơ sở dữ liệu nhất định cần có khả năng phản hồi cao thì bạn sẽ cần đảm bảo rằng bạn đã nỗ lực hết sức trong việc viết các truy vấn đó để đồng nghiệp đó một chuyên gia trong một lĩnh vực nhất định sẽ không bị sa lầy với các truy vấn bằng văn bản kém. Mặc dù bạn có thể không cần biết chi tiết tốt hơn về những gì nhật ký đang nói với bạn, nhưng bạn có thể cần xác định các vấn đề rõ ràng.

Hy vọng tất cả những điều này sẽ giúp!


2

Chỉ vì bạn là nhà phát triển phần mềm không có nghĩa là bạn chỉ nên biết chủ đề của nhà phát triển phần mềm. Có nhiều kiến ​​thức từ quản lý máy chủ đến các công nghệ cơ sở dữ liệu thực sự là một kỹ năng rất hữu ích để có được như một nhà phát triển. Tôi sẽ không gặp vấn đề gì khi hỏi những loại câu hỏi này cho thí sinh. Nếu họ không hiểu họ, tốt thôi, điều đó sẽ không đưa họ ra khỏi danh sách (tôi không mong họ biết tất cả mọi thứ), nhưng nếu họ có thể trả lời, điều đó cho tôi thấy rằng nhà phát triển còn hơn thế chỉ là lập trình viên kỹ năng điển hình, và đó là một giống hiếm.


+1, hoàn toàn đồng ý. Và nếu thay vào đó, người thuê tương lai bắt đầu than vãn về "sự không công bằng" của các câu hỏi, thì họ thuộc về giống không phổ biến hơn của việc không thuê .
Andres F.

2

Tôi cũng có một tranh chấp tương tự với một nhà tuyển dụng tiềm năng, người đã hỏi tôi một câu hỏi về nắp hố ga. Tôi hỏi bạn, hình dạng của nắp hố ga có liên quan gì đến lập trình!


3
Câu hỏi thực sự về nắp hố ga là gì? Tôi cá với bạn rằng đó là một thử nghiệm suy nghĩ được tạo ra để đánh giá khả năng suy nghĩ của bạn và không liên quan gì đến nắp hố ga.
Kenny Wyland

Một người phỏng vấn giỏi sẽ hỏi bạn những loại câu hỏi này để hiểu rõ hơn cách bạn suy nghĩ và giải quyết vấn đề. (Mặc dù câu hỏi về hố ga ngày nay hơi mệt).

2
Đó là một câu hỏi phỏng vấn rất phổ biến: "Tại sao nắp hố ga lại tròn?" và câu trả lời dự kiến ​​được cho là "vì vậy chúng không thể vừa với (và rơi vào) lỗ hổng". (và không phải bất kỳ lý do hợp lý nào khác, chẳng hạn như "vì lỗ tròn (vì nó được khoan tròn)" hoặc "vì vậy bạn có thể cuộn nắp để di chuyển nó sau khi nâng nó lên (nếu không thì cần phải kéo hoặc hai người để di chuyển) "
Jimmy

Câu hỏi này có lẽ tương tự như # quả bóng golf có thể phù hợp với câu hỏi xe buýt. Không nhất thiết phải có một câu trả lời đúng, nhưng người phỏng vấn muốn xem bạn nghĩ như thế nào, bạn sẽ giải quyết vấn đề như thế nào. Điều quan trọng là phải suy nghĩ lớn khi được phỏng vấn.

2
Tuyên bố là tất nhiên trong trò đùa, tôi nghi ngờ nếu có ai đã sử dụng câu hỏi về hố ga nổi tiếng trong hai mươi năm qua. Vấn đề là trong một cuộc phỏng vấn, bạn tuân theo các quy tắc của người phỏng vấn. Nếu một câu hỏi có vẻ không phù hợp, hãy lên tiếng và giải thích lý do của bạn.

0

Phản hồi của mẫu đơn Tôi cũng không chắc nhưng tôi sẽ tìm kiếm nó bằng cách đi đến, và cũng là một câu hỏi hay. Không ai nghĩ rằng bạn biết tất cả mọi thứ nhưng có thể tìm kiếm mọi thứ là một kỹ năng quan trọng

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.