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
- JSP Tag – How do you create a custom tag yourself?
- What are the Java EE scope?
- Session
- Application
- Page
- Request
Tomcat
- How does it keep track of a session?
- How does Tomcat handle JSP files?
Hibernate
- What are the lifecycle of an entity?
- What is the detached state of an entity?
- How does Hibernate keep track of entities?
- How does Hibernate detect changes to the entities?
- Does Hibernate automatically save the changes to the entity to the database? If yes, when?
- What is OpenSessionInView? Why it is an anti-pattern?
- Save vs. Merge
- JPS vs. Hibernate annotations?
- How to do:
- one-to-one mappings
- one-to-many mappings
- many-to-one mappings
- many-to-many mappings
- Eager Loading vs. Lazy Loading. How does Hibernate implement Lazy Loading (Java Proxies)?
- Why does Lazy Loading need to open session?
- What is the “N+1” problem and how do you resolve this?
- When is a session open and closed? What does the Spring @Transactional annotation do regarding to the session?
- What does “inverse” mean in many-to-many mappings?
- What are the Cascading Strategies? What is delete orphan strategy?
- What are the Hibernate id generation strategies (i.e. auto increase, sequence, etc)
- How do different databases implement these sequence strategies (i.e. Oracle, DB2)?
0 Comments