2008-10-07 69 views

Trả lời

27

Lập trình Socket

  • Sự khác nhau giữa UDP và TCP.
  • Sự khác biệt giữa ổ cắm không đồng bộ và đồng bộ.
  • Gói là gì.
  • Làm thế nào bạn xác định xem gói đã không đến không đúng định dạng.
  • Bạn xác định nơi một gói kết thúc và nơi một gói khác bắt đầu.
  • Cổng là gì.

Multi-Threading

  • đồng bộ gì nguyên thủy bạn có biết, nói sự khác biệt giữa chúng.
  • Thế nào là bế tắc và sống động là gì.
  • Điều kiện chủng tộc là gì.
  • Thuật ngữ 'không khóa' có nghĩa là gì.
  • Cách tốt nhất để chấm dứt chuỗi.
  • Tại sao bạn không nên sử dụng các chức năng TerminateThread-esque.
5
  • Tại sao một chương trình ổ cắm điển hình cần điều khiển nhiều luồng
  • Làm thế nào để bạn nói chuyện với bó của các kết nối mạng khác nhau cùng một lúc, từ cùng một quá trình/thread? Gợi ý: Ổ cắm không đồng bộ
  • Giải thích cách hoạt động của trình chuyển dữ liệu Internet? hoặc Giải thích cách một máy chủ web hoạt động? trả lời nó dựa trên các khái niệm lập trình socket, Gợi ý TCP Http vv ..
+2

"Giải thích cách hoạt động của Internet?" Trừ khi bạn đang thuê Vint Cerf, cái đó dường như quá rộng với tôi. –

+0

Innternnet hoạt động như thế nào? Internnet hoạt động như thế nào? Làm thế nào dữ liệu có được transfarred? –

+0

Ý tưởng cho rằng một chương trình socket điển hình cần đa luồng là vô nghĩa. Multiplexed I/O và multiprogramming được sử dụng rất thành công lâu trước khi đa luồng trở nên phổ biến. –

8

Một vài câu hỏi ví dụ:

  • Asynchronous I/O, một trong những cách tiếp cận là để đặt một câu hỏi mà khách hàng khác nhau có thể truy vấn máy chủ và có thể dẫn đến các điều kiện chủng tộc nếu được thực hiện qua nhiều luồng (ví dụ: lưu vào bộ nhớ cache của kết quả). Nếu người được phỏng vấn truy cập nhiều chủ đề, hãy đưa ra các điều kiện chủng tộc và xem liệu họ có đề cập đến I/O không đồng bộ như một tùy chọn hay không.
  • sự khác biệt giữa chết-lock và live-lock
  • Prototype một máy chủ web
  • Prototype một khách hàng web là gì
  • cổng phù du là gì; thay thế mô tả một ứng dụng tải trọng nhấn vào một máy chủ với 1000 yêu cầu mỗi giây nhưng sau vài giây dừng yêu cầu tới máy chủ; sau 2-4 phút, ứng dụng lại bắt đầu đánh máy chủ với 1000 yêu cầu.
  • Viết một thread-safe sản xuất/đệm tiêu dùng có thể được truy cập bởi một hoặc nhiều nhà sản xuất/tiêu dùng
  • sự khác biệt giữa client/server và p2p
  • Đây là mạng hơn là gì, nhưng nó là hữu ích để biết những gì xảy ra bên dưới các cuộc gọi socket: mô tả bắt tay TCP 3 chiều
  • Thuật toán của nagle là gì? Khi nào nó mong muốn? Làm thế nào bạn sẽ tắt chức năng này?
  • Biến thể Linux: khi viết một daemon khối xây dựng cơ bản (ví dụ: đánh lừa một đứa trẻ và giết cha mẹ, đóng stdin/stdout/stderr, v.v.)
  • Biến thể Windows: khi viết dịch vụ windows cơ bản là gì khu nhà.
  • Thiết kế giao thức để liên lạc giữa máy khách và máy chủ để gửi âm thanh/video. Làm thế nào để bạn mở rộng nó cho tính năng mới nhất/lớn nhất tiếp theo.
  • Cửa sổ TCP hoạt động như thế nào và tôi có thể làm gì để tối ưu hóa hiệu suất cho một ứng dụng thực hiện nhiều lần đọc lớn trên khắp các châu lục.
35

Là một nhà tuyển dụng, yêu thích câu hỏi mạng của tôi để hỏi là thế này:

Hãy tưởng tượng một người dùng ngồi ở một máy tính Ethernet kết nối . Anh ấy có một trình duyệt mở. Anh nhập "www.google.com" vào thanh địa chỉ và lần truy cập.

Bây giờ hãy cho tôi biết gói đầu tiên là xuất hiện trên Ethernet là gì.

câu trả lời có thể xảy ra (về tính đúng đắn thay đổi) bao gồm:

  • Tôi không biết.
  • Yêu cầu HTTP gói.
  • Gói TCP syn.
  • Một gói DNS yêu cầu.
  • Gói ARP.
  • Điều đó tùy thuộc.

Mỗi câu trả lời cho thấy điều gì đó về sự hiểu biết của người dùng về mạng nói chung và IP và TCP nói riêng. Các cuộc thảo luận tiếp theo có thể tiết lộ khối lượng về sự hiểu biết của họ. (Giả sử, tất nhiên, người hỏi có một số chuyên môn trong lĩnh vực này).

+6

câu hỏi thông minh. –

+0

thông minh, nó khá kết nối mọi thứ, khi khám phá. –

6

Bạn có hỏi vì bạn đã bị lôi vào để phỏng vấn một người sẽ ở trong nhóm của bạn không? Đặt các câu hỏi dựa trên các vấn đề thực tế mà bạn phải đối mặt trong các hoạt động hàng ngày của mình.Hãy nghĩ về lỗi cuối cùng bạn có liên quan đến lập trình socket và biến nó thành một câu hỏi phỏng vấn.

Lý thuyết rất hay, nhưng bạn muốn biết rằng người tham gia nhóm có kinh nghiệm trong chiến hào.

+0

bạn muốn giữ những kẻ chưa bao giờ nghe nói về deadlocks ra khỏi một phần của bạn của các chiến hào mặc dù. Đó là những câu hỏi này dành cho ... – Jimmy

+0

Tôi chưa bao giờ thấy ai đó ** thông minh ** mà không thể tăng tốc độ cơ bản về luồng & ổ cắm tương đối nhanh. –

+0

@ fuser fuser: Nó phụ thuộc vào tình hình. Nếu công ty của bạn sẽ đầu tư vào người mới được thuê, thì chỉ cần tập trung vào việc thuê người lập trình thông minh. Nếu bạn đang mang đến một người thực sự phải chạm đất, thì đó là vấn đề khác. – Gravity

0

câu hỏi Ổ cắm

  • một ổ cắm là gì?
  • Sự khác biệt giữa acceptconnect là gì?
  • Sự khác nhau giữa closeshutdown là gì?
  • Làm cách nào để bạn connect đến www.google.com không đồng bộ?

câu hỏi Multi-threading

  • a thread là gì và thế nào là nó khác nhau từ một quá trình?
  • Khi nào bạn có thể chọn sử dụng chuỗi trên một hệ thống CPU?
  • Bạn sẽ đo lường mức phí chuyển đổi ngữ cảnh giữa các chủ đề như thế nào?
  • Bạn sẽ tạo bảng băm an toàn MT như thế nào, đồng thời cho phép đồng thời tối đa?
-3
  • Đặt một số lợi thế và bất lợi của Ổ cắm Java.
  • Sự khác biệt giữa cá thể URL và cá thể URLConnection là gì?
  • Làm cách nào để tạo kết nối tới URL?
  • Ổ cắm trong mạng Java và RMI là gì?
  • Cần có thông tin gì để tạo Cổng TCP?
  • Hai lớp TCP Socket quan trọng là gì?
  • Khi MalformedURLException và UnknownHostException ném?
  • RMI hiện những gì đứng cho?
  • RMI là gì?
  • Sự khác biệt giữa các lớp File và RandomAccessFile là gì?
  • Giao diện nào phải được một đối tượng triển khai trước khi có thể ghi vào luồng dưới dạng đối tượng?
  • Giải thích giao diện cho các cổng địa phương
  • Hai lớp TCP Socket quan trọng là gì?
+0

Xin lỗi, nhưng một nửa trong số những câu hỏi đó chỉ là Java, trong khi nửa còn lại dường như không có ý nghĩa gì nhiều. – CodeCaster

+0

Xin lỗi. Tôi nghĩ chủ đề nằm trong ổ cắm java. Tôi không hiểu chủ đề. –

Các vấn đề liên quan