프로그래머를 위한 작업이 포함된 웹사이트
컬렉션에 있는 거의 모든 리소스는 영어로 되어 있으므로 코딩 문제와 퍼즐 해결을 연습할 수 있을 뿐만 아니라 프로그래밍에서 영어를 사용하는 추가 연습을 얻을 수 있는 기회도 갖게 됩니다 .-
프로그래머를 위한 작업이 포함된 가장 인기 있는 영어 리소스 중 하나입니다. 여기에서는 다양한 수준의 복잡성을 지닌 200개 이상의 작업을 찾을 수 있으며, 이는 사용 가능한 10가지 프로그래밍 언어(Java 포함) 중 하나를 사용하여 온라인 사이트에서 직접 해결할 수 있습니다.
-
프로그래밍 프락시스(Programming Praxis)는 프로그래머를 위한 다양하고 흥미롭고 가장 중요한 관련 작업을 정기적으로 게시하는 인기 블로그입니다. 다양한 프로그래밍 언어에 공통적으로 적용됩니다. 이 과제는 코더가 기술의 최신 변화와 실제로 프로그래밍에 대한 접근 방식을 따라잡을 수 있도록 고안되었습니다.
-
TopCoder는 다양한 문제를 개발하고 해결하는 것을 좋아하는 활발한 프로그래머 커뮤니티입니다. 새로운 과제는 정기적으로 게시되며, 성공적인 솔루션은 HR을 연습하고 향상시킬 수 있는 기회를 제공할 뿐만 아니라 상금도 받게 됩니다.
-
CodeKata는 유명한 책 Pragmatic Programmer("The Pragmatic Programmer. The Path from Apprentice to Master")의 저자 중 한 명인 Dave Thomas가 발명한 프로그래머를 위한 매우 독창적이고 재치 있는 문제가 많이 포함된 블로그입니다. CodeKata 웹사이트의 문제는 다양하며, 솔루션은 실제 프로그래밍 작업과 관련이 있습니다.
-
ACIP/ICPC를 위한 Peking University JudgeOnline은 다양한 대회 및 대회의 프로그래머를 위한 작업이 포함된 Peking University의 페이지입니다. 사이트는 정기적으로 업데이트되며 문제는 실시간으로 해결될 수 있으며 북경대학교 전문가 위원회에서 솔루션을 평가합니다.
-
심각하고 사소하지 않은 작업을 수행하는 또 다른 오래된 잘 알려진 사이트입니다. “프로젝트 오일러(Project Euler)는 해결하기 위해 수학에 대한 지식 이상의 것을 요구하는 복잡한 수학 및 프로그래밍 문제의 모음입니다. 문제의 복잡성은 다양하며 접근 방식은 귀납적 연쇄 학습을 기반으로 합니다. 즉, 하나의 문제를 해결하면 이전에는 이해할 수 없었던 다른 문제를 해결할 수 있는 새로운 개념을 발견하게 될 것입니다.”라고 리소스 작성자는 말합니다.
-
Daily WTF는 BYOC(Bring Your Own Code) 원칙에 따라 운영되는 또 다른 인기 있는 프로그래밍 커뮤니티입니다. 즉, 개발자가 다양한 원래 문제를 해결하기 위해 자신의 소스 코드를 공유한다는 의미입니다. "BYOC의 목적은 간단합니다. 소프트웨어 개발자로서 일반적이고 지루한 문제보다 조금 더 흥미로운 문제를 해결하여 프로그래밍 기술을 향상할 수 있는 기회를 제공하는 것입니다."라고 사이트는 말합니다.
-
Google, Facebook 등의 회사에서 기술 인터뷰를 진행하는 동안 전문가의 기술을 테스트하는 데 사용되는 알고리즘 작업이 포함된 우수한 러시아어 사이트입니다. 다양한 난이도의 원래 문제를 포함하여 많은 문제가 제시되어 있습니다.
-
"미친 프로그래머들이 명성과 멋진 상을 놓고 경쟁하는" 유명한 작가의 사이트입니다. 대회는 1년에 1~2회 개최되며, 리소스 메인 페이지에 저명한 프로그래머의 이름이 게재되어 유망한 고용주의 관심을 끌고 있습니다.
-
자동 검사 시스템을 갖춘 프로그래밍 문제에 대한 가장 큰 러시아어 아카이브 중 하나입니다. 아카이브 작업의 주요 소스는 우랄 연방 대학교, 우랄 챔피언십 및 기타 지역 프로그래밍 이벤트의 대회입니다. Timus Online Judge를 사용하면 Ural Federal University에서 정기적으로 개최되는 대부분의 대회의 온라인 버전에 참가할 수도 있습니다.
5가지 흥미로운 작업
빨리 시작하고 싶은 사람들을 위한 몇 가지 흥미로운 퍼즐을 소개합니다.-
스티브 잡스의 블렌더 수수께끼
과제: 당신은 니켈 크기로 줄어들어 믹서기에 던져졌습니다. 체중이 감소하여 신체 밀도가 동일하게 유지됩니다. 60초 후에 블레이드가 회전하기 시작합니다. 당신의 행동은?
이는 Apple의 창립자인 Steve Jobs와 관련된 고전적인 작업입니다. 1997년 잡스가 애플로 돌아왔을 때 그는 회사의 모든 직원을 개인적으로 인터뷰했고 이 작업을 첫 번째 테스트 중 하나로 사용했습니다.
해결책:
У данной задачи больше одного решения, так 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.
-
Деньги в карманах и религия.
Интересно составленная задача на нахождение алгоритма.
문제: 한 남자가 주머니에 돈을 가지고 있는데 그 총액은 90~95달러입니다. 도중에 그는 여러 사원을 방문합니다. 그는 사찰에 들어가자마자 돈이 두 배로 늘어나 각 사찰에 100달러를 기부하게 된다. 그 결과 마지막 절을 방문한 후 그의 주머니는 텅 비게 된다. 이제 문제는 그가 처음에 얼마나 많은 돈을 가지고 있었고 얼마나 많은 사원을 방문했습니까?
해결책:
우리는 마지막 사원부터 세기를 시작합니다.
마지막 사원을 방문한 후 (1) 돈이 0 남았으므로 => (0 + 100) / 2 = 50. 마지막 사원을 방문하기 전에 그는 50달러를 가지고 있었습니다.
이전 사원(2)을 방문하기 전에는 (50 + 100) / 2 = 75였습니다.
이전 사원(3)을 방문하기 전에는 (75 + 100) / 2 = 87.5였습니다.
이전 사원(4)을 방문하기 전에는 (87.5 + 100) / 2 = 93.75였습니다.
이전 사원(5)을 방문하기 전에는 (93.75 + 100) / 2 = 96.875 - 금액이 초기 조건을 초과합니다.
답: 그 사람은 원래 $93.75를 가지고 있었고 4개의 사원을 방문했습니다. -
현장에서 발생한 사건입니다.
그리고 마지막으로 또 다른 오래된 고전, 아코디언과 같은 논리적 사고 문제라고 할 수도 있습니다.
문제: 밀밭에서 죽은 사람이 발견되었습니다. 그는 성냥을 손에 꼭 쥐고 있었습니다. 그 사람은 왜 죽었나요?
해결책:
그 남자는 동료 승객 3명과 함께 비행기를 타고 있었습니다. 엔진이 멈추고 비행기가 추락하기 시작했습니다. 남자들은 그들 중 4명을 위한 낙하산이 3개밖에 없다는 것을 발견하고 성냥을 당기기 시작했습니다. 그들 중 한 명은 짧은 것을 꺼내 낙하산 없이 강제로 뛰어내렸습니다.
GO TO FULL VERSION