Desenvolvedor PHP

Estamos procurando desenvolvedores PHP full-stack com conhecimentos em orientação a objetos e MySQL.


@MediaPost

Nosso time atua com tecnologia em e-mail marketing há mais de 10 anos, desenvolvendo produtos e serviços para nossos clientes baseando-se em nossos valores essenciais, que são Excelência, Felicidade e Aprendizado.

Para fortalecer ainda mais nosso negócio e atendimento ao cliente, buscamos um Desenvolvedor para ajudar no desenvolvimento de plataforma própria, com muito back-end em PHP e também criação de interfaces no front-end. Ele fará parte do Departamento de Produtos focado em Tecnologia, além de ter a oportunidade de participar do desenvolvimento de novos produtos que estamos lançando, sempre utilizando PHP.

Em um ambiente jovem, acolhedor e totalmente conectado a essa geração, queremos pessoas inquietas, que buscam aprender (e muito) novas tecnologias e aplicá-las ao nosso negócio!


  • Para realizar esse teste, não é permitido a utilização de frameworks nem bibliotecas PHP de qualquer tipo;
  • Nos itens de JavaScript, você pode utilizar uma biblioteca (como jQuery) para te auxiliar nas requisições AJAX e na manipulação do DOM, por exemplo, mas você deve fazer o trabalho pesado;
  • A realização do Item Livre é obrigatória.

1. Introdução

  • Antes de começar o desenvolvimento, leia todas as etapas do processo para evitar retrabalho
  • Você deve criar um sistema básico para manuseio de contatos: relatório, criação, edição e exclusão
    • Cada contato possui um nome e pode ter 0, 1 ou mais email(s) e telefone(s)
    • Cada email possui um tipo: pessoal ou trabalho
    • Cada telefone possui um tipo: celular, residencial ou trabalho
  • Além da funcionalidade do sistema, iremos avaliar também a legibilidade dos códigos
  • Ressaltando: para os códigos PHP, é proibido utilizar classes e bibliotecas prontas

2. SQL

  • Crie as tabelas necessárias para lidar com contatos e envie o SQL da criação.
  • Seu sistema deve ter, no mínimo, as seguintes tabelas:
    • Contatos;
    • Relacionamento entre contato e email;
    • Tipos de email;
    • Relacionamento entre contato e telefone;
    • Tipos de telefone.
  • Não se esqueça que contatos podem ter zero, um ou mais emails e telefones de cada tipo.

3. PHP

  • Utilize sempre o PDO com prepared statements para executar todas as queries de seu sistema
  • Utilize orientação a objetos e o design pattern MVC para implementar o sistema

4. HTML + CSS

  • Através de algum framework front-end (por exemplo, o Bootstrap), crie uma página para exibir de uma maneira agradável os dados retornados pelo seu código PHP

5. AJAX + JSON

  • Ao invés de exibir os dados do contato diretamente no HTML, faça uma requisição AJAX para retornar um JSON com os dados dos contatos
  • Para facilitar a requisição, você pode usar alguma biblioteca JavaScript, como por exemplo o jQuery

6. Cadastro

  • Crie um botão Cadastrar para criar um novo contato através de um modal
  • Lembrando mais uma vez: contatos podem ter 0, 1 ou mais emails e telefones de qualquer tipo

7. JavaScript

  • Para cada contato, exiba apenas seu ID e nome e crie um botão Visualizar que deve abrir um modal com os dados completos do mesmo (todos os emails, telefones e seus respectivos tipos)

8. Paginação

  • Insira mais contatos na base e crie um sistema de paginação para o relatório

9. Busca

  • Crie um input de busca que irá realizar um AJAX buscando por todos os campos dos contatos: ID, nome, e-mail ou telefone.

10. Item livre

  • Exerça sua criatividade e implemente alguma funcionalidade nova nesse mini-sistema. Surpreenda-nos! (PS: esse item é obrigatório)

Para participar do processo seletivo, envie seu código em um arquivo compactado (.zip, .gz, .tar.gz) para rh@mediapost.com.br com o assunto Vaga - Desenvolvedor PHP.