This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
I have secured SCJP, SCWCD and SCBCD certificate one years ago. In my job, I am not developing the system using EJB 3 but Spring, and I seldom use JSP/Servlet since the system is implemented using JSF. Most of the concept learnt before is almost forgotten, not only those related to certificate. For example, JDBC API syntax, including RDBMS design and concept (Transaction, Concurrency, Lock, etc.)
The situation is all this will be tested on the Technical Interview. How am I going to revise/recall all this knowledge within 4 days ? (I am working adult)
Do you feel that you should be able to recite information about these concepts from memory? Keep in mind that preparing for a multiple choice certification exam and preparing for a job interview is not the same activity. If your interviewers ask you detailed questions that expect you to recall memorized information, then maybe this is not a good employer and you shouldn't worry about it so much.
Interviews are about finding the best candidate for the position, so make sure you try your best to prepare.
The questions on your interview should be based upon your work experience, not the content of the Java certification exams. If you have never worked with EJB, then any question about it should be answered, "I have never worked with EJB."
If you are unable to answer questions and have forgotten everything, then you shouldn't be considering the information used to pass the certifications as "your" knowledge because it is not.
JSF is build on top of JSP/Servlet. You should still know the basics of how they work. Database design doesn't go away with using Spring. I recommend refreshing on the high level details of these areas. Overall, you should be asked more about what you have worked with.
But one thing is how I bring out my value which make me different from other candidate.
For example, I don like employer who test on API, because for me API is just something that you can view from an API doc. When I am doing my coding I will always care about how I am going to architect the entire application , such as web application, although code is done not using JSP/Servlet (JSF, Spring, Hibernate to be specific), I will always be considering of using patterns Gateway Controller, Application Controller, View Handler, Action Handler, Page Controller ... , Business Delegate, Service Locator and etc. When it comes to business logic part of coding, I am aware of Design Pattern, such as Strategy Pattern to encapsulate frequently changed Behavior.
How can I bring out all this if they keep on testing on API ?
Just returned from Java written test for a job in investment bank. Unfortunately, companies mostly recruit people who can remember syntax/API. This gives great impression to them. For example, one of the Java question, what is the best data type to add two decimal numbers? Correct answer is BigDecimal. This kind of knowledge is only possible when you remember API by rote.
There are tons of potential candidates who can refer API and do the job. Remembering syntax and API is norm in Singapore for IT positions.
However, if you really want to get into a company where high level picture given most value rather than API details etc. consider companies like ThoughtWorks, or Google etc. [I assume company names are ok in this context]. Again, you should be a scientist kind of guy to get into these companies.
Its about impression. This is how it works. Consider the below interview dicussion happend to me once.
Interviewer: What String.intern() method will do? [He might have used it]
Me: I don't know. I never used it.
Interviewer: What is the purpose of bitmap index in Oracle? [again he might have used it]
Me: I never used it.
After asking few this kind of questions, he rejected me. In his perspective I am not suitable, because I don't know String.inern method and Bitmap index..
If in real job, there is a need to get the job done I can surely refer documentation and can do the job. But, employer need a proof that you can do it. So they
select candidate who can remember syntax or API. This is their criteria.
Happy API reading
Sai Surya, SCJP 5.0, SCWCD 5.0, IBM 833 834
http://sai-surya-talk.blogspot.com, I believe in Murphy's law.
author & internet detective
The BigDecimal thing is a best practice in the financial industry. (and presumably any other system that deals with money.) It's not about memorizing the API. It is important to know *when* to look at the API. if someone needs to add two numbers and just adds two doubles, they are never going to be looking at the API. I agree not everyone knows it, but it is a legitimate question. Especially for someone who has experience.
Some companies ask questions that they don't expect you to know to see how you react. For example, if you tell me you don't know what bitmap index, that tells me less than if you say "I don't recall that type of index, but here's what I do know about indexes...."
And yes; Thoughtworks/Google are ok in this context because they are being used as examples.
Its not really about memorizing the API. I dont think anybody expects you to remember each and every method in BigDecimal class but definitely a certain amount of awareness about the existence and purpose of such API is expected. because if you aren't aware of existence of BigDecimal you are likely to continue using double
Ditto for bitmap index. If somebody isnt aware of it, he/she is likely to use a regular index for the same purpose leading to suboptimal query results. And one is unlikely to discover that this is an issue unless the number of reords go upto hundreads of thousands (which typically happens only in production and hence has a cost associated with it). A certain amount of awareness about bitmap index and where it is used is sufficient in this case
Certifications: SCJP (2005), SCWCD (2006), OCA (2006), WAS Admin (2007), SCBCD (2008), SCJD (2009), SCDJWS(2009)