Páginas

Pesquisar este blog

domingo, 30 de agosto de 2009

Obtendo a SCJA

SCJA

A SCJA é uma certificação que tem como alvo, desenvolvedores iniciantes ou gerentes que desejam entender a tecnologia java como um todo. Ela aborda a tecnologia java como um todo. Aborda conhecimentos básicos de algorítimo, orientação objetos, uml, J2EE... abordando de uma maneira não profunda, porém cuidado, não quer dizer quem você deve apenas saber como criar uma variável, o teste inclui análise de código com várias pegadinhas.

Agora que sabemos um pouco mais sobre a SCJA, vou delatar os métodos que adotei, e que me tornaram capaz de obter esta certificação.

Aquisição do livro SCJA de Marcelo Castellani

http://www.submarino.com.br/busca?q=scja&dep=+&x=0&y=0

Este livro por si, não é suficiente para o êxito no teste, além disso você terá de consultar a documentação do Java.
API do java
o teste vai te cobrar um bom conhecimento. Ler o tutorial do J2ee e familiarizar-se com as tecnologias Java.

Algorítimo

Fazer pequenos programas, ajuda na assimilação dos objetivos da prova.

Uml

Considero este requisito, o mais fácil dentre todos os outros do exame, juntamente com a parte de algorítimo. O exame não se aprofunda muito neste assunto, basicamente você terá de saber como identificar, uma classe concreta, abstrata, um objeto, atributos públicos e privados, herança e alguma coisa a mais.

Após um bom estudo do material adquirido, siga para os simulados, eles ajudam bastante, pois com os mesmos você poderá identificar suas áreas fortes e fracas, e também acostumar com o estilo de questões da prova.

Books
http://www.amazon.com/Certified-Associate-Study-CX-310-019-Certification/dp/0071490035/ref=sr_1_1?ie=UTF8&s=books&qid=1251690396&sr=8-1
http://www.amazon.com/Certified-Associate-Study-Guide-CX-310-019/dp/1598729020/ref=sr_1_2?ie=UTF8&s=books&qid=1251690396&sr=8-2

Api Java
http://java.sun.com/j2se/1.5.0/docs/api/

Simulados
http://www.whizlabs.com/
http://www.javacertificationexams.com/scja-mock-exams.php
http://www.cafe4java.com/mockexams/scja/mock1/q1.php 
http://www.javabeat.net/cert/scja/mock-exam/
J2EE
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications/apmTOC.html
http://java.sun.com/javaee/5/docs/tutorial/doc/

Objetivos

Section 1: Fundamental Object-Oriented Concepts


  • Describe, compare, and contrast primitives (integer, floating point, boolean, and character), enumeration types, and objects.
  • Describe, compare, and contrast concrete classes, abstract classes, and interfaces, and how inheritance applies to them.
  • Describe, compare, and contrast class compositions, and associations (including multiplicity: (one-to-one, one-to-many, and many-to-many), and association navigation.
  • Describe information hiding (using private attributes and methods), encapsulation, and exposing object functionality using public methods; and describe the JavaBeans conventions for setter and getter methods.
  • Describe polymorphism as it applies to classes and interfaces, and describe and apply the "program to an interface" principle.


Section 2: UML Representation of Object-Oriented Concepts


  • Recognize the UML representation of classes, (including attributes and operations, abstract classes, and interfaces), the UML representation of inheritance (both implementation and interface), and the UML representation of class member visibility modifiers (-/private and +/public).
  • Recognize the UML representation of class associations, compositions, association multiplicity indicators, and association navigation indicators.


Section 3: Java Implementation of Object-Oriented Concepts


  • Notes: code examples may use the 'new' operator.
  • Develop code that uses primitives, enumeration types, and object references, and recognize literals of these types.
  • Develop code that declares concrete classes, abstract classes, and interfaces, code that supports implementation and interface inheritance, code that declares instance attributes and methods, and code that uses the Java access modifiers: private and public.
  • Develop code that implements simple class associations, code that implements multiplicity using arrays, and recognize code that implements compositions as opposed to simple associations, and code that correctly implements association navigation.
  • Develop code that uses polymorphism for both classes and interfaces, and recognize code that uses the "program to an interface" principle.


Section 4: Algorithm Design and Implementation


  • Describe, compare, and contrast these three fundamental types of statements: assignment, conditional, and iteration, and given a description of an algorithm, select the appropriate type of statement to design the algorithm.
  • Given an algorithm as pseudo-code, determine the correct scope for a variable used in the algorithm, and develop code to declare variables in any of the following scopes: instance variable, method parameter, and local variable.
  • Given an algorithm as pseudo-code, develop method code that implements the algorithm using conditional statements (if and switch), iteration statements (for, for-each, while, and do-while), assignment statements, and break and continue statements to control the flow within switch and iteration statements.
  • Given an algorithm with multiple inputs and an output, develop method code that implements the algorithm using method parameters, a return type, and the return statement, and recognize the effects when object references and primitives are passed into methods that modify them.
  • Given an algorithm as pseudo-code, develop code that correctly applies the appropriate operators including assignment operators (limited to: =, +=, -=), arithmetic operators (limited to: +, -, *, /, %, ++, --), relational operators (limited to: <, <=, >, >=, ==, !=), logical operators (limited to: !, &&, ||) to produce a desired result. Also, write code that determines the equality of two objects or two primitives.
  • Develop code that uses the concatenation operator (+), and the following methods from class String: charAt, indexOf, trim, substring, replace, length, startsWith, and endsWith.


Section 5: Java Development Fundamentals


  • Describe the purpose of packages in the Java language, and recognize the proper use of import and package statements.
  • Demonstrate the proper use of the "javac" command (including the command-line options: -d and –classpath), and demonstrate the proper use of the "java" command (including the command-line options: -classpath, -D and –version).
  • Describe the purpose and types of classes for the following Java packages: java.awt, javax.swing, java.io, java.net, java.util.


Section 6: Java Platforms and Integration Technologies


  • Distinguish the basic characteristics of the three Java platforms: J2SE, J2ME, and J2EE, and given a high-level architectural goal, select the appropriate Java platform or platforms.
  • Describe at a high level the benefits and basic characteristics of RMI.
  • Describe at a high level the benefits and basic characteristics of JDBC, SQL, and RDBMS technologies.
  • Describe at a high level the benefits and basic characteristics of JNDI, messaging, and JMS technologies.


Section 7: Client Technologies


  • Describe at a high level the basic characteristics, benefits and drawbacks of creating thin-clients using HTML and JavaScript and the related deployment issues and solutions.
  • Describe at a high level the basic characteristics, benefits, drawbacks, and deployment issues related to creating clients using J2ME midlets.
  • Describe at a high level the basic characteristics, benefits, drawbacks, and deployment issues related to creating fat-clients using Applets.
  • Describe at a high level the basic characteristics, benefits, drawbacks, and deployment issues related to creating fat-clients using Swing.


Section 8: Server Technologies


  • Describe at a high level the basic characteristics of: EJB, servlets, JSP, JMS, JNDI, SMTP, JAX-RPC, Web Services (including SOAP, UDDI, WSDL, and XML), and JavaMail.
  • Describe at a high level the basic characteristics of servlet and JSP support for HTML thin-clients.
  • Describe at a high level the use and basic characteristics of EJB session, entity and message-driven beans.
  • Describe at a high level the fundamental benefits and drawbacks of using J2EE server-side technologies, and describe and compare the basic characteristics of the web-tier, business-tier, and EIS tier.

Espero ter ajudado de alguma forma.

Abraços!

sábado, 29 de agosto de 2009

Passando na Lpi 102

Quem leu meu post sobre a lpi 101, e pensou que a 102 seria moleza... sinto muito mas tenho que desapontá-los.

A 102 foi uma prova bastante difícil, que me cobrou detalhes, dos detalhes. O livro que comprei para me preparar para os novos objetivos, infelizmente deixou bastante a desejar, caso eu não tivesse uma experiência razoável, não teria passado no teste.

Bem, minha prova teve 80 questões, das quais, acredito que 20 não foram de múltipla opção, ela pedia pra escrever o comando, o parâmetro, o caminho, ou o comando e o parâmetro.

Quem quiser se candidatar, precisa ter alguma experiência, ao contrário da 101. Não sei se a prova ficou mais difícil com a mudança dos objetivos, já que fiz a 101 com os objetivos antigos.

O segredo é estudar como um condenado, e assimilar o conteudo!

No site CertCities.com tem um review sobre a prova 102. Segue o link:
http://certcities.com/editorial/exams/story.asp?EditorialsID=53

O resumo diz o seguinte:

"Very tough. Emphasis on specific detail combined with the wide breadth of topic areas make it a killer."

"Muito difícil. Enfatiza no detalhe específico combinado com uma larga margem de tópicos, torna este exame muito difícil!"


Abraços!

terça-feira, 18 de agosto de 2009

Preparando-se para Lpi 101

Muitas pessoas tremem ao pensar em tirar a tão "temida" Lpi. Detesto desapontar a opinião pública, mas a Lpi 101 é super tranquila. Caso você seja auto didata, não precisará desembolsar rios de dinheiro para pagar um curso preparatório. Com um livro (study guide) e alguns mocks (simulados), será possível passar na prova tranquilamente.

Aqui vão algumas dicas:

Adquira um livro específico para obtenção da Lpi, sugestões abaixo:

http://www.linuxnewmedia.com.br/shopping/livro/certificacaeo_lpi_1_3_edicaeo
http://www.amazon.com/LPIC-1-Linux-Professional-Institute-Certification/dp/0470404833/ref=sr_1_1?ie=UTF8&s=books&qid=1250641351&sr=8-1
http://www.amazon.com/LPIC-1-Depth-Michael-Jang/dp/1598639676/ref=sr_1_2?ie=UTF8&s=books&qid=1250641351&sr=8-2

Procure por simulados, e se possível pague alguns para ter uma boa experiência com o estilo da prova. Os livros citados acima já trazem alguns simulados, porém caso você queira mais prática, basta procurar no google que você achará vários.

Aconselho ler o livro que você comprar, de 2 a 3 vezes, e sempre que ler do início ao fim fazer um simulado e ver quais áreas você precisará melhorar. A vantagem de se pagar um site com simulados, é que ele terá várias questões baseadas na prova, e ao final dos testes te trará um relatório com seus pontos fortes e fracos, assim você poderá focar seu estudo.

Bem, estudando dessa forma, e com dedicação. Você fará a prova de uma forma super tranquila, e o resultado final não será outro além de aprovado.

Neste link -> http://certcities.com/editorial/exams/story.asp?EditorialsID=84

Você achará o review do exame onde o editor faz ma boa análise da prova.

O resumo deste mesmo editor para a prova segue:

"Don't let the 101 fool you: This exam is NOT for Linux newbies -- it requires at least moderate experience with the Linux OS."

"Não deixe o exame 101 lhe enganar. Este exame não é para novatos, ele quer no mínimo uma modera experiência com Linux OS."


Abraços a todos!

Espero ter ajudado!