哪些问题是面试官经常问Java工程师的问题 ? --- 转自quora
OOPs Concepts
Abstract Classes and Interfaces
Constructors
Overloading and Overriding
File IO and Serialization
Collections - List , Map , Set - Search, Sorting Algorithms
Access Specifiers
Exceptions - Checked , Unchecked
Generics
Java Keywords - static , final , volatile, synchronized , transient, this , super etc.
JVM and Memory Management
MultiThreading and Synchronization
HashCode and Equals
Design Patterns
Dependency Injection
Reflection API
Java 8 features - Lambda Expressions , Default Methods.
Here is a list of 200+ questions on Core Java - Java - Interview Questions and Answers - Quick Reference - One Liners.
分布式系统/网络部分 If Someone is being hired for a Network / Distributed Application,Following questions can be asked
Communication Protocols like IP, HTTP, TCP, FTP,UDP
Synchronous vs Asynchronus Communication
Sockets
Technologies like RMI, RCP
Message Queues
Interface APIs - JMS, JDBC
ORMs - EJB ( Session Beans , Entity beans, MDB's ), Hibernate
Java web开发 If someone has to work on a Java based web application then he can be asked questions around following topics -
JSP / JSF
Servlets / filters / Interceptors
Session Management / Transaction Management
JNDI
Architectures - n Tier, MVC
Web Frameworks like Struts / Spring
Service Oriented Architecture / Web Services - SOAP / Rest
Web Technologies like HTML, CSS, Javascript and JQuery
Markup Languages like XML and JSON.
Application and Web Servers
Caching
Cloud service (AWS, SoftLayer, BlueMix)
If someone has to work on Java UI, then questions around following can be expected -
- Applets
- Frameworks like Swing, SWT, AWT
- Advanced Frameworks like JavaFX
Every Developer is expected to have knowledge regarding the Data structures. If you are applying positions for a product / system development companies, lot stress will be given to these Questions.
算法导论讲的很全
- Arrays , Linked List
- Search Algorithm and their complexity
- Sorting Algorithms and their complexity
- Trees , Graphs
Every Java Developer is expected to have Database Knowledge so questions around following concepts can be asked
Database Drivers
Normalization / Denormalization 泛化
Isolation Levels
Transaction Management
SQL Tuning / Optimization
SQL Queries - Inner Outer Joins, Group By , Having
Prepared Statement and their benefit.
Indices , Views
Stored Procedures
Triggers
Cursors
实际开发中回用到,平时注意总结就是了 Moreover questions around Tools, Methodologies, Processes can be asked -
Development Tools - Eclipse / RAD
Design Tools and Diagrams
Configuration Management Tools like SVN, Clearcase etc
Defect Management
Build Tools like Maven, Ant etc
Testing - Unit Testing, JUnit , Black box , White Box
Development Methodologies - Agile / Waterfall / Iterative
Requirement Analysis
Release Management
and then Interviewer can also ask open ended questions.
Which feature would you most like to see added to Java? 增加什么特征?
Which feature would you most like to be removed from Java? 减少什么特性?
Have you gone through some of the features introduced with latest Java version ? 你体验了什么Java新版本的特征?
Do you think removing Perm gen completely in Java 8 is a good idea ? Java 8中去掉永久代是个好主意么?
How would you go about debugging an exception ? 怎么调试exception 异常?
How does Java differ from other programming languages you've worked with? Java和其他编程语言有什么不同?
How do you document your code ? 你是怎么给代码写文档的?
If you are given a choice to implement something using javascript or Java ? Which technology will you use and why ?
What Design Patterns you have used in your project ? 设计模式
Which Web application Framework - Struts, Spring do you like and Why ? web开发框架
Which IDE, Source Control,Build tool you think is best ?
Which development methodology you would like to work with ? 开发方法学
Do you think using open source servers like Apache , Tomcat is a better idea than paid servers ? 开源服务器 VS付费服务器
Which testing tools do you use ? 测试工具
What are the most important performance issues in Java web applications 性能问题
What are the most important technologies / specifications in Java EE 6? Java EE 6的最重要的特性是什么?
Do you like pair programming ? What's your views on Agile methodology comparing to SDLC ? 结对编程 敏捷开发 Software Development Life Cycle
Here are few links that might help.
200+ Java / J2EE Interview Questions and Answers
Java - Advanced Interview Questions for Experienced Professionals
Struts Framework - Interview Questions and Answers
Spring framework - Interview Questions and Answers
Hibernate - Interview Questions and Answers - Quick Reference
WAS / WSAD / RAD - Interview Questions and Answers
SVN ( subversion ) Interview Questions and Answers
Interview Questions and Answers on Maven
SVN ( subversion ) Interview Questions and Answers
Interview Questions and Answers on JSON (JavaScript Object Notation)
REST Web Services - Interview Questions and Answers
Java - SWT ( Standard Widget Toolkit ) / JFACE - Interview Questions and Answers
JavaScript interview questions and answers
Interview Questions and Answers on Markup Languages - XML , JSON
Interview Questions and Answers
Online Practice Tests - Java , Spring , Struts , Unix , Design Pattern , Websphere Commerce