Từ cơ thể đầy đủ từ bài viết của Steve Yegge,
Thí sinh nên biết bit và byte là gì. Họ sẽ có thể đếm trong nhị phân; ví dụ, họ sẽ có thể cho bạn biết 2 ^ 5 hoặc 2 ^ 10 là số thập phân. Họ không nên nhìn chằm chằm vào bạn khi bạn hỏi với 2 ^ 16 là. Đó là một con số đặc biệt. Họ nên biết điều đó.
Tôi đã bị ném ra khỏi bit bạn trích dẫn trong câu hỏi; Nghe có vẻ như một ứng cử viên có thể mô tả tầm quan trọng của nó, nhưng trong bối cảnh anh ta nói rằng các ứng cử viên nên biết, ngoài đỉnh đầu của họ, chuyển đổi thập phân của 2 16 là gì.
Điều quan trọng của điều này là vì con người chúng ta vẫn sử dụng số thập phân để đếm, đặc biệt là trong đầu (trong hầu hết các trường hợp), chúng ta cần biết khả năng thô của các khối byte phổ biến mà chúng ta sử dụng để lưu trữ, bộ nhớ hoặc thậm chí mã hóa ký tự. Vì một byte là 8 bit, phổ biến nhất là 8, 16, 24, 32 và 64.
Tại thời điểm hiện tại tôi sẽ nói 2 32 là khả năng xảy ra phổ biến nhất mà một nhà phát triển đề cập đến. Tôi nghi ngờ các nhà phát triển không biết rằng 2 32 là khoảng 4 tỷ (giá trị tối đa ~ 2 tỷ nếu được ký), vì điều đó có nghĩa là họ chưa bao giờ bận tâm tìm hiểu có bao nhiêu hồ sơ có thể được lưu trữ trong cơ sở dữ liệu của họ sử dụng 32 bit int
cho các khóa chính hoặc khi mã cũ sử dụng 32 bit int
cho ID, ngày, v.v. sẽ cần phải được cấu trúc lại thành 64 bit. 1
2 16 là tổng công suất của Java short
. (Tổng số từ -2 15 đến 2 15 -1)
Một nhà phát triển nên biết trái tim 8 bit là gì. Trong số nhiều cách sử dụng phổ biến là mã hóa ký tự ASCII.
Tôi hoàn toàn không mong muốn một lập trình viên biết 2 14 hoặc 2 18 , nhưng tôi có thể mong đợi rằng họ biết 2 16 vì đó là một số rất thường xảy ra và số đủ ngắn (65536) để dễ dàng ghi nhớ số đầy đủ.
1: Nếu bạn duyệt qua bảng xếp hạng của Call of Duty: MW2 hoặc iPhone Game Center, bạn sẽ thường thấy những kẻ gian lận ở đầu với giá trị điểm cao là 2.147.483.647, là 2 31 -1, giá trị tối đa của một số nguyên 2 32 đã ký .