Hey all,
I'm getting ready for the
SCJA, which I have scheduled for Monday morning. I thought I'd create a
thread on it to get some feedback on what my weak points are, and as to whether or not I am ready. For $300 and with no free re-take coupon, I HAVE to get this right the first shot.
Preparation: Started studying
Java about three months ago with some previous programming experience(learned procedural C in high school). Have finished Head First Java, Head First OOA&D, and am halfway through Head First Design
Patterns. I feel as though I've got a decent grasp on the language, in my opinion beyond the scope of the SCJA. However, my downfall is that because I learned relatively quickly and on my own I missed out on a lot of the nitty gritty. Additionally I picked up an
IDE almost immediately, so that made my learning process a little bit...different.
In order to rectify the aforementioned two obstacles, I picked up Cameron's study guide. I've read through it once, and skimmed through it once. Let me just say that I'm very thankful (especially because of the
J2EE stuff) that I picked this up prior to the exam.
The point: I'm going to use this post to document further my preparation. I'm currently taking Cameron's online mock exams, and if you guys don't mind I'm going to let you know how it goes, and which questions I get wrong. Any and all feedback is GREATLY appreciated. (Also: Thank you very much to the JavaRanch community. I have learned much from you all. And thank you Cameron, I definitely would have wasted $300 without your book.)
Update post-exams: I didn't do as well as I thought I would. Granted I am quite fatigued at the moment, and most of my mistakes outside of server/client technologies were carelessness, those two categories are nonetheless clearly trouble areas. I'm now feeling a little bit less cavalier, and a little bit more frightened. Luckily, I have literally nothing else to do for the next few days until the
test. Except study.
My scores: JDK Fundamentals: 90%
Java and UML Modelling: 80%
Java and OO Design: 80%
Server Technologies: 46% (Ouch!) =(
Client Technologies: 58% (Nearly-Equivalent-But-Not-Quite-Ouch!) =/
=, == & dot equals(): 80%
Total: 72% (Required: 68%?)
Missed Questions: 1. What is the result of running the following code:
String s1 = new String("www.examscam.com");
String s2 = "www.examscam.com";
System.out.print(s1.equals(s2));
System.out.print(s1==s2); A. truetrue
B. truefalse
C. falsetrue
D. falsefalse
(Correct Answer: B)
(I chose A, figuring that s2 would know to pick up "www.examscam.com" from the common pool. Let me guess, a string doesn't go into the common pool if it has a non-literal creation?)
2. The challenge of updating and deploying new versions of J2SE desktop applications is made easier by: A. browsers automatically downloading new
applets as they are developed
B. browsers rendering the latest HTML served to them by
Servlets and JSPs
C. Java Web Start Technology
D. Windows Update
(Correct Answer: D)
(Windows Update caters to JRE? Cool.)
3. Repeated form validation, where input data from the client is validated on the client side through JavaScript, and then validated again on the server side by a web based J2EE component, is required due to the fact that: A. validation routines often fail
B. data can change between the client and the server
C. clients can accidentally submit forms twice
D. JavaScript can be turned off
(Correct Answer: D)
(I guessed A. I mean, I -really- guessed.)
4. Sizeable download times and a lack of control over the client environment are common drawbacks to a large scale distribution of which technology: A. HTML
B. JavaScript
C. Java Applets
D. Java Portlets
(Correct Answer: C)
(I chose A. I suppose I see now why C makes more sense.)
5. Validation of HTML forms on the client side, before invoking a Servlet or JSP running on a server, should be performed by: A. JavaScript
B. Java Applets
C. JavaBeans
D. HTML
(Correct Answer: A)
(I chose D. I don't know a thing about javascript =/)
6. Which of the following two are associated with distributed EJBs? (Advanced Question) A. ties
B. stubs
C. skeletons
D. marshals
(Correct Answer: AB)
(I chose B and C. They sounded familiar.)
7. A number of complex, database interactions that need to be both transactional, and invoked by remote, network clients, should be organized and managed by: A. a stateful session bean (SFSB)
B. a stateless session bean (SLSB)
C. a container managed persistence entity bean (CMP)
D. a bean managed persistence entity bean (BMP)
(Correct Answer: B)
(I chose C. I think that the
word 'database' in this question was a deliberate red herring. I fell for it.)
8. Which of the following technologies have been plagued with the stigma of not being reliable in a workload managed environment? A. Message Driven Beans
B. Entity Beans
C. Stateless Session Beans
D. Stateful Session Beans
(Correct Answer: D)
(This is a tough one. I know the function of all of these EJBs, but I certainly don't have a concept of their reputation.)
9. White pages, yellow pages and green pages are associated with which web services technology? A.
SOAP B. WSDL
C. JAX-PRC
D. UDDI
(Correct Answer: D)
(I'm noticing a pattern here. I understand that SOAP WSDL and UDDI are involved with web services, and that they all ride on the magical carpet of SOAP, and that UDDI has to do with discovery, and that WSDL carries specific information about the XML, but I don't know anything more than that about them.)
10. Which of the following technologies typically work together to provide email capabilities? A. SMTP
B. JAF
C. JMS
D. JavaMail
(Correct Answer: ABD)
(I don't know what JAF and JMS are. I'll check.)
11. XML is: A. largely based upon HTML
B. a human readable format for transmitting data
C. decipherable by many diverse programming languages and environments
D. textual, as opposed to being binary or compiled
(Correct Answer: BCD)
(Er...hmm. I wasn't sure what XML was based on. I did ACD.)
12. Which of the following technologies helps to make Servlet and EJB technologies available to other Java platforms components, as web services? A. SOAP
B. UDDI
C. JAX-RPC
D. WSDL
(Correct Answer: C)
(I don't know what JAX-RPC is. I'll check.)
13. Which of the following ideas provide for the most flexible API development: A. instance variables should always be concrete classes
B. method parameters should be as general as possible
C. method return types should be as general as possible
D. interfaces should be factored out of classes with common methods
(Correct Answer: BCD)
(Honestly I couldn't quite figure out what D was getting at. I figured it was a test on whether or not I knew to use abstract classes instead of an interface when child objects have common methods, so I chose A)
[ July 10, 2008: Message edited by: Alex Birmingham ]