Synopses & Reviews
Acing the Java Programming Interview provides more than 150 interview questions and solutions that job seekers are likely to encounter when interviewing for Java coding positions. These real-world questions come from real employer interviews, as compiled by the online interview testing site Interview Zen.
The book covers three main skill sets: The Interview Process, Core Java, and Java Components and Frameworks. The Interview Process section prepares readers for the various interview formats that can trip up even an experienced programmer. These include telephone screening, technical at-computer or “pair testing", and the softer personality-based interviews. These are the types of questions used to weed out applicants, before getting into detailed questions that drill down into Java itself. For example, basic questions regarding software design patterns, data formats and algorithms.
The section on Core Java covers the part of the interview process that tests the applicant's understanding of Java language fundamentals, including types, naming conventions, strings, generics, common methods, and exception handling. There is also a focus on unit testing; these skills are often the subject of interview questions. They will also be used to run most examples throughout the book, and provide an environment for self-testing programming skills, so would be of general use to people honing their core Java language skills. Other common interview questions covered include the Java Virtual Machine (operation and tuning) and concurrency, both of which are core to enterprise Java operations.
Java Components and Frameworks covers all of the essential class libraries, frameworks, and server technologies that support Java enterprise development. These include the Spring and Hibernate middleware frameworks; build tools like Maven and Ant; server technologies like Tomcat; and database methods and technologies. Each chapter can be read in isolation, with no dependency on any other chapter from this section.
An appendix covers the two other languages that run on the JVM: Scala and Groovy. These two languages are becoming popular adjuncts for JVM-based development, and key to running production systems on JVM. Employers will be impressed by candidates that can demonstrate a breadth of skills for running production systems on the JVM.
The book's companion website will provide all of the sample code in the book, plus link to Interview Zen for ancillary support material and testing.
Synopsis
Land your next Java programming job by acing the interviewJava programming skills are in demand, yet there's been little available to help job-seekers prepare for challenging interviews for Java programming jobs, until now. If you're interviewing for a job as a Java programmer, start with this book. It goes beyond interviewing basics and prepares you for the really tough questions on Java coding, including core Java, components, and frameworks. The book challenges you with 150 interview questions - culled from more than 20,000 actual interviews - and thoroughly prepares you with winning answers and solutions. A companion website provides all sample code used in the book plus a link to Interview Zen for additional support.
Prepares Java job-seekers for challenging job interviews on the entire Java programming eco-systemTests candidates using more than 150 interview questions Partners with Interview Zen, the online interview engine, to provide readers with a rich set of challenging questions and solutions based on real employer interviewsCovers interview topics such as Java components, Java virtual machine operation and tuning, and Java frameworks such as Spring and Hibernate, as well as server technologies like Tomcat and moreBefore you can get that Java programming job, you have to ace the interview!
Synopsis
If you are a skilled Java programmer but are concerned about the Java coding interview process, this real-world guide can help you land your next positionJava is a popular and powerful language that is a virtual requirement for businesses making use of IT in their daily operations. For Java programmers, this reality offers job security and a wealth of employment opportunities. But that perfect Java coding job won't be available if you can't ace the interview. If you are a Java programmer concerned about interviewing, Java Programming Interviews Exposed is a great resource to prepare for your next opportunity. Author Noel Markham is both an experienced Java developer and interviewer, and has loaded his book with real examples from interviews he has conducted.
- Review over 150 real-world Java interview questions you are likely to encounter
- Prepare for personality-based interviews as well as highly technical interviews
- Explore related topics, such as middleware frameworks and server technologies
- Make use of chapters individually for topic-specific help
- Use the appendix for tips on Scala and Groovy, two other languages that run on JVMs
Veterans of the IT employment space know that interviewing for a Java programming position isn't as simple as sitting down and answering questions. The technical coding portion of the interview can be akin to a difficult puzzle or an interrogation. With Java Programming Interviews Exposed, skilled Java coders can prepare themselves for this daunting process and better arm themselves with the knowledge and interviewing skills necessary to succeed.
Synopsis
Ace the interview and get the Java programming job you deserveJava Programming Interviews Exposed is written to specifically prepare you for the questions you’ll face when interviewing for highly sought-after jobs in Java. Expert interviewer and Java developer Noel Markham has teamed with Interview Zen to provide challenging Java-specific questions and answers compiled from over 20,000 interviews conducted by real-world IT employers. This invaluable resource will prepare you to effectively demonstrate your knowledge of the entire Java ecosystem and overcome common interview missteps. Walk into your next interview with confidence—and walk out with the Java programming job of your dreams.
Java Programming Interviews Exposed:
- Provides over 200 interview questions and solutions taken directly from Java coding position interviews
- Develops three key skill sets for Java job seekers: The Interview Process, Core Java, and Java Components and Frameworks
- Offers an expanded appendix on the Java Virtual Machine (JVM) language, Scala, to impress potential employers
- Grants you access to a companion website that will provide all of the sample code in the book, plus a link to Interview Zen for additional support material and testing
Wrox guides are crafted to make learning programming languages and technologies easier than you think. Written by programmers for programmers, they provide a structured, tutorial format that will guide you through all the techniques involved.
www.wrox.com
Programmer Forums
Join our Programmer to Programmer forums to ask and answer programming questions about this book, join discussions on the hottest topics in the industry, and connect with fellow programmers from around the world.
Code Downloads
Take advantage of free code samples from this book, as well as code samples from hundreds of other books, all ready to use.
Read More
Find articles, e-books, sample chapters, and tables of contents for hundreds of books, and more reference resources on programming topics that matter to you.
About the Author
Noel Markham is an experienced interviewer and Java developer with experience across technology, financial, and gaming industries. Most recently he has been working in startups for social gaming and digital entertainment. He has hosted interviews for developers of all experience levels, from recent graduates to technical leaders.
Table of Contents
Introduction xi
Part I: Navigating the Interview ProcessChapter 1: Dissecting Interview Types 3Looking at the Phone Screening Process 4
Reviewing Technical Tests 5
Handling Face-to-Face Interviews 7
Making the Decision 8
Summary 9
Chapter 2: Writing a Noticeable Resume 11
How to Write a Resume and Cover Letter 11
Writing a Cover Letter 14
Summary 15
Chapter 3: Technical Test and Interview Basics 17
Technical Written Tests 17
At-Computer Tests 18
Face-to-Face Technical Interviews 19
Summary 21
Chapter 4: Writing Core Algorithms 23
Looking at Big O Notation 23
Sorting Lists 24
Searching Lists 32
Summary 33
Chapter 5: Data Structures 35
Lists 35
The Relationship between Arrays and Lists 36
Trees 39
Maps 45
Sets 48
Summary 49
Chapter 6: Design Patterns 51
Investigating Example Patterns 51
Commonly Used Patterns 60
Summary 64
Chapter 7: Implementing Popular Interview Algorithms 65
Implementing FizzBuzz 65
Demonstrating the Fibonacci Sequence 67
Demonstrating Factorials 71
Implementing Library Functionality 72
Using Generics 80
Summary 83
Chapter 8: Java Basics 87
The Primitive Types 88
Using Objects 91
Java’s Arrays 98
Working with Strings 98
Understanding Generics 101
Autoboxing and Unboxing 107
Using Annotations 109
Naming Conventions 111
Classes 111
Variables and Methods 111
Constants 111
Handling Exceptions 112
Using the Standard Java Library 115
Looking Forward to Java 8 119
Summary 120
Chapter 9: Testing with JUnit 123
The JUnit Test Life Cycle 125
Best Practices for Using JUnit 127
Eliminating Dependencies with Mocks 138
Creating System Tests with Behavior-Driven Development 143
Summary 146
Chapter 10: Understanding the Java Vi rtual Machine 147
Garbage Collection 147
Memory Tuning 149
Interoperability between the JVM and the Java Language 152
Summary 157
Chapter 11: Concurrency 159
Using Threads 159
Working with Concurrency 165
Actors 169
Summary 174
Part III: Components and Frameworks
Chapter 12: Integrating Java Applications with Databases 177
SQL: An Introduction 177
JDBC: Combining Java and the Database 191
Testing with In-Memory Databases 198
Summary 199
Chapter 13: Creating Web Applications 201
Tomcat and the Servlet API 201
Jetty 207
Play Framework 213
Summary 218
Chapter 14: Using HTT P and REST 221
The HTTP Methods 221
HTTP Clients 224
Creating HTTP Services Using REST 226
Summary 230
Chapter 15: Serialization 231
Reading and Writing Java Objects 231
Using XML 234
JSON 240
Summary 243
Chapter 16: The Spring Framework 245
Core Spring and the Application Context 245
Spring JDBC 255
Integration Testing 259
Spring MVC 262
Summary 269
Chapter 17: Using Hibernate 271
Using Hibernate
Summary 284
Chapter 18: Useful Libraries 287
Removing Boilerplate Code with Apache Commons 287
Developing with Guava Collections 290
Using Joda Time 296
Summary 300
Chapter 19: Developing with Build Tools 301
Building Applications with Maven 301
Ant 309
Summary 311
Chapter 20: Android 313
Basics 314
Components 314
Intents 315
Activities 318
Broadcast Receivers 321
Services 322
User Interface 326
Persistence 333
Android Hardware 336
Summary 340
Appendix: Introducing Scala 341
Index 353