domingo, 23 de maio de 2010

Exame Beta: 70-516 ou 72-516

Prestei o exame 70-516: Accessing Data with Microsoft .NET Framework 4, no período beta, aproveitando a gratuidade. Como já informei no post anterior, é possível relatar alguns detalhes sobre o exame. Este exame era composto por 85 questões que deviam ser respondidas em 175 minutos, ou seja, ~2 minutos por questão. Barbada hein? Quem encara? Claro que o exame quando for live (a versão oficial, a partir de Julho provavelmente) terá menos questões, suponho que orbite entre 45 e 55 e claro o tempo também reduzido para 2h ou um pouco mais. Algumas questões do exame beta não serão pontuados, existem apenas em caráter de teste, conforme informa o sistema de teste. Às vezes fico pensando no controle de qualidade das questões. Alguém compila os exemplos? Tem vezes que parece que foi digitado na própria questão.

Uma das mudanças principais que notei, é que antes de iniciar o cronômetro, tu pode escolher qual linguagem escolher, C# ou VB. Achei ótimo, pois antes as questões tinham código tanto em C# como em VB e sempre ficava atucanado pensando se tinha um pega-ratão na versão em VB, e para isso eu tomava um tempo adicional, mesmo quando a coisa era óbvia em C#. Um exemplo é a semântica do operador == para string.

Minha preparação foi baseado nos Skills measured da página do exame.

  • Modeling Data (20%)
  • Managing Connections and Context (18%)
  • Querying Data (22%)
  • Manipulating Data (22%)
  • Developing and Deploying Reliable Applications (18%)


Este guia foi fundamental, além de servir de guia de estudos, te dá uma confiança sobre teu conhecimento na tecnologia.

Visto o pouco tempo para preparação, já que o exame foi realizado no mesmo mês do lançamento do RTM do Visual Studio 2010, muita informação que obtive foi baseado na versão Beta 2 e RC do produto. Na versão 3.5 do exame, o Entity Framework já era coberto, porém representava 11% do conteúdo. A segunda versão deste framework incorpora muitas funcionalidades significantes. O Entity Framework 4 deve representar cerca de 60% do novo exame. Em teoria, pelo apresentado na página do exame, seria uma parte ainda maior.

Na hora do exame, calculei quanto tempo teria por questão, em média seriam 2 minutos. Tive que pegar um tempo do exame pra bolar uma estratégia, pois não tinha esta informação previamente. Sair fazendo não é uma boa. Também determinei alguns marcos, por exemplo, passada a primeira hora deveria ter passado pela questão tal. Como sabia que algumas questões não teria nem um palpite pra chutar, bolei um esquema pra responder boa parte das questões em 1 minuto, assim sobraria mais tempo para as questões que separam os homens dos guris. Acho 1 minutos tempo razoável para ler toda a questão e todas as alternativas e escolher 1 delas, quando manjo do assunto. Acho bom ler todas as alternativas. Quando desconheço o assunto, nem termino de ler a questão e marco pra responder no final. Achei a estratégia boa. No final, nem sobrou nem faltou tempo.

Durante o exame chegaram outros candidatos, pelo que vi para exames beta também. Um deles até precisou de menos tempo que eu, mas vou saber se o cara manja tudo ou chutou tudo? Não é bom se preocupar com influências externas também.

Assuntos abordados
  • Template default e POCO
  • Strings de conexão e providers
  • Consulta com LINQ-to-Entity
  • Lazy e eager loaging
  • XML e XPath
  • Acessar stored procedures e definir funções no EDM
  • ADO.NET Data Services
  • DataSet, DataReader
  • Veja mais assuntos na próxima seção...

Acesso a dados ou ADO.NET?

A principal constatação que tive durante o exame, foi o campo de atuação dos candidatos. Como a pouco revelei que me baseei na lista de conteúdos do exame, reforcei meus estudos em EF. Tratei de ficar forte nisso, geracão de código, change tracking, n-tier, entity context.

Mas toda a certeza acesso a dados é mais que isso. Configurar contas de usuário no banco de dados, configurar verbos HTTP no IIS, definir a segurança da solução, implantar o sistema em produção. Muito do exame foi em áreas que ficaram explicitamente fora da lista de conteúdos. Fiz uma busca por IIS na lista e nada vejo de requisito. E caiu muito de IIS. Mas caiu ADO.NET Data Services, e de forma bastante tímida aparece "configuring HTTP verbs". Seria melhor que fosse indicado ao candidato que isso é no IIS. Então candidato, seja bom configuração de IIS. Preste muita atenção nos tópicos relacionados à segurança. Terá uma experiência mais satisfatória se souber destes tópicos.

Entity Framework como a principal tecnologia de acesso a dados em .NET?

A Microsoft comenta que os exames são criados com o auxílio de especialistas no assunto, que trazem as técnicas mais utilizadas pelo mercado. Isto quer dizer que os assuntos abordados são lugar comum nas empresas de desenvolvimento de software. Mas o ponto a contestar aqui é que um número muito de reduzido de empresas desenvolvem com Entity Framework. Até o NHibernate atualmente deve deter uma parte maior de sistemas desenvolvidos. Podemos entender que EF é a direção da Microsoft daqui pra frente.
Parece que a Microsoft pretende estimular o uso desta tecnologia, porém o legado é muito vasto para considerar um movimento em massa das tecnologias dataset para EF. O profissional nunca será completo sem saber utilizar bem qualquer alternativa que o framework forneça. Não precisa ser fera em tudo, claro, mas um certificado TS desta área não atesta que o cara é o melhor para trabalhar em manutenção de um sistema legado ou portar uma aplicação do 3.5 para o 4.0. Aliás, acho ótimo essa versão de framework no nome do exame.

Como é prestar o exame?

Já tenho uma certa experiência nestes exames, então a única surpresa que tive foi a solicitação de conhecimento em IIS. Acho que foi mais cobrado IIS que Entity SQL. No geral foi bacana fazer o exame, acho que detenho boas habilidades principalmente em EF, que é a solução default pra acesso a dados. Mas o assunto é muito vasto, poderia incluir outros tópicos e também deixar alguns outros de fora, que são redundantes ou tem pouca importância.

Espero que este post oriente quem deseja prestar este exame quando for live. Quem quiser me consultar, fique a vontade.

4 comentários:

  1. Quando será o resultado?

    ResponderExcluir
  2. Estamos na fase mais complicada: a espera do resultado. Eu fico consultando o resultado no site da Prometric, mas até agora nada. Pode demorar até 8 semanas, ou em alguns casos até mais. Ou seja, início de julho, já devemos ter os resultados.

    Abraço

    ResponderExcluir
  3. Já recebeu o seu resultado?
    Abs

    ResponderExcluir
  4. Sim, Anônimo, e felizmente passei nos dois que prestei, WCF e Acessing Data. Estou no aguardo dos resultados, serão enviados por email.

    Abraço

    ResponderExcluir