## 英语面试

以下用I表示面试官（Interviewer），用C表示面试者（Candidate）。

### 开场寒暄

1. I: Thanks for waiting. (Please follow me.)

   C: It's no problem.

2. I: How are you doing this morning?

   C: I'm great. / I'm doing fine. Thank you. / How about you?

3. I: How did you get here?

   C: I took the subway here. / I drove here.

4. I: Glad to meet you.

   C: Glad to meet you. / It's great to finally meet you in person. (之前电话沟通过的)

### 正式面试

#### 人力面试

1. I: Can you tell me a little bit about yourself? (介绍下自己)

   原则：不要谈私生活和奇怪的癖好（英雄联盟干到钻石），因为别人更想知道的是你的专业技能（qulifications）和工作经验（experience），所以重点在你之前的公司（company name）、职位（title）、时间（years）和主要职责（major responsibilities）

   C: Thank you for having me. My name is Dachui WANG. I'm 25 years old, and I'm single. I have a Bachelor's Degree of Computer Science from Tsinghua University. I was a Junior Java Programmer for ABC Technologies during my college life. Then I become an intermediate Java engineer for XYZ Corporation in last two years. Programming is my everyday life and programming is where my passion is. I think I have a good knowledge of Java enterprise application developement using light-weight frameworks like Spring, Guice, Hibernate and other open source middle-ware like Dubbo, Mycat, rocketmq and so on and so forth. I love reading, travelling and playing basketball in my spare time. That's all! Thank you!

2. I: How would you describe your personality? (你的性格)

   C: I'm hard working, eager to learn, and very serious about my work. I enjoy working with other people and I love challenges.

3. I: What do you know about our company? (你对我们公司有什么了解)

   (需要做功课，了解公司的状况和企业文化，该公司在这个行业中的一个状况，有什么核心业务，主要的竞争对手有哪些)

   C: The one thing that I like the most about our company is your core values. I think they're very important in this industry because …(自由发挥的部分)... I personally really believe in the cause as well. Of course, I'm very interested in your products such as …(功课部分)… and the techniques behind them.

4. I: Why are you leaving your last job? (为什么离职)

   C: I want to advance my career and I think this job offers more challenges and  opportunities for me do to that.

5. I: What do you see yourself in 3 or 5 years? (3-5年职业规划)

   C: My long term goals involve growing with the company, where I can continue to learn, to take on additional responsibilities and to contribute as much value as I can. I intend to take advantage of all of these.

6. I: What's your salary expectation? (期望薪资)

   C: My salary expectation is in line with my experience and qualifications. I believe our company will pay me and every other employee fairly. (把球踢给对方先看看对方报价是多少，如果对方非要你报价再说后面的内容) I think 15 thousands RMB or above is fitting for me to leave in Chengdu.

7. I: Do you have any questions for me? (问面试官的问题)

   C: What's the growth potential for this position?


#### 技术面试

1. I: What's difference between an interface and an abstract class?
2. I: What are pass by reference and pass by value?
3. I: What's the difference between process and threads?
4. I: Explain the available thread state in high-level.
5. I: What's deadlocks? How to avoid them?
6. I: How HashMap works in Java?
7. I: What's the difference between ArrayList and LinkedList? (类似的问题还有很多，比如比较HashSet和TreeSet、HashMap和Hashtable)
8. I: Tell me what you know about garbage collection in Java.
9. I: What're two types of exceptions in Java?
10. I: What's the advantage of PreparedStatement over Statement?
11. I: What's the use of CallableStatement?
12. I: What does connection pool mean?
13. I: Explain the life cycle of a Servlet.
14. I: What's the difference between redirect and forward?
15. I: What's EL? What're implicit objects of EL?
16. I: Tell me what you know about Spring framework and its benefits.
17. I: What're different types of dependency injection.
18. I: Are singleton beans thread safe in Spring framework?
19. I: What're the benefits of Spring framework's transaction management?
20. I: Explain what's AOP.
21. I: What's a proxy and how to implement proxy pattern?
22. I: How Spring MVC works?
23. I: What's the working scenario of Hibernate and MyBatis?
24. I: How to implement SOA?
25. I: Make a brief introduction of the projects you are involved before?


上面主要是面试Java程序员的问题，但是整个流程大致如此。
