Tôi có thể làm gì khi người phỏng vấn không biết câu trả lời cho câu hỏi của anh ấy / cô ấy? [đóng cửa]


48

Hôm qua tôi đã có một trải nghiệm khủng khiếp trong một cuộc phỏng vấn.

Người phỏng vấn hỏi tôi về chức năng ảo thuần túy. Tôi đã nói, Nó có thể có hoặc không có định nghĩa trong lớp cơ sở, nhưng các lớp dẫn xuất sẽ cung cấp định nghĩa trừ khi chúng cũng muốn là lớp trừu tượng.

Nhưng người phỏng vấn cứ hỏi rằng "Liệu ảo thuần có thể có định nghĩa !!! ???" ... Tôi nói có.

Một lần nữa anh nói "Tinh khiết?"

Tôi nói có. Nó được cho phép, các lớp dẫn xuất có thể gọi hàm đó một cách rõ ràng nếu chúng muốn hành vi cụ thể đó.

Anh tiễn tôi ra. Tôi chắc chắn rằng anh ta không biết thực tế rằng hàm ảo thuần có thể có định nghĩa.

Làm thế nào để đối phó với loại Người phỏng vấn này?

Sau khi hỏi lần thứ 2, tôi có nên nói dối rằng nó không thể có định nghĩa? :)

Hoặc tôi nên giữ lời nói và mất cơ hội việc làm?


51
Bạn nên liên hệ với họ bằng một ví dụ về hàm ảo thuần với định nghĩa, để họ biết.
GManNickG

22
Đề xuất của GMan là một ý tưởng tuyệt vời . Bạn có thể sẽ gây ấn tượng với người phỏng vấn rằng bạn quan tâm đủ về công việc để theo dõi xem anh ấy có tin bạn hay không. Và nếu bạn dạy anh ấy điều gì đó theo cách không đối đầu nhất có thể, thì điều đó chỉ nên khuyến khích anh ấy / cô ấy nghĩ cao hơn về bạn như một nhà phát triển. Dù vậy, vẫn là một quyết định khó khăn cho dù bạn có muốn làm việc ở đó hay không.
Cody Grey

47
Nhưng bạn có thực sự muốn làm việc cho những người như vậy?

29
Một trong những người phỏng vấn của tôi đã hỏi tôi câu hỏi liên quan đến biểu hiện này arr[++i] = i. Và khi tôi nói điều này gọi hành vi không xác định và nói với anh ta về các điểm liên tục , anh ta không nói nên lời, rồi nét mặt và những câu hỏi tiếp theo của anh ta khiến tôi tin rằng anh ta thậm chí chưa bao giờ nghe những thuật ngữ này trước đây!
Nawaz

10
Hãy xem xét rằng người phỏng vấn thường được chọn không phải vì kỹ năng kỹ thuật của họ mà là khả năng đánh giá tài năng giao tiếp của người được phỏng vấn. Kỹ năng kỹ thuật dễ dàng được đánh giá, khả năng làm việc hiệu quả và phù hợp với một nhóm là không. Âm thanh với tôi bạn có rất nhiều cơ hội để điều chỉnh quan điểm của bạn để giải thích sự khăng khăng của bạn không làm như vậy nhưng cũng không hoàn thành. Điều đó đã không diễn ra tốt đẹp.
Hans Passant

Câu trả lời:


82

Không. Và bạn nên cảm ơn những ngôi sao may mắn của mình mà bạn đã bỏ lỡ bởi viên đạn đặc biệt đó. Làm việc cho những người từ chối thừa nhận rằng họ có thể không biết tất cả mọi thứ và từ chối học hỏi từ người khác, là một kinh nghiệm RẤT khó chịu.


7
Chính xác hơn là quá trình phỏng vấn công việc làm việc cả hai cách. Trong khi công ty đang đánh giá tôi là một nhân viên, tôi đánh giá họ là một nhà tuyển dụng. Nhiều người muốn tìm thấy.
CHỈ CẦN HOẠT ĐỘNG CỦA TÔI NGÀY

Thật. Trong cuộc phỏng vấn qua điện thoại của tôi cho một vị trí vài ngày trước, người phỏng vấn đã hỏi một ví dụ về điều gì đó sẽ thể hiện kiến ​​thức của một người quen thuộc với ngôn ngữ họ đang sử dụng. Một câu hỏi về nó đã được thêm vào phút cuối cho cuộc phỏng vấn trực tiếp. Tôi biết những người này và tôi biết họ là những nhà phát triển tuyệt vời, vì vậy tôi nghĩ rằng tôi muốn làm việc với họ. :)
greyfade

49

Ví dụ về một hàm ảo thuần túy với định nghĩa:

// object.hpp
struct object
{
    // virtual destructor, to allow use as a public base class,
    // but pure to ensure object itself isn't instantiated
    virtual ~object() = 0; 
};

inline object::~object()
{
    // empty implementation
}

6
Đây không chỉ là một ví dụ về một hàm ảo thuần túy với định nghĩa, mà là một ví dụ về cách nó thực sự có thể hữu ích. +1.
j_random_hacker

3
Không biết bạn có thể làm điều đó. Mát mẻ! = D
gablin

2
Đây là một cách để tạo ra một đối tượng đa hình cơ sở. Sau đó, bạn có thể sử dụng nó để Dynamic_cast xuống cấu trúc phân cấp. Hữu ích trong một số trường hợp, ví dụ như các plugin, để kiểm tra xem plugin có thuộc loại mong đợi không (với giả định chắc chắn nó sẽ xuất phát từ lớp cơ sở của bạn). Bằng cách này, một kẻ hủy diệt ảo thuần túy PHẢI được đưa ra một định nghĩa.
CashCow

Bây giờ nếu chỉ có nó vẫn có thể là tầm thường , điều đó sẽ tốt đẹp.
Ded repeatator

42

Vấn đề trong tay không phải là sự đúng đắn về kỹ thuật, mà là kỹ năng giao tiếp / xã hội. Đứng vững, nhưng thừa nhận quan điểm của người phỏng vấn và cho phép họ giữ thể diện.

Một khi bạn có thể thấy những gì anh ta đang câu cá ("thuần túy?" Là một manh mối tốt), một câu trả lời tốt có thể là:

Người ta thường nghĩ rằng các hàm ảo thuần túy không thể có định nghĩa. Tuy nhiên, về mặt kỹ thuật, một chức năng ảo là thuần túy, nó phải có =0trong khai báo. Nó vẫn có thể có một định nghĩa (thử nó, nó sẽ biên dịch!). Tất nhiên, điều này hiếm khi được sử dụng, và trong thực tế khi hầu hết mọi người nói "ảo thuần", họ ngụ ý định nghĩa là không có.


3
Về cơ bản bạn đã sao chép bình luận của tôi 25 phút. trước khi tôi viết nó Làm sao? - Đã xóa +1 và nhận xét có chủ đề tương tự.
Steve314

3
Đó là một điểm tốt. Có lần tôi đã tranh luận điểm số của mình trong một bài kiểm tra vì tôi đã cho giáo sư của tôi biết rằng mã tôi đã viết trong bài kiểm tra sẽ được biên dịch. Trình biên dịch không nói dối ... bao giờ ...
jmort253

3
Đây chính xác là suy nghĩ của tôi. Bằng cách chỉ nói "vâng, có thể", mà không cần làm rõ, đối với tôi, người phỏng vấn nghĩ rằng anh ta không hiểu câu hỏi. Bằng cách mở rộng câu trả lời, bạn làm rõ rằng a) bạn hiểu câu hỏi và b) bạn thực sự biết câu trả lời. Tôi không nghĩ người phỏng vấn nhất thiết sai khi cố gắng nhấn vào vấn đề, rõ ràng, đó là một sự hiểu lầm khá phổ biến mà mọi người nghĩ rằng các hàm ảo thuần túy không thể có định nghĩa.
Dean Harding

10
@Steve bạn nhận được du hành thời gian từ 500 rep trở đi, bạn chắc chắn đã bỏ lỡ thông báo
Pekka hỗ trợ GoFundMonica

Tôi đã thực hiện một vài năm trước trong một cuộc phỏng vấn C ++ (đối với một hệ thống hiệu suất cao) khi tôi giải thích rằng việc sử dụng một đối tượng hàm có thể có hiệu suất tốt hơn so với sử dụng một con trỏ hàm vì nội tuyến và giải thích điều này với anh ta. Tôi cũng trích dẫn cuốn sách "Hiệu quả C ++". Anh ấy thực sự đứng dậy để kiểm tra cuốn sách và nói rằng anh ấy không biết điều này và rất ấn tượng. Nó là tốt để giải thích câu trả lời của bạn.
softveda

10

Bạn có thể giải thích cách khai báo một hàm ảo thuần có triển khai.

Trên thực tế, tôi ước bạn sẽ ở đây vì tôi cũng không quen với cách làm điều đó.


5
Bạn chỉ cần khai báo hàm thuần ảo và sau đó cung cấp một triển khai. Đó là một thực tế khá phổ biến để làm điều này, nhưng trong "C ++ hiệu quả, phiên bản thứ 3" Scott Meyers mô tả một vài tình huống hữu ích. Cụ thể, vì hàm này là thuần ảo, nên lớp được khai báo là trừu tượng, nhưng vì nó có một triển khai, nó cung cấp cho các lớp con một triển khai mặc định mà chúng có thể chọn sử dụng một cách rõ ràng nếu chúng muốn.

1
Chà, điều đó không giải thích nó đã được thực hiện như thế nào. Nếu có ai quan tâm, hãy xem en.wikipedia.org/wiki/ . Ở mức độ nào, tôi vẫn nghĩ giải thích cách thực hiện sẽ là phản hồi tốt nhất.

1
+1 - và tôi thứ hai dòng thứ hai của bạn. Tồi tệ hơn, trừ khi tôi ở trong một tâm trạng đặc biệt "nhưng đôi khi sai", tôi sẽ đứng về phía người phỏng vấn. Vấn đề là bạn chỉ có thể đoán thứ hai niềm tin của mình ở một mức độ nhất định, nếu không bạn thực sự không biết gì.
Steve314

1
@ Steve314: Heh, tôi thấy mình càng lớn tuổi, tôi càng cởi mở hơn khi bị sai. Luôn có một người biết nhiều hơn tôi. :-)

@Jonathon - có, nhưng không có chỉ dẫn chính xác 100% về việc tôi nên tự tin như thế nào về tất cả các ý kiến ​​khác nhau của mình, làm thế nào để tôi biết câu hỏi nào? Và để trở nên sai lầm, điều đó có nghĩa là tôi phải luôn cho rằng người khác đúng và tôi sai? Tất cả chúng ta đôi khi có thể tự tin nhưng sai, nhưng điều đó có nghĩa là chúng ta không bao giờ nên khẳng định sự tự tin của mình? Và nếu mức độ tự tin của tôi không nên là kim chỉ nam cho tôi liệu tôi có dính súng hay không cho đến khi tôi thấy bằng chứng mạnh mẽ thì phải làm sao?
Steve314

6

Nhiều lần khi tôi phỏng vấn một ứng cử viên, tôi đang muốn xem cách người đó xử lý sự không chắc chắn, hoặc đối phó với sự đối đầu. Lần tới khi bạn phỏng vấn, hãy nhạy cảm với điều này và cố gắng trả lời một cách xây dựng câu hỏi hoặc giải thích vị trí của bạn. Điều đó có thể quan trọng hơn câu trả lời đúng.


Đây là một câu trả lời tuyệt vời.
Neil G

+1: Đây là cách tôi phỏng vấn. Tôi quan tâm nhiều hơn về cách chúng ta tương tác và trao đổi suy nghĩ nhiều hơn về những gì đúng và những gì không. Xây dựng vị trí của bạn và / hoặc giải thích lý do đằng sau nó và bạn chứng minh rằng không chỉ bạn có năng lực, mà bạn còn là một "người chơi nhóm".
mummey

+1 khác: Tôi nghĩ điều quan trọng là thuê những người có thể tranh luận tốt . Nếu một người thuê mới không thể đứng lên cho ý tưởng của anh ấy hoặc cô ấy, họ sẽ không đi xa trong một đội với những người có ý chí mạnh mẽ khác!
Zan Lynx

5

Tôi đã tham gia các cuộc phỏng vấn nơi tôi biết nhiều hơn người phỏng vấn. Tuy nhiên, họ muốn ai đó đảm nhận vai trò và không có ai (tất nhiên) có thể phỏng vấn ở cấp độ đó.

Trong trường hợp của bạn, bạn có cảm thấy đó là sự thiếu hiểu biết mù quáng, hoặc sự hiểu lầm thực sự? Có lẽ một email theo dõi với các ví dụ và tài liệu tham khảo: xem cách họ phản ứng trước khi quyết định.

Tôi hướng đến "sự thiếu hiểu biết mù quáng" mặc dù dựa trên câu hỏi của bạn và sẽ rõ ràng hơn ...


Người phỏng vấn chỉ hỏi câu hỏi này và gửi tôi ra ngoài. Tôi không thể liên lạc với họ vì tôi không có id email.
bjskishore123

@ bjskishore123: qua cơ quan? Tuy nhiên, tôi sẽ tránh xa nếu đây là ...
gbn

vâng, qua tư vấn.
bjskishore123

+1 Đó là một kinh nghiệm phổ biến. Tôi chỉ có một lần phỏng vấn với bất kỳ ai biết đủ để kiểm tra kỹ năng của tôi.
Orble

3

Trong một tình huống như thế này, tôi sẽ đề xuất viết một lớp đơn giản với hàm ảo với phần thân và xem nó có biên dịch không. Ít nhất, tôi sẽ đề xuất google chủ đề.

Nếu người phỏng vấn chấp nhận thử thách, thừa nhận thất bại và không có vẻ như anh ta sẽ bóp nghẹt bạn sau đó, thì bạn nên ở trong tình trạng tốt. Nếu không, đây có lẽ không phải là người bạn muốn làm việc cùng.


3

Tôi hoàn toàn không đồng ý với ý kiến ​​rằng bạn nên từ bỏ một công ty vì anh chàng đang phỏng vấn bạn không biết câu trả lời cho câu hỏi của anh ấy. Ngay cả khi bạn đang làm việc, bạn sẽ gặp những người cố chấp ngay cả khi sai. Đó là một kỹ năng tốt để điều động mọi người trả lời đúng.

Trong trường hợp của tôi, người phỏng vấn hỏi làm thế nào để tính toán phương sai của rất nhiều số trên nhiều máy. Tôi bắt đầu bằng cách nói rằng phương sai là giá trị trung bình của bình phương trừ đi bình phương của phương tiện. Anh xen vào, "không, nó E[(x - mu)²]."

Tôi nói, "Vâng, bạn nói đúng. Nhưng công thức của bạn giống như của tôi. Hãy cùng nhau tìm ra nó." Và sau đó chúng tôi đã bắt nguồn nó cùng nhau.

Trong tình huống của bạn khi bạn nhận ra rằng người phỏng vấn là không thể tin được, bạn cần thay đổi cách tiếp cận của mình. Nói với anh ta rằng đó là một tính năng hiếm khi được biết đến (điều này làm cho bạn nghe có vẻ ít hiểu biết hơn) và nếu anh ta muốn bạn sẽ gửi cho anh ta một chương trình ví dụ hoặc tài liệu tham khảo cho một cuốn sách C ++ sau cuộc phỏng vấn (đây là để cuộc phỏng vấn có thể tiến lên một cách duyên dáng.)

Hãy cố gắng tưởng tượng mọi thứ từ quan điểm của mình. Một ngày nào đó bạn sẽ phỏng vấn mọi người và đôi khi bạn sẽ sai. Làm thế nào bạn muốn một ứng cử viên sáng để trả lời một câu hỏi như vậy?


Giá trị trung bình là E [(x - mu) ²] mặc dù bạn có thể có ý đó. Vì vậy, bạn có thể đánh giá rằng E [x² - 2xmu + mu²] = E [x²] - E [2xmu - 2mu²] - E [mu²] E [(x-mu)] luôn là 0 và E [mu²] = mu² như mu là một hằng số do đó được chứng minh.
CashCow

2

Tôi nghĩ bạn nên chuyển cuộc phỏng vấn từ bàn sang máy tính có trình biên dịch. Điều đó sẽ giải quyết vấn đề.


1

EDIT: rõ ràng tôi hoàn toàn sai, xem bình luận bên dưới câu trả lời này. Để lại câu trả lời ở đây cho mục đích giáo dục.

Đáng buồn thay, bạn đang nhầm. Một hàm ảo có thể có một định nghĩa; một chức năng ảo thuần túy có thể không. Sự thiếu định nghĩa là những gì làm cho nó tinh khiết.


8
Không, xin lỗi. Anh ấy đúng.
GManNickG

1
TRÒ CHƠI !!! Sai lầm! = 0 là những gì làm cho nó tinh khiết. Các chức năng như vậy có thể có định nghĩa.
Edward Strange

4
huh, màu tôi ngạc nhiên. Tôi chưa bao giờ biết điều này.
Philip Potter

3
Wikipedia giải thích rằng "Mặc dù các phương thức ảo thuần thường không có triển khai trong lớp khai báo chúng, nhưng các phương thức ảo thuần trong C ++ được phép chứa một triển khai trong lớp khai báo của chúng, cung cấp dự phòng hoặc hành vi mặc định mà lớp dẫn xuất có thể ủy quyền nếu thích hợp. " Vì vậy, mặc dù nó là bất thường hoặc không điển hình đối với một hàm ảo thuần để xác định việc thực hiện của nó, điều đó là có thể.
Cody Grey

1

Bạn biết rằng bất cứ điều gì bạn trả lời là đúng. Theo tôi bạn đã làm tốt công việc bằng cách bám sát câu trả lời của bạn vì bạn đã đúng. Không cần phải nói dối bởi vì nếu không hôm nay một người phỏng vấn thời gian khác sẽ tìm hiểu về các chức năng ảo thuần túy !!!! .. Anh ta có thể đang kiểm tra bạn để kiểm tra xem bạn quyết định như thế nào? Bạn có phải là người dễ dàng bị mang đi không? Không cần phải mất hy vọng, vì bạn biết bạn đú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.