找 Java,J2EE 工作
希望给你一些参考。
首先,确定你找什么样的职位?
- Junior (1-2 years)
- intermediate (3-5 years)
- senior (5-7 years)
- architect (7-10 years or 10 years +)
所以,你可以根据自己的工作年限,对号入座。这是 HR 的标准。每个公司会有出入,但相信差别不大。
其次,技术的要求:
- JavaServer Faces (RichFaces,...), Struts 这些是比较流行的,JSF 现在开始占据主导地位,要想找好工作,这个应该要会。AJAX 也是应该会的,但许多 JSF 的 implementation 里,都支持 Ajax, 不用自己会写 Ajax 的 Java
- POJOs, EJB 2.0, 3.0, Spring 这些是 business tier 要知道的。特别是 Spring Framework, 许多中小公司特爱用,主要是 open source 的。如果没用过 Spring,起码要知道什么是 DI (Dependency Injection), IoC 等概念。
- Hibernate, TopLink, JPA 这些是 ORM 的技术,至少精通其中一个, 因为他们相同。这个是 must have 的技术。Sun 的趋势是走 EclipseLink,基于 TopLink 的 code base 的 community edition.
- AOP (Aspect oriented programming), Annotation 都应该知道,最好有实战经验。
- Design Patterns: GoF, Core J2EE Design Patterns 都应该精通,要会每个 patten 的 class diagram,知道都干什么用。
- Methodology: RUP (Rational Unified Process) 和 Agile Method (Scrum, XP)都要知道他们的有缺点,为什么现在都用这个,而放弃了传统的 SDLC?
- Architecture and Design: N-tier architecture, Layer/Tier Architecture etc. How to design a system?
- Software Architecture: 4+1 view of architecture, Zachman architecture, DoDAF, SunTone Architecture, TOGAF, etc, 至少知道一个。尤其是申请 Architect 职位,我建议至少知道 2 个。
- OOAD & UML: inheritance, polymorphism, generalization, realization, abstraction, encapsulation, etc. 知道如何用 UML 表述.
- Web Services & SOA: How to implement WS? WS-Security? Describe SOA solution stack? What is ESB? BPM?Service oriented analysis and design: Identification/Specification/Realization. 主要还会问到具体的 platform 上,比如 IBM Process Server 和 Integration Developer,或是 BEA Acqulogic ESB。还有比如 JAX-RPC 和 JAX-WS 的区别?
一般面试时,我都会问你在书本上找不到的问题,比如给你个 Scenario,如何 design a class diagram? Show the associations between the classes, and multiplicity.
我还会问一些 design pattern 的问题,或是比较两个 patterns 的不同用处。
请同学们准备至少两个 success stories,面试时用得到。
有些 tough questions you should be well prepared before interview:
- Why are you leaving your current company?
- How to deal with people whom you don't like?
- What are your weaknesses?
- How much are you looking for? Please give a figure.
如果你是牛人,我会问你:Have you designed your own custom framework? What is your intent and what problems do you try to address? What patterns do you use in your framework and why?
If you pass 90% of the questions, you're hired as an architect.
还有很多, 后面的,要收学费了,哈哈。