Уже неоднократно в нашем блоге публиковались списки вопросов для различных собеседований.
Например не так давно Юра опубковал свой список вопросов на JSE девелопера, а до того и я нашел в сети 30 вопросов к соискателю на должность Java-разработчика.
Продолжая начатую тему, представляю ещё один небольшой список вопросов на JEE-разработчика.
По неподтвержденным данным большинство данных вопросов задаются соискателям в Sun Microsystems. Вопросы собрал и сгруппировал мой бывший коллега Павел Яцюк.
(сразу прошу не критиковать первые вопросы, их цель – немного расслабить/разговорить кандидата)
- Give a few reasons for using Java?
- What is the main difference between the Java platform and the other software platforms?
- What are the advantages of Object Oriented Programming Languages (OOPL)?
- What do you mean by polymorphism, inheritance, encapsulation, and dynamic binding?
- What is the difference between an abstract class and an interface and when should you use them?
- What is the main difference between an ArrayList and a Vector? What is the main difference between Hashmap and Hashtable?
- What is serialization? How would you exclude a field of a class from serialization
- Explain the Java I/O streaming concept and the use of the decorator design pattern in Java I/O?
- Explain Outer and Inner classes (or Nested classes) in Java? When will you use an Inner Class?
- Discuss the Java error handling mechanism? What is the difference between Runtime (unchecked) exceptions
- and checked exceptions? What is the implication of catching all the exceptions with the type “Exception”?
- What is a singleton pattern? How do you code it in Java?
- What is a factory pattern?
- Explain MVC architecture relating to J2EE?
- HTTP is a stateless protocol, so how do you maintain state? How do you store user data between requests?
- Explain the life cycle methods of a servlet?
- What is the difference between doGet () and doPost () or GET and POST?
- What are the considerations for servlet clustering?
- If an object is stored in a session and subsequently you change the state of the object, will this state change replicated to all the other distributed sessions in the cluster?
- What is a filter, and how does it work?
- Explain declarative security for WEB applications?
- Explain the Front Controller design pattern or explain J2EE design patterns?
- What is JDBC? How do you connect to a database?
- What are JDBC Statements? What are different types of statements? How can you create them?
- What is JNDI? And what are the typical uses within a J2EE application?
- Explain EJB architecture?
- What are the different kinds of enterprise beans?
- What are transactional attributes?
- What are isolation levels?
- What is a distributed transaction? What is a 2-phase commit?
- What is the difference between optimistic and pessimistic concurrency control?
- What is a business delegate? Why should you use a business delegate?
- What is a session facade?
- What is a value object pattern?
- Explain lazy loading and dirty marker strategies?
- What is Message Oriented Middleware? What is JMS?
- What type of messaging is provided by JMS?
- What is the difference between a SAX parser and a DOM parser?
- Explain inner and outer joins?
- Explain Object-to-Relational (O/R) mapping?
- How will you map objects to a relational database? How will you map class inheritance to relational data model?
- What is a view? Why will you use a view? What is an aggregate function? Etc.
- What are the different types of UML diagrams?
- What is inversion of control (IOC) (also known as dependency injection)?
- Give an overview of Struts? What design patterns are used in Struts?
- What source control systems have you used?
- What operating systems are you comfortable with?