Software developer, trainer, speaker (Java, JavaScript, Groovy, php, Cloud, DevOps, performance, architecture, motivational topics). I'm a passionate software developer. Software of best quality in the shortest possible time, that's my goal. Thomas has posted 6 posts at DZone. You can read more from them at their website. View Full User Profile

Technical Job Interview Questions for Java EE architects

12.02.2011
| 39771 views |
  • submit to reddit
Here are some (not a complete list) of my technical job interview questions about Java EE and related issues on the server side. I don't give here any answers to the questions as you can easily find them on the web, but I usually add a comment.


Database systems


  • What are heuristic exceptions? What can be done when a heuristic exception happens? (People are so often talking about heuristics that I really wonder if they know what they are talking about)
  • What does ACID mean? (I know everybody knows the simple answer, but do some research. A and D mean nearly the same, and the C does not make much sense...)
  • What does BASE mean? (This becomes more and more important in the area of distributed computing)
  • What are isolation levels? (Standard question, but one should know the answer)
  • What kind of caches are there in Hibernate ORM (or similiar products)?


    Modelling and Coding


    • What are anemic domain models? (People always talk about OOP, but then they use this kind of models for Java server applications all the time)
    • What are the SOLID principles? (A must known...)
    • What code generation tools do you know? Which ones did you use? (If the interviewee does not like or use code generation tools, then he should at least explain, why he doesn't like them)
    • Which ways of creating your own DSLs doy ou know? Which ones did you use? (Would be nice if the interviewee would mention other languages like Groovy or Scala and their capabilities of creating DSLs)
    • Which UML diagram types do you know? What are UML stereotyypes? What are UML color standards? (Colors: check Peter Coad)

    Java VM


    • What kind of garbage collectors are there in Java 6? What are the differences? Which ones are usually used for Java EE applications? How can you find out which garbage collector should be used for a Java EE application? (I think an architect is often concerned with performance and scalability issues, so some know-how about GC might be helpful)
    • What is the generational hypothesis concerning garbage collection?
    • What kind of locks in the Java VM do you know? (Or more general, what is the difference between a mutex and a semaphore and similiar questions.)
    • What are the most important languages running on a Java VM? Which ones did you use? What are their advantages and disadvantages? (The selection of the right language for the right task is important)
    • What monitoring tools do you know? Which ones did you use in production?

    Java EE


    • What are the most important technologies / specifications in Java EE 6?
    • What is Weld?
    • Which Java web frameworks do you know? What are their advantages and disadvantages? Which ones did you use? (The most important or interesting ones should be mentioned)
    • Which ways of making asynchronous calls within a Java EE 6 server do you know? (E.g. there is a new annotation in EJB 3.1 for this issue)
    • Which ways of asynchronous communication between web browsers and web servers do you know? (Comet, web sockets, and so on)
    • What are the most important performance issues in Java web applications? (Check the Dynatrace blog)
    • What are the most important performance issues in Java EE server applications? (Check the Dynatrace blog)

    Distributed Computing


    • What are the advantages and disadvantages of ESBs? Which ESBs do you know? Which ones did you use? (An ESB might be one of the important building blocks on the server side)
    • What is the CAP theorem? (Now that's quite important)
    • What is Terracotta used for? (I mention this product, because it is probably the most important one in this area)
    • What is the tocken bucket algorithm? (An architect should know a few techniques for controlling network communication)
    • What is REST used for? What are the advantages and disadvantages?
    • What is Amdahls Law? What is Gustafson's Law?
  • Published at DZone with permission of its author, Thomas Eichberger.

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

    Comments

    Jonathan Fisher replied on Fri, 2011/12/02 - 3:58pm

    What kind of locks in the Java VM do you know? (Or more general, what is the difference between a mutex and a semaphore and similiar questions.)
    This question isn't valid... It would read better as: "What kinds of synchronization mutexes in the JVM do you know?"

    A semaphore isn't a subset of a lock. A Mutex (Mutual Exclusion) is a general term for locks, monitors, semaphores, barriers, etc, that protect a critical section. http://en.wikipedia.org/wiki/Mutex

    Some of the other questions are obscure or open ended, but it's still a nice list.

    Lester Burnham replied on Sun, 2011/12/04 - 12:51am

    Whenever I see a list of "interview questions", I wonder if the folks perusing those would be up for a discussion on those matters beyond a single-line (or single-paragraph) answer - which is what a competent interviewer would likely engage in.

    Jammer Man replied on Mon, 2011/12/05 - 9:50am

    If I had to work with this guy on a daily basis, I wouldn't take the job to begin with.

     

    Thomas Eichberger replied on Mon, 2011/12/05 - 1:21pm

    Dear Jonathan, thank you very much for your hints.

    Why do you think that a semaphore is not a lock? You quoted Wikipedia, so let me please quote it, too: "A (binary) semaphore is the simplest type of lock." http://en.wikipedia.org/wiki/Lock_(computer_science)

    The questions should be open ended, if possible, but which questions are obscure? I wouldn't know any here:-)

    Thomas Eichberger replied on Mon, 2011/12/05 - 1:23pm

    Dear "Jammer Man", the questions show some topics which I think are important. I love software development and try to learn as much as possible about it. And I expect this from a good architect, too.

    Bruce Baron replied on Mon, 2011/12/05 - 3:45pm

    What are the most important technologies / specifications in Java EE 6?

    Are you looking for opinion or is there a definitive answer?

    Thomas Eichberger replied on Mon, 2011/12/05 - 4:08pm in response to: Bruce Baron

    Opinion. He should show me what he knows, that he has an overview about the technologies, and so on. He has not to be perfect in every technology, but should know what it is used for, advantages, disadvantages, and so on.

    Sandeep Bhandari replied on Thu, 2011/12/08 - 2:02am

    Thomas, thanks for the list. Definitely updated with latest technologies. I also wrote about interview which included the kind of coding questions asked to developers at 10 Challenging Java Programming Question

    Arnauld Loyer replied on Sat, 2011/12/10 - 1:05pm

    Some response elements to go further: Response to "Technical Job Interview Questions for Java EE architects"

    John David replied on Wed, 2012/01/25 - 7:06pm

    Good Job. But where are the answers to all these questions?

    Please also post your answer. I would like to get some good idea of all these questions.

    Also what is best suitable for a web based application that has a huge database at backend and multiple users will access this application.

    new java

    Priya Dandekar replied on Tue, 2012/04/03 - 1:06pm

    Thanks for preparing the list of questions. Asking such questions to hite the right candidate is very important. We are seeing so many fake profiles now a days and filtering is getting difficult day by day.

    FromDev Architect

    Comment viewing options

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