Pular para o conteúdo principal

Certificação SCJA - curiosidades e dicas

No mês passado eu compartilhei algumas curiosidades e dicas sobre a certificação SCJP 6 (Sun Certified Java Programmer), e agora chegou a vez da SCJA (Sun Certified Java Associate).
A SCJA também não tem nenhum outro exame como pré-requisito. Mas diferente da SCJP, a SCJA não é pré-requisito para nenhum outro exame, o que diminui muito o interesse por essa certificação.
Mas eu acho uma certificação muito interessante, pois é mais voltada para iniciantes no mundo Java, normalmente estudantes ou profissionais que estão mudando de tecnologia, funcionando como uma porta de entrada para as demais certificações e acelerando o ingresso ao mercado Java. Ou para aqueles que não são ou não pretendem ser especialistas Java, mas estão envolvidos com a linguagem de alguma forma, normalmente gestores, líderes de equipes, analista de negócio, etc.
Mas para quem já possui a certificação SCJP, acho pouco interessante obter a certificação SCJA.
A SCJA é um pouco mais básica, mas com uma cobertura maior de assuntos, portanto além de conhecer o básico de programação Java, também será necessário conhecer o básico de UML, JavaME, EJB, RMI, Servlets, JSP, JNDI, Swing, entre outros.
É muito importante estar afiado nos conceitos básicos de UML e da linguagem Java, isso já irá garantir boa parte da prova. E para os demais assuntos precisa saber apenas alguns pontos teóricos.
Eu fiz a prova a algumas semanas e fui bem (84%). Como achei a prova bem fácil, pensei que iria melhor, mas da mesma forma que a SCJP as pegadinhas são muitas e precisa estar bem atento.
Vou mostrar algumas dicas que coletei durante meus estudos por objetivo:
Conceitos Fundamentais de Orientação a Objetos.
  • Ao analisar métodos implementados de uma interface, tenha certeza de ver o modificador public, pois por default os métodos da interface são públicos.
  • Uma classe extende (extends) outra classe, implementa (implements) uma interface. Mas uma interface extende (extends) outras interfaces.
  • Classes abstratas podem ter construtores, enquanto interfaces não podem.
  • Uma classe final não pode ser extendida, portanto não pode ser abstrata.
Representação UML de Conceitos de Orientação a Objetos.
  • Java não permite herança multipla, portanto fique atento para marcar um diagrama com essa caracteristica como inválido.
  • Uma interface também pode ser representada pela notação pirulito (lollipop).
Implementação Java de Conceitos de Orientação a Objetos.
  • Enumerations não podem conter métodos abstratos e não podem ser definidos dentro de métodos.
  • Um método abstrato não pode ser declarado como final, privado ou estático.
  • Variáveis locais não possuem valores default, portanto precisam ser inicializadas antes do uso.
  • Não confundir o atributo estático length do array com o método length() da classe String.
  • Conhecer os conceitos de encapsulamento e polimorfismo.
  • Conhecer a ordem de execução dos construtores. E a ordem entre construtores, blocos de código e blocos estáticos.
Projeto e Implementação de Algoritmos.
  • A variável de iteração do laço for-each precisa ser declarada dentro da instrução.
  • Qualquer uma das três seções do laço for podem ser omitidas, ex: for( ; ; ) {} // laço infinito
  • O corpo do laço while não pode não ser executado, ex: while(false){} // erro compilação
  • No switch, a clausula default pode vir em qualquer posição.
  • Pode esperar muitas questões sobre a classe String, esteja certo de conhecer cada método mencionado no objetivo.
  • Lembre-se de analisar o escopo de uma variável declarada dentro de um for, while, método, etc.
  • Conhecer as diferenças entre os operadores de incremente pós-fixado e pre-fixado.
Fundamentos de Desenvolvimento Java.
  • Em um arquivo fonte pode haver apenas uma classe pública e o nome do arquivo deve bater com essa classe.
  • Lembre-se da ordem das instruções de um código fonte. Primeiro package, imports e por fim class.
  • Conheça os caminhos para configurar o classpath através dos comandos javac e java.
Tecnologias Java de Plataforma e Integração.
  • Aplicações JavaME desenvolvidas para um dispositivo não necessariamente funcionam em outros dispositivos.
  • JavaSE é incluida em todos ambientes JavaEE, portanto classes JavaSE funcionam em um ambiente JavaEE.
  • Para o JavaME, vá direto para a arquitetura, camadas e tipo de configuração.
  • Conheça exatamente os pacotes que contém as APIs JDBC, JMS, Servlet, RMI, etc.
Tecnologias Cliente.
  • Conhecer os seguintes comparativos:
Swing e AWT
Servlets e JSPs
RMI e Socket
Applet, MIDlet, Javascript e HTML

Tecnologias Servidor.
  • Conhecer em alto nível os tópicos de Web Services: SOAP, UDDI, WSDL e JAX-RPC.
  • Conhecer os componentes existentes de cada camada em uma aplicação JavaEE.
Faremos uma revisão teórica desses assuntos no novo minicurso Dicas para a certificação SCJA que acontecerá no dia 10/11/2009, terça das 19 às 22hs. E para finalizar, alguns links de simulados:
Abraço amigos javeiros e boa sorte.

Comentários

Postagens mais visitadas deste blog

10 reasons why we love JSF

1. One-slide technology: it's so simple that I can explain basic JSF with one slide. 2. Easy to extend: components, listeners, render kit, Events, Controller, etc. 3. Real-world adoption: JBoss, Exadel, Oracle, IBM, ... 4. Architecture model: you can choose between more than 100 different architecture. 5. Open-mind community: using JSF you are going to meet very interesting people. 6. We are using JSF the last 5 years and we found very good market for JSF in Brazil 7. Progress: look to JSf 1.1 to JSF 1.2, JSF 1.2 to JSF 2.0. People are working really hard! 8. Many professionals now available 9. It's a standard. It's JCP. Before complain, report and help! 10. Ed Burns, spec leader, is an old Globalcode community friend! EXTRA: My wife is specialist in JSF. She's my F1 for JSF :) Nice job JSF community! -Vinicius Senger

EJB 3: Uma evolução sob os conceitos do Hibernate e Spring

Definitivamente o modelo de componentização definido no Java EE 5 e 6 evoluiu e melhorou muito. Mas, sem dúvida muita dessa evolução se deve às pressões do Hibernate e Spring Framework. Estes dois últimos frameworks nasceram baseados no conceito de POJO, que nada mais é do que a concepção de um modelo de componentização baseado em classes Java sem as regras impostas pelo EJB (curioso, sem o EJB não existiria o Hibernate ou o Spring). A morte dos Entity Beans O Hibernate nasceu da idéia de promover um modelo de persistência mais simples que o proposto pelos EJBs do tipo Entity Beans definido na especificação EJB 2.x. Este foi o primeiro tipo de EJB a sofrer com a evasão de desenvolvedores com o surgimento deste framework e a conscientização sobre os problemas nos Entity Beans. A partir de um modelo baseado em JavaBeans e o uso do JDBC, o Hibernate usa a Reflection API para gerar os SQLs necessários para persistir o estado de beans em diversos banco de dados relacionais, além de defini...

O que é Lógica de programação?

Este é o segundo de uma série de posts voltados aos leitores do blog que estão dando início à carreira de desenvolvimento de software. O assunto de hoje é a lógica de programação. Para ler antes: Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados A lógica de programação é um pré-requisito para quem quer se tornar um desenvolvedor de software, independente da linguagem de programação que se pretende utilizar. Mas o que é de fato a Lógica de Programação e como saber se eu tenho esse pré-requisito? A lógica de programação nada mais é do que a organização coerente das instruções do programa para que seu objetivo seja alcançado. Para criar essa organização, instruções simples do programa, como mudar o valor de uma variável ou desenhar uma imagem na tela do computador, são interconectadas a estruturas lógicas que guiam o fluxo da execução do programa. Isso é muito próximo ao que usamos em nosso cotidiano para realizar atividad...

JavaOne Brasil, dicas para submissão de palestras

Não quero parecer pretensiosa dando dicas para submissão de palestras para o JavaOne Brasil, mas sim repassar os tantos conselhos e sugestões recebidas pelos vetaranos do JavaOne: Bruno Souza e Leonardo Galvão que revisaram dezenas de submissões para o JavaOne e ajudaram a aprovar tantas palestras, e também misturar um pouco da minha experiência na seleção de palestras nos eventos realizados pela Globalcode e SouJava . 10 anos de JavaOne: http://www.globalcode.com.br/noticias/Globalcode10AnosNoJavaOne Os palestrantes ganham a entrada! A submissão pode ser feita em português! O passo mais importante para ser aprovado como palestrante no JavaOne é sem dúvida nenhuma submeter pelo menos uma palestra. Então, independente de qualquer coisa, participe, arrisque, divulgue.  Mas, se quiser aumentar as suas chances...   1) Leve a sério: peça para amigos fazerem uma leitura crítica do texto, e claro uma boa revisão ortográfica. 2) Submissão de várias palestras ou variações do ...

NIO.2 do Java 7: uma nova API do Java para file system

Uma das novidades mais importantes e aguardadas do Java 7 foi a NIO.2, a nova API para a manipulação I/O com Java. A NIO.2, também conhecida como JSR 203 , disponibiliza um conjunto de novos componentes, projetados para melhorar caracterísiticas de I/O com Java como por exemplo: uma nova API para o acesso e manipulação de conteúdo do file system (sistema de arquivos); outra API para operações assíncronas com I/O; e a atualização da API para comunicação via sockets ( channel sockets ).   O Java, antes da versão 7, tratava a manipulação do sistema de arquivos de forma primitiva. O programador tinha de trabalhar com a classe File para representar arquivos e/ou diretórios, com um número escasso de funcionalidades. Uma operação simples como copiar um arquivo demandava um código relativamente grande. Outras funcionalidades triviais, como por exemplo o uso de links simbólicos, não eram suportadas. Esses são alguns dos motivos para justificar o uso de bibliotecas terceiras...

Facelets uma forma mais ágil para construção de telas – Parte I

A construção de telas ou camada de apresentação em um sistema MVC seja web ou desktop é uma tarefa complexa e de extrema importância. Nesse post vou comentar e mostrar algum exemplo do Facelets como solução para os desafios existentes nessa etapa especificamente para web. Com a web cada vez mais presente em nosso dia-a-dia, um fato é que com isso nossos usuários tornam-se mais exigentes em relação a usabilidade, agilidade, performance ou de uma forma bem resumida “o usuário espera uma navegação simples e agradável aonde uma determinado tarefa possa ser concluída em poucos passos e em um curto espaço de tempo”. Atender as expectativas em relação ao que o usuário espera com o que realmente ele precisa, definir uma estrutura flexível a mudanças sem engessar o desenvolvimento, acessibilidade, portabilidade em múltiplos navegadores, tudo isso e muito mais, num prazo que quase sempre é apertado. Um outro ponto fundamental é manter o time motivado e produtivo em um ambiente que favoreça a...