Một số câu hỏi phỏng vấn của Google dành cho IT:
1. Cho một danh sách liên kết đơn (simple linked list) hữu hạn. Có hai trường hợp: một là cuối danh sách trỏ về NULL, hai là trỏ về một phần tử đã gặp – tạo nên một vòng tròn trong danh sách.
Ví dụ trường hợp 1: A –> B –> C –> D –> NULL.
Ví dụ trường hợp 2: A –> B –> C –> D –> E –> F –> C.
Cho trước một con trỏ vào một danh sách liên kết đơn L nào đó, hữu hạn nhưng có thể có độ dài tùy ý. Làm thế nào để kiểm tra nhanh nhất nếu danh sách L thuộc trường hợp 1 hay trường hợp 2, với điều kiện là ta chỉ được dùng vài chục bytes bộ nhớ.
2. Cho một chuỗi ký tự s bao gồm nhiều từ. Viết một đoạn chương trình C đảo thứ tự các từ.
Ví dụ: với input là “this is a nice blog” thì output là “blog nice a is this“.
3. Cho hai dãy số đã xếp thứ tự tăng dần A và B, mỗi dãy có n phần tử. Xét tập hợp sau:
S = { A[i] + B[j] | 1
4. Chỉ với các phép tính cộng, trừ, nhân, chia, các hàm lượng giác, phép lũy thừa, và phép lấy căn, cùng với ba số 2, làm thế nào để viết một biểu thức định trị ra 2005? (Gợi ý: 2005 không có gì đặc biệt, số nguyên dương nào cũng được.)
5. Bụt, diêm vương, và Tèo đứng trước mặt bạn. Bụt và diêm vương cái gì cũng biết. Tèo thì cái biết cái không. Bụt luôn nói thật, diêm vương luôn nói dối. Với 3 câu hỏi có/không, mỗi câu chỉ hỏi một trong ba đối tượng, xác định ai là ai.
6. Cho a và b là các số nguyên dương, nguyên tố cùng nhau. Tìm công thức tính số nguyên lớn nhất không thể viết dưới dạng ax+by, trong đó x và y là các số nguyên không âm.
7. Cho hai sợi dây dài, làm bằng các vật liệu khác nhau, có mật độ vật chất khác nhau ở các điểm khác nhau của từng sợi. Cho biết mỗi sợi dây cháy trong đúng một giờ thì hết. Dùng hai sợi dây (và diêm) để đo 45 phút.
8. Cho hai hình lập phương. Ta phải gán các chữ số 0-9 (mỗi mặt một số) ra sao để có thể dùng hai hình lập phương biểu diễn được tất cả các ngày trong tháng.
9. Những điểm nào trên quả địa cầu (giả sử là đúng hình cầu) có tính chất sau đây: đi về phía Nam 1km, sau đó về phía Tây 1km, sau đó về phía Bắc 1km thì quay lại điểm cũ.
10. Cho một mảnh giấy hình chữ nhật với một lỗ hổng hình chữ nhật ở giữa.
Hỏi: Dùng dao cắt mảnh giấy một nhát như thế nào để có hai nửa có diện tích bằng nhau?
11. Có 500 cái cửa nằm dọc theo một hành lang đánh số từ 1 đến 100. Lúc đầu các cửa đều đóng. Có 500 người xếp hàng đi dọc hành lang. Anh thứ nhất mở tất cả các cửa; anh thứ hai chuyển trạng thái (mở thành đóng, đóng thành mở) các cửa 2, 4, 6, …; anh thứ ba chuyển trạng thái các cửa 3, 6, 9, …; cứ như vậy đến anh thứ 500 chuyển trạng thái cửa 500. Hỏi: cuối cùng có bao nhiêu cửa đóng?
12. Có hai căn phòng nằm cạnh nhau nhưng không thông nhau, và đứng bên này không thấy bên kia. Phòng 1 có ba cái đèn bóng tròn. Phòng 2 có ba công tắc của ba đèn ở phòng 1. Bạn là người lạ, được dẫn vào phòng 2 trước, được quyền nghịch ngợm tắt mở công tắc tùy ý. Sau đó bạn được sang phòng 1 kiểm tra đèn. Hỏi: nghịch thế nào ở phòng 2 để biết công tắc nào tương ứng với đèn nào?
0 nhận xét:
Đăng nhận xét