Thứ Năm, ngày 30 tháng 5 năm 2013

Câu hỏi phỏng vấn lập trình viên

Các thuật toán

1. Bạn có thể thảo luận về các đặc tính của các thuật toán sắp xếp khác nhau như phân loại bong bóng, đống sắp xếp, hợp nhất phân loại, sắp xếp nhanh chóng, băm sắp xếp? Khi bạn muốn một trong số họ qua khác không?

2. có nghĩa là gì cho một thuật toán sắp xếp được ổn định?

3. Những loại thuật toán tìm kiếm có sẵn để tìm kiếm dữ liệu được sắp xếp?

4. Làm thế nào để một tác phẩm hashtable?

5. Mà một trong những bạn có nghĩ rằng sẽ thực hiện nhanh hơn?

* Sắp xếp 1.000.000 Strings bằng cách sử dụng bộ sưu tập API trong Java, hoặc C + + sử dụng STL?

* Một tìm kiếm nhị phân trên 1.000.000 Strings trong Java? Hoặc một tìm kiếm nhị phân của 1.000.000 chuỗi trong C + +? (STL)

* Một tra cứu của một khóa String trong một HashMap Java, hoặc tra cứu một của một khoá chuỗi trong một HashMap STL? STL hiện có một HashMap thực hiện ở nơi đầu tiên? Bản đồ triển khai những gì có sẵn trong STL? (Chúng tôi không chỉ nói chuyện với Visual C + +)

* Để giải quyết vấn đề trên (lưu trữ, phân loại 1.000.000 dây), loại lớp học (hoặc khung) bạn sẽ sử dụng trong Java và C + +? chống và thuận của họ là gì? Java như thế nào và nó so sánh với các thư viện C + + đối với các khuôn khổ?

C Style Strings:

1. Tìm một chuỗi con bên trong một chuỗi.

2. Tìm một chuỗi 4 byte bên trong một chuỗi. (Thay vì so sánh byte hay ký tự, có thể bây giờ bạn so sánh như là số nguyên 32 bit Bạn sẽ làm gì để thực hiện chức năng của bạn để được cầm tay trên 16,32, 64 kiến trúc bit??)

3. Tìm và thay thế một chuỗi con bên trong một chuỗi với chuỗi khác.

* Sử dụng lưu trữ thứ cấp.

* Không sử dụng bất kỳ thiết bị lưu trữ, giả * char hiện có không gian để chứa các chuỗi cuối cùng. (Hoặc nó không và bạn cần phải bảo vệ cho điều đó.)

* Điều gì sẽ xảy ra khi chuỗi để tìm chuỗi ngắn hơn để thay thế với. Điều gì xảy ra nếu nó được lâu hơn.

4. Đảo ngược nội dung của chuỗi.

* Sử dụng thêm lưu trữ.

* Không cần sử dụng thêm dung lượng (tại chỗ).

5. Đảo ngược những lời của chuỗi.

* Sử dụng thêm lưu trữ.

* Không sử dụng lưu trữ thêm.

6. Làm thế nào để bạn đi về giải quyết vấn đề trên trong Java? sự khác biệt trong việc xử lý chuỗi trong C là gì, C + + và Java. Những tùy chọn có sẵn? những khuyết điểm và thuận là gì?

Mảng

1. Làm thế nào để bạn kê khai, cấp phát 2-D và 3-D mảng trong C? tùy chọn có thể là gì?

2. Làm thế nào để bạn kê khai, cấp phát 2-D và các mảng 3-D trong Java? (Hoặc, như vậy là có điều là 2-D, mảng 3-D trong Java ở nơi đầu tiên?) Tùy chọn có thể là gì?

Cấu trúc dữ liệu

1. Danh sách liên kết là gì (đơn, kép), cây, que, stack, bản đồ, hashtable? Trong Java, nếu bạn muốn phím bản đồ chuỗi giá trị chuỗi, mà lớp học nổi tiếng thực hiện để phù hợp với mục đích này? Những gì bạn sẽ sử dụng, nếu bạn muốn truy cập các phím được sắp xếp theo thứ tự?

2. Làm thế nào để bạn phát hiện rằng một danh sách liên kết là hình tròn?

3. Làm thế nào để bạn đi qua một cây theo thứ tự đầu tiên chiều sâu?

4. Có cây sau đây: Root là 1, theo đó, lại là 2 nút, nút bên phải là 3. Dưới 2, có 4 và 5. Dưới 3, có 6 và 7. các thuật toán để có thể in chúng theo thứ tự 1,2,3,4,5,6,7 là gì?

Lập trình hướng đối tượng

1. Thừa kế, Tóm lược, đa hình là gì? Cho ví dụ để minh họa làm thế nào chúng rất hữu ích. Trong C + + và / hoặc ngôn ngữ Java gì cú pháp và cấu trúc giúp thực hiện các khái niệm này?

* Một constructor là gì? một destructor trong C + + là gì?

* Liệu Java có một destructor?

* Tại sao chúng ta tuyên bố destructors được ảo trong C + +?

* Thế nào là tư nhân, bảo vệ, công bổ cho các thành viên lớp học? Trong Java, mặc định là gì? (Không có quy định bổ tác động là gì??)

* Thế nào là "cuối cùng" được sử dụng cho như trong MyClass lớp cuối cùng trong Java?

* Tại sao C # có một ghi đè từ khóa để ghi đè lên chức năng ảo như Java, nơi không có nó?

2. Tại sao cuối cùng java.lang.String?

3. Khi bạn sẽ ghi đè lên bằng () phương pháp?

4. Khi bạn sẽ ghi đè lên hashCode () phương pháp? Những gì người khác bạn sẽ làm gì nếu bạn ghi đè lên hashCode ()?

5. con trỏ tự động là gì? con trỏ thông minh là gì? Bạn đã thấy chúng trong hành động? Trường hợp là họ đã sử dụng?

6. Là Windows API hướng đối tượng? Trong những cách đó là, những gì nó không phải là cách?
Multi-Threading

1. Làm thế nào là đa luồng có lợi? chúng ta làm gì có được ra khỏi nó? những cạm bẫy và nguy hiểm chúng ta đang phải đối mặt với khi chúng ta xây dựng hệ thống đa luồng là gì?

2. Trong Java, những gì các yếu tố ngôn ngữ cơ bản có sẵn để hỗ trợ đa luồng?

3. Những gì được đồng bộ, chờ đợi, thông báo?

4. Làm thế nào là notifyAll () khác với thông báo ()?

5. một Semaphore là gì?

6. một mục quan trọng là gì?

7. một Mutex là gì?

8. InterlockedIncrement là gì?

9. Bạn có thể xin vui lòng thực hiện một Semaphore trong Java?

10. Có 2 chủ đề. Bạn muốn những 2 đề để làm một số công việc và sau đó đạt đến một điểm nhất định nhưng không tiến hành cho đến khi thread khác cũng đạt đến một điểm nhất định. Làm thế nào để bạn thực hiện điều này trong Java? Làm thế nào để 2 đề chờ đợi cho nhau? Một khi họ đạt được điểm nhất định, làm thế nào họ sẽ biết khi nào họ có thể tiến hành cả hai?

11. Có một số những yếu tố được sắp xếp. Giả sử rằng chi phí của thread liên lạc là không đáng kể so với chi phí truy cập vào các yếu tố này, làm thế nào chúng ta có thể thiết kế một thuật toán đa luồng để tìm kiếm một giá trị trong vòng dữ liệu này được sắp xếp đặt?

Một câu hỏi:

Trong một hệ thống đa luồng, giả sử rằng có 1 nhà văn mà sửa đổi các nội dung của một mảng số nguyên. Có nhiều độc giả người chụp những bức ảnh phù hợp của mảng này sử dụng. Nếu định nghĩa nhà văn là như dưới đây, những gì được thực hiện sẽ được đọc như thế nào?

Writer: khai báo int c = 0; biến toàn cầu vào đầu (bài đọc có thể thấy biến này).

c + +;

viết ();

c + +;

Giả sử rằng c + +; là một hoạt động nguyên tử.

Cơ sở dữ liệu SQL và

1. một khóa sơ cấp là gì?

2. một khóa thí sinh là gì?

3. một khóa duy nhất là gì?

4. Index là gì?

5. Chỉ số duy nhất là gì?

6. Cluster Index là gì?

7. Thế nào là ACID tài sản?

8. một giao dịch là gì?

9. Làm thế nào để bạn bắt đầu một giao dịch, làm thế nào để bạn kết thúc nó?

10. 2 giai đoạn cam kết là gì? Khi nó là cần thiết?

11. DDL là gì, DML là những gì?

12. Điều gì thường được sử dụng mức cô lập? Tên của họ? Mục đích của họ?

13. Làm thế nào để READ_UNCOMMITED khác biệt so với READ_COMMITED? Có sự khác nhau giữa cơ sở dữ liệu lớn có liên quan đến mức cô lập? Bạn có thể so sánh mức độ READ_COMMITTED cô lập của Oracle so với DB2 hay SQL Server?

14. Khi bạn sẽ sử dụng READ_UNCOMMITED? READ_COMMITTED? REPEATABLE_READ? SERIALIZEABLE_READ? những khuyết điểm và thuận là gì?

15. một khóa chia sẻ là gì? một khóa độc quyền là gì? Khi một cơ sở dữ liệu sẽ có được những ổ khóa?

16. Có một CHỨC (ID, NAME, MANAGER_ID) bảng. MANAGER_ID điểm đến cột ID của cùng một bảng. Cho một tên người quản lý (giả sử ID là duy nhất và TÊN là duy nhất), loại truy vấn SQL bạn sẽ viết để lấy tất cả các nhân viên trực tiếp quản lý bởi người quản lý này? truy vấn để có được nhân viên 2 cấp xuống là gì? Có cách nào để viết một truy vấn để có được nhân viên N cấp xuống? Có một cách khác để tổ chức bảng này (cột khác nhau?) Tổ chức các loại cơ cấu cây?

17. một View là gì? Làm thế nào là hữu ích Xem?

18. một Trigger là gì? Làm thế nào là hữu ích Trigger?

19. Thế nào là một thủ tục lưu trữ? Làm thế nào là một Thủ tục lưu trữ hữu ích?

20. Thế nào là một phụ chọn truy vấn?

21. Thế nào là một phụ tương quan lựa chọn?

2 nhận xét:

  1. bác cho em xin cái bảng tiếng anh với, bản tiếng Việt đọc ko hiểu gì á :(
    mong dc giúp đỡ!

    Trả lờiXóa
  2. Tác giả GG translate 100% rồi =)) Cho xin link nguồn English version đi bác ơi

    Trả lờiXóa