8a09c0d4fad1d34dbcd018524f4b77b1.ppt
- Количество слайдов: 32
Sun Java Certification by Wyndham Ackroyd
Overview n Part I n n Part II n n n Sun Certified Java Programmer Objectives and resources Part III n n What is certification, FAQ’s and types of certification Sample Questions Summary Questions
Part I What is certification, FAQ’s and types of certification
Where do I start? n Do I want to be certified (am I mad enough to be certified)? n n What is java certification? n n Certification is tough but rewarding. You will be more confident and capable using Java after certification It is an industry recognised certification A way of proving that you understand java and can use java technology Recognised by employers and peers alike How do I get certified? n n n You have to choose a certification option Study the material Book, sit and pass the corresponding exam
How do I get certified? n Choose a certification option (exam) n n Study the material n n n There are 8 certification options Create a plan of attack Buy books and/or courses Drag-net the web Meet up with like minded people and set targets and goals Book, sit and pass the corresponding exam n n n Buy an exam voucher Book the exam online from the Sun site. A third party actually hosts the exam (called a Prometric Testing Centre) not Sun Turn up for a couple of hours and answer the minimum number of multi choice questions in the allotted time
Java Certification Roadmap Shamelessly plagiarised directly from http: //www. sun. com/training/certification/java/
Sun Professional Certifications n n n n Sun Certified Associate for the Java Platform, Standard Edition - New! Sun Certified Programmer for the Java 2 Platform, Standard Edition J 2 SE 5. 0 now available! Sun Certified Developer for the Java 2 Platform, Standard Edition * Sun Certified Web Component Developer for the Java 2 Platform, Enterprise Edition Sun Certified Business Component Developer for the Java 2 Platform, Enterprise Edition Sun Certified Developer for Java Web Services Sun Certified Enterprise Architect for the Java 2 Platform, Enterprise Edition * Sun Certified Mobile Application Developer for the Java 2 Platform, Micro Edition * An assignment needs to be completed Shamelessly plagiarised directly from http: //www. sun. com/training/certification/java/
TLA’s and Acronyms SCJP – Sun Certified Java Programmer SCJD – Sun Certified Java Developer SCWCD – Sun Certified Web Component Developer SCBCD – Sun Certified Business Component Developer SCDJWS – Sun Certified Developer for Java Web Services SMAD – Sun Certified Mobile Application Developer J 2 SE – Java 2 Standard Edition J 2 EE – Java 2 Enterprise Edition J 2 ME – Java 2 Micro Edition CX-310 -035 – an apparently random number for SCJP 1. 4 CX-310 -055 – an apparently random number for SCJP 1. 5
Other Certification Questions Q. How long does my certification last? A. This has changed a lot over the years. The current policy is that any certification gained after August the 1 st, 2003 is valid forever! See http: //www. sun. com/training/certification/faq/ Q. How do I choose which certification exam to study for? A. Talk to somebody who has already certified and visit the following site: http: //www. sun. com/training/certification/objectives/index. xml Q. I’ve decided to do the programmer certification, which one should I do? 4. 0 or 5. 0? A. Version 5 is new, therefore it is harder to find resources (books and sites etc). As it becomes more established more resources will be available. Q. How long will it take me to study enough to sit the exam? A. It depends on your experience, but I suggest you should earmark 3 months of committed part time study, which at times can get quite intensive. Q. Do I have to keep my certifications up-to-date? A. Most people sit a certification exam and move onto a specialist exam rather than keeping their certification versions current. However, there are Platform Upgrade exams and Sun recommend you keep your certification up-to-date. See http: //www. sun. com/training/certification/faq/
Part II Sun Certified Java Programmer Objectives and resources
SCJP - Facts and Figures SCJP J 2 SE 4. 0 CX-310 -035 Intensity Cost 175 minutes (nearly 3 hours!) 61 72 52% 59% (32 out of 61) Number of Questions Pass Mark 120 minutes (2 hours) Duration SCJP J 2 SE 5. 0 CX-310 -055 (43 out of 72) High! $150 USD
Exam Objectives Section SCJP 4. 0 SCJP 5. 0 1 Declarations and Access Control Declarations, Initialization and Scoping 2 Flow control, Assertions, and Exception Handling Flow Control 3 Garbage Collection API Contents 4 Language Fundamentals Concurrency 5 Operators and Assignments OO Concepts 6 Overloading, Overriding, Runtime Type and Object Orientation Collections / Generics 7 Threads Fundamentals 8 Fundamental Classes in the java. lang Package 9 The Collections Framework
Resources n n Books Online Resources Colleagues Practice exams (beware, some might be worse than useless) n n n There are free ones You can buy one from Sun Books often come with a sample exam
Online resources www. lanw. com/javacert/default. htm www. aniyog. com/java/certification. htm www. javaranch. com/mock. jsp www. javaranch. com/maha/_Mock_Exams/_mock_exams. html http: //www. javaranch. com/mock. html certification. about. com/od/freequestions/ www. michael-thomas. com/tech/java_info. htm www. jchq. net/mockexams/exam 2. htm www. jchq. net/mockexams/exam 1. htm www. levteck. com/ www. sap-img. com/java-programmer-certification-mock-exam-no-answers. htm www. akgupta. com/Java/mock_exam. htm www. javaprepare. com/faq. html http: //www. jdiscuss. com/ http: //bobcat. webappcabaret. net/javachina/faq/05. htm http: //java. sun. com/docs/books/jls/second_edition/html/j. title. doc. html
Books The Good. The certification book Java 2 Sun Certified Programmer & Developer. Osborne ISBN 0 -07 -222684 -6. It costs $114. 99 so it's a bit expensive! I've found it brilliant! The writing style is conversational and at times funny! The Bad The other book I've tried is Exam Cram 2 - Java 2 Programmer. Que ISBN 0 -7897 -2861 -3. It costs $76. 99. I think it is hopeless, if anybody else is struggling with it, try the book above. The Ugly isn't as bad! Java in a Nutshell O'Reilly ISBN 0 -59600283 -1. Costs $135. 00. It isn't a certification book, but it is really concise if heavy going (that's why I called it ugly). A great reference book and excellent for a through, in-depth description of stuff that is relevant for the exam.
Tricks and tips for study n n n Try to get a group together to study with, it makes it easier. As you progress through your study you will begin to get a ‘feeling’ for what the question is asking. Read, practice, sit practice exams and discuss with colleagues over and over again. If you buy a certification book (recommended) be prepared to read your chosen study book 3 times. Ask your employer to pay for the exam. They may pay or refund you if you pass the exam?
Tricks and tips for the Exam n All questions are weighted equally n So, answer all the ‘easy’ questions first n n n You could spend 10 minutes on a difficult question and get 2 marks. Or you could spend 10 minutes on 5 questions and get 10 marks. Mark questions for review if you have spent too long on them and go back to them at the end if you still have time.
Exam format n n The questions may include a code snippet or it may be text question. The questions are multi-choice. n n n But don’t be fooled! It’s harder than “Who wants to be a Millionaire”! You are in a strange room with no windows, you’re not allowed to talk to anybody and there are cameras watching you all the time! The exam is computer based: n n n The computer is locked down There is no internet access There is a timer (so you know how much time you have left)
Example Question This is a typical ‘easy’ question. Which two are equal? (Choose two) A. 32 / 4; B. (8 >> 2) << 4; C. 2 ^ 5; D. 128 >>> 2; E. (2 << 1) * (32 >> 3); F. 2 >> 5 Reproduced without permission from the brilliant: Java 2 Sun Certified Programmer & Developer Osborne
Example Solution It’s harder than Who wants to be a Millionaire, ‘cos: n there are more than 4 answers to choose from n you have to know all the answers to get the question right n you don’t get a score of 25% if you just make up any old answers Which two are equal? (Choose two) A. 32 / 4; // B. (8 >> 2) << 4; // C. 2 ^ 5; // D. 128 >>> 2; // E. (2 << 1) * (32 >> 3); // F. 2 >> 5 // 8 32 7 32 16 0
Part III Sample Questions
Literals What's going on with this? byte b = 7; byte c = b + 7; byte c += 7; // gives a compile error // this is OK
Literals The difference is between literals and variables. Number literals (1, 2, 3, to 9999 etc) can be implicitly cast to bytes and the numeric operators (+, - / etc) always return an int And you can't automatically assign int variable into a smaller primitive without casting (whereas you can with a literal if it is small enough - the compiler knows)
Literals byte b = 7; byte c = b + 7; // gives a compile error byte c += 7; // this is OK So: byte b = 7; c = b + 7; byte c += 7; This works 'cos literal 7 can be assigned to byte This generates an ERROR! It returns an explicit int, which can't go into a byte (I think the reason is that the compiler can never be entirely sure what is in a variable, but it knows what a literal's value is) // This is OK. Why? Because there is no int variable involved, only the literal 7.
Logical Operators What do you expect the output to be? if (1>2 && 2>1 | true) System. out. print("elephant tusk"); else System. out. print("rhino");
Logical Operators I expected the result to be derived like this: n n 1 is not greater than 2, so don't bother to check 2 > 1. Then do the OR, which returns true. So we have "false or true". Which gives true! So the answer should be “elephant tusk”.
Logical Operators The answer is not elephant tusk! The result is rhino! (Normally we'd avoid this confusion by writing with brackets) Before explaining the code lets check out this: if (1>2 && 2>1 || true) System. out. print("elephant tusk"); else System. out. print("rhino"); The above returns elephant tusk (which is the intuitive result), which roughly evaluates as: n n 1 is not greater than 2, so don't bother to check 2 > 1. Then do the OR, which returns true. So we evaluate "false or true". Which gives true!" as expected.
Logical Operators Question: What is the difference between: and (1>2 && 2>1 || true) (1>2 && 2>1 | true)
Logical Operators Question: What is the difference between: and (1>2 && 2>1 || true) (1>2 && 2>1 | true) Answer: "Order of precedence". The relevant order of precedence is: & ^ | && ||
Logical Operators With (1>2 && 2>1 | true) the compiler does (what I call) a 'none evaluating pass through the code'* and puts in imaginary brackets like this ((1>2) && (2>1 | true)). It does this because the compiler knows that the OR '|' keeps 2>1 and the true together. The compiler will then evaluate the first half of the short circuit operator && (i. e. the 1>2) and decides seeing that it is false, that there is no more work to do (see short circuit operators) and drops out of the condition and evaluates the expression in the else block. However for the expression (1>2 && 2>1 || true) the compiler again does the 'none evaluating pass through the code' puts imaginary brackets like this ((1>2 && 2>1) || true). This is because the compiler knows that && has a higher binding or precedent (call it what you will). So it again checks the first half of the short circuit operator && (i. e. 1>2) and again decides to short circuit the second half of the &&. But the second half is now only 2>1. It still has to do the or '||', which will make the whole expression true.
Summary n Certification Paradox – some people say the Java Certified Programmer Certification is easy. Others say it is one of the hardest industry certifications n My view is that SJCP is not rocket science, but it is difficult and there is a lot of it (that’s what makes it hard). It seems to become easy when you start to learn the basics and learn them well. n There is no substitute for practice and experience n For most people certification is tough but enormously rewarding
Any Questions Wyndham Ackroyd
8a09c0d4fad1d34dbcd018524f4b77b1.ppt