1、1Learn Java/J2EE core concepts and key areasWithJava/J2EE Job Interview CompanionByK.Arulkumaran&A.SivayiniTechnical ReviewersCraig MaloneStuart WatsonArulazi DhesiaseelanLara DAlbreoCover Design, Layout, & EditingA.SivayiniAcknowledgementsA. SivayiniMr. & Mrs. R. Kumaraswamipillai2Java/J2EEJob Inte
2、rview CompanionCopy Right 2005-2007 ISBN 978-1-4116-6824-9The author has made every effort in the preparation of this book to ensure the accuracy of the information. However,information in this book is sold without warranty either expressed or implied. The author will not be held liable for anydamag
3、es caused or alleged to be caused either directly or indirectly by this book.Please e-mail feedback & corrections (technical, grammatical and/or spelling) tojava-interviewFirst Edition (220+ Q&A): Dec 2005Second Edition (400+ Q&A): March 20073OutlineSECTION DESCRIPTIONWhat this book will do for you?
4、Motivation for this bookKey Areas indexSECTION 1 Interview questions and answers on:Java Fundamentals Swing Applet Performance and Memory issues Personal and Behavioral/Situational Behaving right in an interview Key PointsSECTION
5、2 Interview questions and answers on:Enterprise Java J2EE Overview Servlet JSP JDBC / JTA JNDI / LDAP RMI EJB JMS XML SQL, Database, and O/R mapping RUP & UML Struts Web
6、and Application servers. Best practices and performance considerations. Testing and deployment. Personal and Behavioral/Situational Key PointsSECTION 3 Putting it all together section.How would you go about?1. How would you go about documenting your Java/J2EE
7、application?2. How would you go about designing a Java/J2EE application?3. How would you go about identifying performance problems and/or memory leaks in your Javaapplication?4. How would you go about minimizing memory leaks in your Java/J2EE application?5. How would you go about improving performan
8、ce of your Java/J2EE application?6. How would you go about identifying any potential thread-safety issues in your Java/J2EEapplication?7. How would you go about identifying any potential transactional issues in your Java/J2EE4application?8. How would you go about applying the Object Oriented (OO) de
9、sign concepts in your Java/J2EEapplication?9. How would you go about applying the UML diagrams in your Java/J2EE project?10. How would you go about describing the software development processes you are familiar with?11. How would you go about applying the design patterns in your Java/J2EE applicatio
10、n?12. How would you go about designing a Web application where the business tier is on a separatemachine from the presentation tier. The business tier should talk to 2 different databases and yourdesign should point out the different design patterns?13. How would you go about determining the enterpr
11、ise security requirements for your Java/J2EEapplication?14. How would you go about describing the open source projects like JUnit (unit testing), Ant (buildtool), CVS (version control system) and log4J (logging tool) which are integral part of mostJava/J2EE projects?15. How would you go about descri
12、bing Service Oriented Architecture (SOA) and Web services?SECTION 4 Emerging Technologies/Frameworks Test Driven Development (TDD). Aspect Oriented Programming (AOP). Inversion of Control (IoC) (Also known as Dependency Injection). Annotations or attributes ba
13、sed programming (xdoclet etc). Spring framework. Hibernate framework. EJB 3.0. JavaServer Faces (JSF) framework.SECTION 5 Sample interview questions Java Web Components Enterprise Design GeneralGLOSSARY OF TER
14、MSRESOURCESINDEX5Table of contentsOutline_ 3Table of contents _ 5What this book will do for you? _ 7Motivation for this book _ 8Key Areas Index _ 11Java Interview questions & answers _ 13Java Fundamentals _ 14Java Swing _ 69Java Applet_ 76Java Performance and Memory issues _ 78Java Personal and Beha
15、vioral/Situational _ 83Java Behaving right in an interview_ 89Java Key Points _ 91Enterprise Java Interview questions & answers _ 94Enterprise - J2EE Overview_ 95Enterprise - Servlet_ 108Enterprise - JSP _ 126Enterprise JDBC & JTA_ 145Enterprise JNDI & LDAP _ 155Enterprise - RMI _ 159Enterprise EJB
16、2.x _ 163Enterprise - JMS _ 180Enterprise - XML _ 190Enterprise SQL, Database, and O/R mapping_ 197Enterprise - RUP & UML_ 206Enterprise - Struts_ 214Enterprise - Web and Application servers _ 218Enterprise - Best practices and performance considerations _ 222Enterprise Logging, testing and deployme
17、nt _ 225Enterprise Personal and Behavioral/Situational_ 228Enterprise Software development process_ 230Enterprise Key Points _ 233How would you go about?_ 238Q 01: How would you go about documenting your Java/J2EE application? FAQ_ 239Q 02: How would you go about designing a Java/J2EE application? F
18、AQ _ 240Q 03: How would you go about identifying performance and/or memory issues in your Java/J2EE application? FAQ_ 243Q 04: How would you go about minimizing memory leaks in your Java/J2EE application? FAQ _ 244Q 05: How would you go about improving performance in your Java/J2EE application? FAQ_
19、 244Q 06: How would you go about identifying any potential thread-safety issues in your Java/J2EE application? FAQ _ 245Q 07: How would you go about identifying any potential transactional issues in your Java/J2EE application? FAQ _ 2466Q 08: How would you go about applying the Object Oriented (OO)
20、design concepts in your Java/J2EE application? FAQ247Q 09: How would you go about applying the UML diagrams in your Java/J2EE project? FAQ _249Q 10: How would you go about describing the software development processes you are familiar with? FAQ _251Q 11: How would you go about applying the design pa
21、tterns in your Java/J2EE application? _253Q 12: How would you go about designing a Web application where the business tier is on a separate machine from thepresentation tier. The business tier should talk to 2 different databases and your design should point out the differentdesign patterns? FAQ_286
22、Q 13: How would you go about determining the enterprise security requirements for your Java/J2EE application? _287Q 14: How would you go about describing the open source projects like JUnit (unit testing), Ant (build tool), CVS(version control system) and log4J (logging tool) which are integral part
23、 of most Java/J2EE projects? _292Q 15: How would you go about describing Service Oriented Architecture (SOA) and Web services? FAQ_299Emerging Technologies/Frameworks _311Q 01: What is Test Driven Development (TDD)? FAQ _312Q 02: What is the point of Test Driven Development (TDD)? What do you think
24、of TDD?_313Q 03: What is aspect oriented programming (AOP)? Do you have any experience with AOP? _313Q 04: What are the differences between OOP and AOP? _317Q 05: What are the benefits of AOP?_317Q 06: What is attribute or annotation oriented programming? FAQ _317Q 07: What are the pros and cons of
25、annotations over XML based deployment descriptors? FAQ _318Q 08: What is XDoclet? _319Q 09: What is inversion of control (IoC) (also known more specifically as dependency injection)? FAQ_319Q 10: What are the different types of dependency injections? FAQ _321Q 11: What are the benefits of IoC (aka D
26、ependency Injection)? FAQ _322Q 12: What is the difference between a service locator pattern and an inversion of control pattern? _323Q 13: Why dependency injection is more elegant than a JNDI lookup to decouple client and the service?_323Q 14: Explain Object-to-Relational (O/R) mapping? _323Q 15: G
27、ive an overview of hibernate framework? FAQ _324Q 16: Explain some of the pitfalls of Hibernate and explain how to avoid them? Give some tips on Hibernate bestpractices? FAQ_333Q 17: Give an overview of the Spring framework? What are the benefits of Spring framework? FAQ_334Q 18: How would EJB 3.0 s
28、implify your Java development compared to EJB 1.x, 2.x ? FAQ _337Q 19: Briefly explain key features of the JavaServer Faces (JSF) framework? _339Q 20: How would the JSF framework compare with the Struts framework? How would a Spring MVC framework comparewith Struts framework?_341Sample interview que
29、stions_344Java_345Web components_345Enterprise_345Design_347General _347GLOSSARY OF TERMS_348RESOURCES _350INDEX _3527What this book will do for you?Have you got the time to read 10 or more books and articles to add value prior to the interview? This book has beenwritten mainly from the perspective
30、of Java/J2EE job seekers and interviewers. There are numerous books and articleson the market covering specific topics like Java, J2EE, EJB, Design Patterns, ANT, CVS, Multi-Threading, Servlets, JSP,emerging technologies like AOP (Aspect Oriented Programming), Test Driven Development (TDD), Dependen
31、cy InjectionDl (aka IoC Inversion of Control) etc. But from an interview perspective it is not possible to brush up on all these bookswhere each book usually has from 300 pages to 600 pages. The basic purpose of this book is to cover all the coreconcepts and key areas, which all Java/J2EE developers
32、, designers and architects should be conversant with to performwell in their current jobs and to launch a successful career by doing well at interviews. The interviewer can also use thisbook to make sure that they hire the right candidate depending on their requirements. This book contains a wide ra
33、nge oftopics relating to Java/J2EE development in a concise manner supplemented with diagrams, tables, sample codes andexamples. This book is also appropriately categorized to enable you to choose the area of interest to you.This book will assist all Java/J2EE practitioners to become better at what
34、they do. Usually it takes years to understand allthe core concepts and key areas when you rely only on your work experience. The best way to fast track this is to readappropriate technical information and proactively apply these in your work environment. It worked for me and hopefully itwill work for you as well. I was also at one stage undecided whether to name this book “Java/J2EE core concepts andkey areas” or “Java/J2EE Job Interview Companion”. The reason I chose “Java/J2EE Job Interview Companion” is