Java/J2EE Job Interview Companion

One Minute Review

Positives
  • Easy to understand questions and answers format
  • Answers followed by examples, sample code and diagrams
  • Covers Java & J2EE
  • Unique in its own way
  • Also includes questions on Java 5 and EJB 3
  • Key points and Tech Tips at the end of each section
Negatives
  • It was hard to read the pdf(356 pages) on my laptop

Buy it now

Ratings and Stats

ISBN:1411668243 Relevance:
4
Publisher:LuLu.com Readability:
4
Author(s):K.Arulkumaran, A.Sivayini Overall:
4
Bottom Line:When I stated reading the first few pages of this book I wasn't sure how I would rate this. But having completed the whole pdf over the weekend, I should say, the detail and the expertise the authors show in their explanation is remarkable. The authors have done a tremendous job of compiling the most frequently asked questions in an interview and have excelled in giving answers for the same; backing up each answer with sample code and diagrams. As the title suggests, the book should be used as a companion and not as a reference material. For those of you who are using this book, or going to buy this, use this as a guide to recap your concepts.

Intent and Audience

I have read several technical books over the last few years, but this one was entirely different. The questions and answers format was something which I had not seen in any other book and wasn't sure if would help either. But I was wrong. The objective of the authors is great, to help Job seekers as well as interviewers; and I think they have succeeded in doing so. They have compiled several questions and answers, and also have very good tips on how to face an interview.

Chapter Highlights

Section 1 Interview questions and answers on: Java

Fundamentals. This part covers basic questions like what are the usages of Java packages, what do you mean by polymorphism, inheritance, encapsulation, and dynamic binding to some frequently asked questions like what are some of the best practices relating to Java collection, what is the difference between "==" and equals(...) method, what is the difference between shallow comparison and deep comparison of objects?

This section also has questions related to new features which were added in J2SE5.0; generics, annotations, autoboxing and auto-unboxing of primitive types, enhanced "for" loop, enumerated type, static import, C style formatted output, formatted input, varargs, etc. with sample code followed by brief explanations.

Swing.This section starts by explaining the difference between AWT and Swing and answers several interesting questions like how does Swing painting happen, how will you improve the painting performance, and explain the Swing event delegation model.

Applet. This lesson talks about the basics of applets, life cycle of an applet, communication betweens applets and Servlets and finally difference between an applet and application, and whether you can use an applet as an application.

Performance and Memory issues are the most frequently asked questions in all interviews. This section has answers to:

  • How would you improve performance of a Java application?
  • How would you detect and minimize memory leaks in Java?

Personal and Behavioral/Situational covers questions usually asked in most interviews; the author provides some useful hints here.

  • Did you have to use any design patterns in your Java project?
  • Why are you leaving your current position?
  • How do you handle pressure? Do you like or dislike these situations?
  • What past accomplishments gave you satisfaction? What makes you want to work hard? The author says in the first point "Material rewards such as salary, perks, benefits etc naturally come into play but focus on your achievements or accomplishments rather than on rewards". That's so true Arul; I agree 100% with you, so will the readers.

Behaving right in an interview. Also well covered section where the author gives some useful tips like; Never arrive too late or too early, Firm handshake, maintain eye contact do not make up your answer or try to bluff, You should also ask questions.

Key Points. This section provides one or two lines definitions for major key words. These I think you can and should memorize for your interview.

Section 2 Interview questions and answers on: EnterpriseJava

J2EE Overview. From this section, you should be able to confidently answer; why use J2EE, J2EE platform architecture, and the several APIs and technologies which make J2EE a working platform.

Servlet. Covers life cycle methods of Servlet, directory structure of a web application, the difference between doGet and doPost, how you make a Servlet thread safe, what is a RequestDispatcher and Servlet clustering and many more.

JSP. This section covers life cycle methods of JSP, scriptlets, expressions, different scopes, JSP EL and JSP best practices. It covers a wide range of questions in this topic as well.

JDBC / JTA. This is an amazing section, which covers basics as well as advanced topics. Starting from simple questions like what is JDBC, what are statements to complex ones like what is a distributed transaction, why JTA transactions are more powerful than JDBC transactions. The explanation and the diagrams the author has used are really remarkable.

JNDI / LDAP. In this section you will get answers to questions like what is JNDI, what is a JNDI Initial Context, and what is an LDAP server.

RMI. This section covers basic RMI questions as well. There were a few interesting questions which I had never ever thought about; how do you make RMI calls across firewalls, and why use RMI when you can achieve the same benefit from EJB. I know the answers for these questions now; do you want to know as well?

EJB. Authors begin this chapter with a table which compares some of the persistence products like EJB2.x, EJB 3.0, Hibernate and JDBC, followed by the role of EJB in J2EE illustrating the same with a big picture. There was one question which bugged me a lot when I started working on J2EE in 2001, what's the difference between EJB and Java beans? I did research on the internet and found the answer; I wish I had this book. There are many more questions on EJB 2.x as well.

JMS. Provides most answers you need to know about JMS; from messaging concepts to two popular messaging models.

XML. The authors in this section begin by defining XML, than continue with the difference between SAX and DOM parser, What is XPATH and later finishing this section with questions like what is your favorite XML tool, explain where your project needed XML documents.

SQL, Database, and O/R mapping. Questions covered in this section are as follows:

  • Explain inner and outer joins?
  • Explain a sub-query? How does a sub query impact on performance?
  • What is normalization? When to denormalize?
  • How do you implement one-to-one, one-to-many and many-to-many relationships while designing tables?
  • How can you performance tune your database?
  • How will you map objects to a relational database? How will you map class inheritance to relational data model?

RUP & UML. This section covers basics on both RUP as well as UML.

Struts. I have never worked on Sturts and so I am listing a few questions which are covered in this chapter.

  • Give an overview of Struts? What is an ActionServlet? What is an Action class? What is an ActionForm? What is a Struts Validator Framework?
  • How do you upload a file in Struts?
  • Are Struts action classes thread-safe?
  • Are Struts action classes thread-safe?

Web and Application Servers. Once you finish reading this section you should be able to differentiate web server and an application server, a virtual host, clustering, JMX, portal (good explanation with a detailed diagram)

Best practices and performance considerations. Provides some tips on J2EE application server performance tuning, J2EE best practices.

Logging, testing and deployment.Gives an overview of Log4j, test phases and cycles, and a brief overview of deployment environments you should be familiar with. If you have been working on enterprise applications, this section should just be a refresher.

Personal and Behavioral/Situational. This chapter as with the one in the Java section covers some interesting questions like:

  • Have you used any load testing tools?
  • What source control systems have you used?
  • What operating systems are you comfortable with?
  • Which on-line technical resources do you use to resolve any design and/or development issues or to keep your knowledge up to date apart from Google?
  • Tell me a time where you had to deal with a difficult person? Why was this person difficult? How did you handle that person?

Key Points. This section provides some important definitions you should be able to know by now, either by memorizing the above questions or by proficiency you have using all the above technologies.

Section 3 Putting it all together section. The chapter begins by answering some basic questions like how would you go about documenting your Java/J2EE application, how would you go about designing a Java/J2EE application, and how would you go about identifying performance and/or memory issues in your Java/J2EE application. The author next moves on to explain almost every design pattern with scenarios and examples: Factory method, Singleton, Builder, Strategy, Decorator, Adapter, Visitor, Iterator, template, Composite, Façade, Observer, command, Proxy.

Section 4 Emerging Technologies/Frameworks. In this section the author answers questions on technologies like Test Driven Development (TDD), Aspect Oriented Programming (AOP), Inversion of Control (IoC) ,Annotations or attributes based programming, Spring, Hibernate, EJB 3.0 and JavaServer Faces (JSF) framework.

Section 5 Sample interview questions. This section provides some questions and useful hints for each one of those in a tabular form.

Relevance of Material

The authors in the first paragraph say that "The basic purpose of this book is to cover all the core concepts and key areas, which all Java/J2EE developers, designers and architects should be conversant with to perform well in their current jobs and to launch a successful career by doing well at interviews." The book lives up to its title and to the above quote, and is truly an interview companion.

The authors cover Java, J2EE fundamentals and technologies like Spring, Hibernate, JSF etc. This book isn't supposed to be used as a reference for any of these technologies, it helps you (only and only if you know these subjects) to refresh your knowledge before attending an interview. Unless you have thorough knowledge in these subjects, even memorizing the answers won't take you much far in the interview. If you are asked to backup the answer with more explanation or written code what will happen? Nothing serious, you won't get the Job, right?

Resources

Book Web Site

Some interesting questions in Joel Software can be found here.

You can also find some Java J2EE questions and answers here.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Meera Subbarao replied on Sun, 2008/03/02 - 8:27am

Hi Soren,

The answer to your question is very well written in my Relevance of Material section, the last section in my review.

This book isn't supposed to be used as a reference for any of these technologies, it helps you (only and only if you know these subjects) to refresh your knowledge before attending an interview. Unless you have thorough knowledge in these subjects, even memorizing the answers won't take you much far in the interview. If you are asked to backup the answer with more explanation or written code what will happen? Nothing serious, you won't get the Job, right?

Soren Davidsen replied on Sun, 2008/03/02 - 9:54am in response to: meera

Hi Meera,

Thanks for pointing out.

(I might still buy on the reasons above though :) ).

 

Regards,

Soren

Arvind NSG replied on Thu, 2008/03/13 - 9:28am in response to: meera

Hi Meera,

               I gone through Java/J2EE Companion Book - I have a doubt that this book useful only for 

               Who attending Interviews in Java/J2EE (or) to know the basic concepts of Java and J2EE?

Thanks

Arvind NSG

 

Meera Subbarao replied on Thu, 2008/03/13 - 6:24pm

Yes indeed. That's why its called" Java/J2EE interview companion".

Arvind NSG replied on Fri, 2008/03/14 - 3:39am in response to: meera

Thanks Meera for your Reply. I am new to this Zone Meera, Now I 
Started to work on a J2EE Project Using Frameworks ( Struts,Hibernate,Spring ) - Meera can 
you let me know, which book I follow to know the Basics of these Frameworks to start my 
Project -
   i.e. 1. Basic Flow of these Frameworks, 
        2. Under which Design Pattern override these Frameworks, 
        3. How to Integrate of all 3 Frameworks etc...
Thanks
Arvind NSG

akpillai replied on Tue, 2008/04/22 - 9:13pm

In my view this book is not inteneded to learn Java from scratch or just as a cram guide to memorize the answers prior to an interview even though one could but one can get caught out in an interview or while at a job. The main intention of this book is to guide aspiring Java/JEE professionals in following ways:

1. can help as a Java/JEE job interview preparation material/confidence booster whether you are a beginner or an experienced Java/JEE professional as what the name suggests. 

2. can help as a refresher material on a vast Java/JEE topics if you are an experienced professional but a bit rusty on certain topics.  I do not hava a photgrapgic memory and Java/JEE and related technologies are very vast so I use it myself for this purpose in between and during my Java/JEE contracts.

3. can help as a study material/roadmap on fundamentals and key areas relating to Java/JEE topics if you are a novice or less experienced to fast track your career. It takes a number of years of experience for someone to learn all the key areas and fundamentals discussed in this book. Even though not all answers may not be comprehensive enough for a novice to completely understand he concept but this can be a good starting place to be aware of the fundamentals and do a further reasearch on google if required. At least one does not have to read 14+ books and wait for 3+ years of experience to pro-actively learn and apply in their regular job.

4. can help as a quick reference material while you are working on a Java/JEE project to pro-actively identify issues and build a better quality software whether you are a beginner or an experienced Java/JEE professional.  Same as above, may require additional googling but at least you know what key words to use.

Finally, I am the author of the above book. So do not take my word for it. You  be the judge and that is why I have provided the 40+ page free download. I would not buy a book without properly evaluating its usefulness, so should not you. I myslef use online resources and documenation heavily to educate myself and buy books only if I think it can add real value not to use it once and then decorate my bookshelf.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.