|
|
本帖最后由 michaelsusu 于 18-11-2013 20:37 编辑
事前还是说一句,放弃C++可惜,三思三思。
俺也是用C++的,但是以前做过几年Java,一点肤浅的理解如下。如果知识有点过时的话,请原谅。
首先,确定你找什么样的职位?
- Junior (1-2 years)
- intermediate (3-5 years)
- senior (5-7 years)
- architect (7-10 years or 10 years +)
其次,技术的要求:
- 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 的技术。
- 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 的不同用处。
如果你是牛人,会问你: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.
|
评分
-
查看全部评分
|