2009-10-15 5 views
35

Tôi có một cuộc phỏng vấn qua Điện thoại sắp tới với một công ty hoạt động trong ngành công nghiệp phần mềm tài chính. Cuộc phỏng vấn chủ yếu sẽ ở trong C++ và giải quyết vấn đề và logic. Xin vui lòng cho tôi biết phương pháp chuẩn bị cho cuộc phỏng vấn này. Tôi đã bắt đầu lướt qua Suy nghĩ trong C++ và đánh giá các khái niệm. Có cách nào khác tôi có thể chuẩn bị không ?? Hãy giúp tôi.Chuẩn bị phỏng vấn C++

Chỉnh sửa:

Cảm ơn tất cả mọi người đã được tư vấn. Tôi chỉ muốn thêm rằng tôi hiện đang học mới và không có kinh nghiệm trước đó. Vì vậy, bạn có thể đề xuất một số loại câu hỏi sẽ được yêu cầu để grads mới?

+33

Nếu bạn định sử dụng Google trong cuộc phỏng vấn qua điện thoại, hãy có một bàn phím yên tĩnh ;-) ... ai đó mà tôi đã sàng lọc tuần trước là lý do cho miếng ngon đó. –

+1

Hãy chắc chắn rằng bạn đang ngồi trong một căn phòng khá và cũng thông báo cho bạn bè của bạn không làm phiền bạn trong iw. – Duleb

+1

Bạn đã nhận được công việc chưa? –

Trả lời

51

Đảm bảo bạn biết cấu trúc và thuật toán dữ liệu cơ bản của mình. Bạn có nhiều khả năng được hỏi về thứ đó hơn là thứ gì đó cao hơn trong chuỗi thức ăn. Chúng thường được lưu cho cuộc phỏng vấn trực tiếp.

Đặt một cách khác: vững chắc với nguyên tắc cơ bản và vững chắc với cú pháp C++ của bạn. Ngoài ra, kiến ​​thức về các thư viện phổ biến như STL và Boost không thể làm tổn thương ... nhưng hãy chắc chắn rằng bạn biết những gì các thư viện đó cung cấp cho bạn! Trong màn hình điện thoại cuối cùng là có để tiêu hủy những người không thể làm những điều cơ bản. Chứng minh bạn có thể và bạn nên chuyển sang bước tiếp theo. Chúc may mắn!

Dưới đây là một số liên kết các câu hỏi phỏng vấn để kiểm tra:

Bây giờ, vì hoàn thành, một số cuốn sách:

+1

Ngoài ra hãy kiểm tra bài đăng trên blog này để giữ các khai báo C++ ngay, chỉ trong trường hợp họ thử và đi bạn với những người: http://binglongx.spaces.live.com/blog/cns!142CBF6D49079DE8!273.entry –

+0

Một vài trang web bạn liên kết có thông tin và/hoặc mã hoàn toàn sai. Tôi không chắc tại sao đây là câu trả lời được chấp nhận hoặc được bình chọn nhiều nhất. – codetaku

+0

@codetaku Vâng, các câu hỏi liên kết chính họ là giá trị. Đi qua thực hành trả lời chúng sẽ mang lại nhiều lợi ích nhất. Điều đó nói rằng, nếu bạn không nhớ chỉ ra nội dung xúc phạm, chúng tôi có thể cập nhật câu trả lời để những người khác không bị lạc lối. –

2

Bên cạnh những phần rõ ràng của ngôn ngữ, tôi đã phát hiện ra rằng nhà tuyển dụng sẽ muốn nhìn thấy nếu bạn hoàn toàn hiểu được con trỏ, tài liệu tham khảo, làm thế nào copy-nhà xây dựng đi vào tất cả mọi thứ, có lẽ STL và tất nhiên là những điều cơ bản của lớp học.

8
  • Hãy thử một số sự cố thực tế trên TopCoder.

  • Khám phá Marshall Cline's C++ FAQ. Đó là một cách hay để tìm hiểu một số công cụ mới và tìm hiểu những điều bạn đã biết trong trường hợp quyết định hỏi bạn một số câu hỏi 'kiến thức' thay vì câu hỏi 'giải quyết vấn đề'.

+1

+1 cho Câu hỏi thường gặp. Def trị giá một giây (hoặc đầu tiên, nếu đó là trường hợp của bạn) đọc trước khi một cuộc phỏng vấn! –

1

Đọc (hoặc lướt qua, tùy thuộc vào lượng thời gian bạn phải chuẩn bị) "Large-Scale C++ Software Design" của John Lakos. Rất có thể, bạn sẽ cần nó.

43

Tôi đã phỏng vấn một số ứng cử viên đặc biệt tập trung vào C++ kiến ​​thức của họ, và nếu có một câu hỏi rằng làm việc tốt để đưa kiến ​​thức các dân tộc của C++ trên một gradient, đó là này một:

Fix bộ nhớ này bị rò rỉ như mạnh mẽ như bạn có thể:

 
void doSomething() 
{ 
Foo* pFoo = new Foo(); 
[do some stuff] 
} 
  • +1 để đưa xóa pFoo vào cuối
  • 2 cho đặt pFoo trong một st d :: auto_ptr
  • 3 cho biết những gì RAII là - khái niệm, nếu không phải là từ viết tắt
  • 4 đề cập đến khoản bảo lãnh ngoại lệ an toàn của auto_ptr
  • 5 cho đặt pFoo trong một tăng: shared_ptr
  • +6 để biết khi nào shared_ptr có thể không được giải phóng.
  • +7 để nói chuyện về kỹ thuật thu gom rác thải để sửa chữa tài liệu tham khảo tròn

này luôn luôn làm việc để hiển thị bao lâu một người nào đó đã làm việc với C++. Đây là một datapoint bạn có thể sử dụng để cho biết bạn đang ở đâu trong quy mô của kiến ​​thức C++.

Chỉnh sửa: Tôi muốn giới thiệu một người nào đó cho thuê ở cấp 3 trở lên.

+6

+1 vì tôi đã học được một vài điều. Cảm ơn! – John

+4

Chỉ cần ra khỏi tò mò ... tại sao bạn muốn 'tăng :: shared_ptr' trên' std :: auto_ptr' mà không có thêm thông tin? Tôi sẽ hạnh phúc hơn nhiều với một ứng cử viên đáp ứng với _ "nó phụ thuộc vào những gì trong [làm một số công cụ]" _ bản thân mình. –

+3

Thật vậy. Nếu 'auto_ptr' sẽ làm nhưng bạn muốn tránh những cạm bẫy của nó, người ta sẽ sử dụng' boost :: scoped_ptr' (hoặc 'std :: tr1 :: unique_ptr'). – UncleBens

2

Lấy một người bạn hiểu biết và yêu cầu họ hỏi bạn một số vấn đề lập trình C++ mà bạn có thể giải quyết trên bảng trắng. Rất nhiều cuộc phỏng vấn sẽ giúp bạn giải quyết một vấn đề trên một tấm bảng, và nó có thể gây bối rối khi nghĩ đến đôi chân của bạn và viết những thứ ra trước mặt ai đó nếu bạn không quen với nó.

3

Ngay cả khi họ đang phỏng vấn vị trí C++ không phải tất cả các câu hỏi đều có thể cụ thể với C++. Ví dụ, tôi đã bị ảnh hưởng với những câu hỏi liên quan đến việc sau tất cả trong cùng một bộ cuộc phỏng vấn cho một C++ vị trí duy nhất:

  • thuật toán phức tạp của sắp xếp và tìm kiếm các thuật toán nổi tiếng
  • Multithreaded lập trình
  • lập trình đa tiến
  • Sockets lập trình
  • phần mềm phát triển triết lý/cách tiếp cận
  • phần mềm kiểm tra và xác nhận triết lý/cách tiếp cận
  • Gỡ lỗi
  • Đo điểm chuẩn
  • Phân tích động và tĩnh (ví dụ:phát hiện rò rỉ bộ nhớ thời gian chạy so với thời gian biên dịch)

Trong trường hợp của tôi, cuộc phỏng vấn qua điện thoại là một phần của quá trình kiểm tra kiến ​​thức C/C++ trực tuyến (ví dụ: thông qua BrainBench). Các kết quả kiểm tra trực tuyến sau đó được xác định nếu tôi sẽ được đưa ra cho các cuộc phỏng vấn tại chỗ, trong đó cũng bao gồm các bài kiểm tra phát triển phần mềm "thực hành" hơn.

YMMV. Rất nhiều phụ thuộc vào những gì bạn yêu cầu trên hồ sơ của bạn, là tốt.

Người phỏng vấn thường cố gắng giúp bạn bằng cách đưa ra gợi ý để họ có thể xem bạn có thể đến câu trả lời họ đang tìm kiếm hay không. Bên cạnh việc đánh giá kiến ​​thức của bạn, họ cũng muốn xem bạn nghĩ như thế nào. Thỉnh thoảng bạn có thể nhận được một người phỏng vấn tồi tàn không hữu ích cũng không tích cực. Điều quan trọng là phải tự tin vào khả năng của bạn và trung thực.

HTH và chúc may mắn!

2

Điều mà tôi bắt đầu tin là đôi khi có sự phân chia rõ ràng giữa các ứng cử viên thích lập trình như một sở thích so với những người coi đó là "công việc ban ngày".

Thậm chí nếu bạn không biết câu trả lời cho một câu hỏi cụ thể, bạn nên tìm câu trả lời trên < tài nguyên yêu thích của bạn> (ví dụ: StackOverflow).

Dựa trên kinh nghiệm của bạn, tôi không nghĩ người phỏng vấn sẽ mong đợi bạn sẽ nhận được mọi câu hỏi đúng. Họ có nhiều khả năng cố gắng quyết định xem bạn có "tiềm năng" hay không.

Vì vậy, hãy thư giãn và thử thưởng thức nó!