Sites com tarefas para programadores
Quase todos os recursos da coleção estão em inglês, então você terá a oportunidade não apenas de praticar a resolução de problemas e quebra-cabeças de codificação, mas também de obter prática adicional no uso do inglês na programação.-
Um dos recursos mais populares em inglês com tarefas para programadores. Nele você encontra mais de 200 tarefas de diversos níveis de complexidade, que podem ser resolvidas diretamente no site online usando uma das 10 linguagens de programação disponíveis (incluindo Java).
-
Programming Praxis é um blog popular que publica regularmente várias tarefas interessantes e, o mais importante, relevantes para programadores. Comum para uma variedade de linguagens de programação. Os desafios são projetados para ajudar os programadores a se atualizarem com as últimas mudanças na tecnologia e nas abordagens de programação na prática.
-
TopCoder é uma comunidade ativa de programadores que adoram desenvolver e resolver diversos problemas. Novas tarefas são publicadas regularmente, cuja solução bem-sucedida não só proporcionará uma oportunidade de praticar e aumentar o seu RH, mas também de receber prêmios em dinheiro.
-
CodeKata é um blog com muitos problemas originais e espirituosos para programadores, inventado por Dave Thomas, um dos autores do famoso livro Pragmatic Programmer (“The Pragmatic Programmer. The Path from Apprentice to Master”). Os problemas no site CodeKata são diversos e as soluções são relevantes para o trabalho real de programação.
-
Juiz da Universidade de PequimOnline para ACIP/ICPC
Juiz Online da Universidade de Pequim para ACIP/ICPC é uma página da Universidade de Pequim que contém tarefas para programadores de diversas competições e competições. O site é atualizado regularmente, os problemas podem ser resolvidos em tempo real e as soluções são avaliadas por uma comissão de especialistas da Universidade de Pequim.
-
Outro site antigo e conhecido com tarefas sérias e não triviais. “O Projeto Euler é uma coleção de problemas matemáticos e de programação complexos que exigem mais do que apenas conhecimento de matemática para serem resolvidos. Os problemas variam em complexidade e a abordagem é baseada na aprendizagem em cadeia indutiva. Ou seja, tendo resolvido um problema, você descobrirá um novo conceito que lhe permitirá resolver outros problemas que antes eram inacessíveis à compreensão”, afirmam os criadores do recurso.
-
O Daily WTF é outra comunidade de programação popular que opera com base no princípio Traga seu próprio código (BYOC), o que significa que os desenvolvedores compartilham seu próprio código-fonte para resolver vários problemas originais. “O objetivo do BYOC é simples: fornecer a você, como desenvolvedor de software, a oportunidade de melhorar suas habilidades de programação resolvendo um problema que é um pouco mais interessante do que as coisas chatas e comuns”, diz o site.
-
Um excelente site em russo com tarefas algorítmicas que são utilizadas para testar as habilidades de especialistas durante entrevistas técnicas em empresas como Google, Facebook e outras. São muitos os problemas apresentados, inclusive originais, de diversos níveis de dificuldade.
-
Concursos de programação de Al Zimmermann
Site de um autor conhecido onde “programadores malucos competem por fama e prêmios incríveis”. As competições são realizadas uma ou duas vezes por ano, e os nomes dos programadores ilustres são publicados na página principal do recurso, o que certamente atrai o interesse de empregadores promissores.
-
Um dos maiores arquivos de problemas de programação em russo com sistema de verificação automática. A principal fonte de tarefas do arquivo são as competições da Universidade Federal dos Urais, os Campeonatos dos Urais e outros eventos de programação regional. O Timus Online Judge também permite que você participe de versões online da maioria das competições que acontecem regularmente na Universidade Federal dos Urais.
5 tarefas interessantes
Aqui estão alguns quebra-cabeças interessantes para quem mal pode esperar para começar.-
Enigma do liquidificador de Steve Jobs
Desafio: Você é reduzido ao tamanho de uma moeda de cinco centavos e jogado no liquidificador. Seu peso diminuiu para que a densidade do seu corpo permaneça a mesma. As lâminas começarão a girar após 60 segundos. Suas ações?
Esta é uma tarefa clássica geralmente associada a Steve Jobs, o fundador da Apple. Quando Jobs retornou à Apple em 1997, entrevistou pessoalmente todos os funcionários da empresa e usou essa tarefa como um de seus primeiros testes.
Solução:
У данной задачи больше одного решения, так 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.
-
Деньги в карманах и религия.
Интересно составленная задача на нахождение алгоритма.
Problema: Um homem tem dinheiro no bolso, cujo valor total varia de 90 a 95 dólares. Ao longo do caminho ele visita vários templos. Assim que ele entra em um templo, seu dinheiro dobra e ele acaba doando US$ 100 para cada templo. Como resultado, seu bolso fica vazio após visitar o último templo. Agora a questão é: quanto dinheiro ele tinha inicialmente e quantos templos visitou?
Solução:
Começamos a contar a partir do último templo:
Depois de visitar o último templo (1) ele tinha 0 dinheiro sobrando, então => (0 + 100) / 2 = 50. Ele tinha 50 dólares antes de visitar o último templo
Antes de visitar o templo anterior (2), ele tinha (50 + 100) / 2 = 75.
Antes de visitar o templo anterior (3), ele tinha (75 + 100) / 2 = 87,5.
Antes de visitar o templo anterior (4), ele tinha (87,5 + 100) / 2 = 93,75.
Antes de visitar o templo anterior (5), ele tem (93,75 + 100) / 2 = 96,875 - o valor supera as condições iniciais.
Resposta: A pessoa originalmente tinha US$ 93,75 e visitou 4 templos. -
Um incidente no campo.
E, finalmente, outro velho clássico, pode-se até dizer um problema de pensamento lógico semelhante a um acordeão.
Problema: Um homem morto foi encontrado num campo de trigo. Ele segurou o fósforo com força nas mãos. Por que a pessoa morreu?
Solução:
O homem estava voando em um avião com três passageiros. O motor morreu e o avião começou a cair. Os homens descobriram que havia apenas três pára-quedas para quatro deles e começaram a puxar fósforos. Um deles puxou um baixinho e foi forçado a pular sem pára-quedas.
GO TO FULL VERSION