Trang web có nhiệm vụ dành cho lập trình viên
Hầu hết tất cả tài nguyên trong bộ sưu tập đều bằng tiếng Anh, vì vậy bạn sẽ có cơ hội không chỉ thực hành giải các bài toán và câu đố về mã hóa mà còn được thực hành thêm cách sử dụng tiếng Anh trong lập trình.-
Một trong những tài nguyên tiếng Anh phổ biến nhất với các nhiệm vụ dành cho lập trình viên. Trên đó, bạn có thể tìm thấy hơn 200 nhiệm vụ với mức độ phức tạp khác nhau, có thể được giải quyết trực tiếp trên trang web trực tuyến bằng một trong 10 ngôn ngữ lập trình có sẵn (bao gồm cả Java).
-
Lập trình Praxis là một blog phổ biến thường xuyên xuất bản nhiều nhiệm vụ thú vị và quan trọng nhất là có liên quan dành cho các lập trình viên. Phổ biến cho một loạt các ngôn ngữ lập trình. Các thử thách được thiết kế để giúp các lập trình viên bắt kịp những thay đổi mới nhất về công nghệ và phương pháp lập trình trong thực tế.
-
TopCoder là một cộng đồng lập trình viên năng động, yêu thích phát triển và giải quyết nhiều vấn đề khác nhau. Các nhiệm vụ mới được xuất bản thường xuyên, giải pháp thành công sẽ không chỉ mang đến cơ hội rèn luyện và nâng cao nhân sự của bạn mà còn nhận được giải thưởng tiền mặt.
-
CodeKata là một blog có rất nhiều vấn đề khá độc đáo và hóm hỉnh dành cho lập trình viên, được sáng tạo bởi Dave Thomas, một trong những tác giả của cuốn sách nổi tiếng Pragmatic Programmer (“The Pragmatic Programmer. The Path from Apprentice to Master”). Các vấn đề trên trang web CodeKata rất đa dạng và giải pháp phù hợp với công việc lập trình thực tế.
-
Thẩm phán Đại học Bắc Kinh Trực tuyến cho ACIP/ICPC
Đại học Bắc Kinh JudgeOnline dành cho ACIP/ICPC là một trang của Đại học Bắc Kinh chứa các bài tập dành cho lập trình viên từ nhiều cuộc thi và cuộc thi khác nhau. Trang web được cập nhật thường xuyên, các vấn đề có thể được giải quyết trong thời gian thực và các giải pháp được đánh giá bởi ủy ban gồm các chuyên gia của Đại học Bắc Kinh.
-
Một trang web nổi tiếng cũ khác với các nhiệm vụ nghiêm túc và không hề tầm thường. “Dự án Euler là một tập hợp các bài toán lập trình và toán học phức tạp đòi hỏi nhiều kiến thức toán học hơn để giải. Các vấn đề có mức độ phức tạp khác nhau và cách tiếp cận dựa trên việc học chuỗi quy nạp. Nghĩa là, sau khi giải quyết được một vấn đề, bạn sẽ khám phá ra một khái niệm mới cho phép bạn giải quyết các vấn đề khác mà trước đây bạn không thể hiểu được,” những người tạo ra tài nguyên cho biết.
-
Daily WTF là một cộng đồng lập trình phổ biến khác hoạt động theo nguyên tắc Mang mã riêng của bạn (BYOC), nghĩa là các nhà phát triển chia sẻ mã nguồn của riêng họ để giải quyết nhiều vấn đề ban đầu khác nhau. Trang web cho biết: “Mục đích của BYOC rất đơn giản: mang đến cho bạn, với tư cách là một nhà phát triển phần mềm, cơ hội cải thiện kỹ năng lập trình của mình bằng cách giải quyết một vấn đề thú vị hơn một chút so với những vấn đề nhàm chán thông thường”.
-
Một trang web tiếng Nga xuất sắc với các nhiệm vụ thuật toán được sử dụng để kiểm tra kỹ năng của các chuyên gia trong các cuộc phỏng vấn kỹ thuật tại các công ty như Google, Facebook và các công ty khác. Có rất nhiều vấn đề được trình bày, bao gồm cả những vấn đề ban đầu, với mức độ khó khác nhau.
-
Cuộc thi lập trình của Al Zimmermann
Trang web của một tác giả nổi tiếng, nơi “các lập trình viên điên rồ cạnh tranh để giành lấy danh tiếng và những giải thưởng hấp dẫn”. Các cuộc thi được tổ chức một hoặc hai lần một năm và tên của các lập trình viên xuất sắc được công bố trên trang chính của tài nguyên, điều này chắc chắn thu hút sự quan tâm từ các nhà tuyển dụng đầy hứa hẹn.
-
Một trong những kho lưu trữ lớn nhất bằng tiếng Nga về các vấn đề lập trình với hệ thống kiểm tra tự động. Nguồn nhiệm vụ chính của kho lưu trữ là các cuộc thi tại Đại học Liên bang Ural, Giải vô địch Ural và các sự kiện lập trình khu vực khác. Timus Online Judge còn cho phép bạn tham gia phiên bản trực tuyến của hầu hết các cuộc thi thường xuyên diễn ra tại Đại học Liên bang Ural.
5 nhiệm vụ thú vị
Dưới đây là một số câu đố thú vị dành cho những ai nóng lòng muốn bắt đầu.-
Câu đố về máy xay sinh tố từ Steve Jobs
Thử thách: Bạn bị thu nhỏ lại kích thước bằng đồng xu và ném vào máy xay sinh tố. Cân nặng của bạn đã giảm nên mật độ cơ thể của bạn vẫn giữ nguyên. Các lưỡi dao sẽ bắt đầu quay sau 60 giây. Hành động của bạn?
Đây là một nhiệm vụ kinh điển thường gắn liền với Steve Jobs, người sáng lập Apple. Khi Jobs trở lại Apple vào năm 1997, ông đã đích thân phỏng vấn từng nhân viên tại công ty và coi nhiệm vụ này là một trong những thử nghiệm đầu tiên của mình.
Giải pháp:
У данной задачи больше одного решения, так How она служит для того, чтобы оценить креативность сотрудника, умение быстро находить выход из стрессовой ситуации и неординарно мыслить. Вот наиболее классический вариант решения: лечь How можно плотнее к днищу блендера, чтобы его лезвия крутorсь над вами.
-
Сколько людей было на конференции?
Задача: На конференции каждый гость пожал руку всем остальным. Было 66 рукопожатий. Сколько человек было на научной конференции?
Другая классическая программистская задача из тех, которые часто дают на первых этапах технических собеседований.
Классическое решение:
Допустим, на конференции было n человек. Первый человек пожимает руку всем остальным: n-1 раз (n-1 человек). Второй человек пожимает руку всем остальным (но не первому, так How это уже было сделано): n-2 раза. 3-й человек пожимает руку всем остальным: n-3.
Таким образом, общее количество рукопожатий будет = (n-1) + (n-2) + (n-3) + …… 0;
= (n-1) * (n-1 + 1) / 2 = (n-1) * n / 2 = 66
= n ^ 2 -n = 132
= (n-12) (n + 11) = 0;
= n = 12 ИЛИ n = -11Вариант -11 исключен, поэтому ответ: 12 человек.
-
Бар и 25 стульев.
Еще одна классическая и весьма остроумная задачка, на этот раз посложнее.
Задача: Есть бар с 25-ю стульями, которые расположены в линию. Посетители этого бара — антисоциальные личности, поэтому, когда они заходят в бар, то всегда стараются найти место How можно дальше от остальных. Если постоянный посетитель заходит в бар и обнаруживает, что свободного места без соседства с кем-либо нет, он разворачивается и уходит. Владелец бара, естественно, хочет видеть можно больше посетителей. Владелец может указать место, на которое нужно сесть, только первому клиенту, тогда How все остальные сами выберут себе самое дальнее место от других. Предположим, что места пронумерованы от 1 до 25. Какое место должно быть занято первым?
Решение:
Первый человек должен сесть на стул 9 or 17 (из-за симметрии, не имеет значения, Howое именно из двух мест). Предположим, он выбирает место 9. Следующий человек выберет место 25, так How оно самое дальнее от места 9. Следующие два человека займут места 1 и 17. Следующие три займут 5, 13 и 21. Следующие шесть будут занимать стулья 3, 7, 11, 15, 19 и 23. Таким образом, в баре разместится максимум 13 человек, и никто не будет сидеть рядом с другим человеком. Если место, отличное от 9 or 17, будет выбрано первым, общее количество посетителей бара будет меньше 13.
-
Деньги в карманах и религия.
Интересно составленная задача на нахождение алгоритма.
Vấn đề: Một người đàn ông có tiền trong túi, tổng số tiền là từ 90 đến 95 đô la. Trên đường đi anh ghé thăm một số ngôi chùa. Ngay khi anh ta bước vào một ngôi chùa, số tiền của anh ta tăng gấp đôi và cuối cùng anh ta quyên góp 100 đô la cho mỗi ngôi chùa. Kết quả là túi của anh ta trở nên trống rỗng sau khi viếng thăm ngôi đền cuối cùng. Bây giờ câu hỏi là: ban đầu anh ta có bao nhiêu tiền và đã viếng thăm bao nhiêu ngôi chùa?
Giải pháp:
Chúng ta bắt đầu đếm từ ngôi đền cuối cùng:
Sau khi viếng thăm ngôi đền cuối cùng (1) anh ấy còn lại 0 tiền nên => (0 + 100) / 2 = 50. Anh ấy có 50 đô la trước khi đến thăm ngôi đền cuối cùng
Trước khi đến thăm ngôi chùa trước (2), anh ấy có (50 + 100) / 2 = 75.
Trước khi đến thăm ngôi chùa trước (3), anh ấy có (75 + 100) / 2 = 87,5.
Trước khi đến thăm ngôi chùa trước (4), anh ấy có (87,5 + 100) / 2 = 93,75.
Trước khi đến thăm ngôi chùa trước (5), anh ta có (93,75 + 100) / 2 = 96,875 - số tiền vượt quá điều kiện ban đầu.
Trả lời: Người này ban đầu có 93,75 USD và đã đến thăm 4 ngôi chùa. -
Một sự cố trên sân.
Và cuối cùng, một vấn đề cổ điển khác, người ta thậm chí có thể nói vấn đề tư duy logic giống như đàn accordion.
Vấn đề: Một người đàn ông chết được tìm thấy trên cánh đồng lúa mì. Anh nắm chặt que diêm trong tay. Tại sao người đó lại chết?
Giải pháp:
Người đàn ông đang bay trên máy bay cùng với ba hành khách. Động cơ ngừng hoạt động và máy bay bắt đầu rơi. Những người đàn ông phát hiện ra rằng chỉ có ba chiếc dù cho bốn người trong số họ và bắt đầu kéo diêm. Một người trong số họ rút ra một chiếc dù ngắn và buộc phải nhảy mà không có dù.
GO TO FULL VERSION