Below is not a complete, but a work-in-progress of the different topic that every senior Java Web Developer should know. Please comment on what you think should be added to this list!

I will be adding more topics to this as time goes!

JSP

  1. JSP Tag – How do you create a custom tag yourself?
  2. What are the Java EE scope?
    1. Session
    2. Application
    3. Page
    4. Request

Tomcat

  1. How does it keep track of a session?
  2. How does Tomcat handle JSP files?

Hibernate

  1. What are the lifecycle of an entity?
  2. What is the detached state of an entity?
  3. How does Hibernate keep track of entities?
  4. How does Hibernate detect changes to the entities?
  5. Does Hibernate automatically save the changes to the entity to the database? If yes, when?
  6. What is OpenSessionInView? Why it is an anti-pattern?
  7. Save vs. Merge
  8. JPS vs. Hibernate annotations?
  9. How to do:
    1. one-to-one mappings
    2. one-to-many mappings
    3. many-to-one mappings
    4. many-to-many mappings
  10. Eager Loading vs. Lazy Loading. How does Hibernate implement Lazy Loading (Java Proxies)?
  11. Why does Lazy Loading need to open session?
  12. What is the “N+1” problem and how do you resolve this?
  13. When is a session open and closed? What does the Spring @Transactional annotation do regarding to the session?
  14. What does “inverse” mean in many-to-many mappings?
  15. What are the Cascading Strategies? What is delete orphan strategy?
  16. What are the Hibernate id generation strategies (i.e. auto increase, sequence, etc)
  17. How do different databases implement these sequence strategies (i.e. Oracle, DB2)?
Categories: Java

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *