zoukankan      html  css  js  c++  java
  • 成为JAVA(高级)工程师

    宏观方面

    一、 Java。要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级) 工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。如果可能,希望您 对JAVA的所有包都浏览一下,知道大概的API,这样您就发现其实您想实现的很多功能,通过JAVA的API都可以实现了,就不必自己费太多的脑经 了。 

    二、 设计模式。其实写代码是很容易的事情,我相信您也有同感。但如何写得好就比较难了。这个“好”字包括代码可重用性,可维护性,可扩展性等。如何写出好的代 码往往要借助一些设计模式。当然长期的代码经验积累,只要您用心,会使您形成自己代码风格。相信您的代码也比较符合代码的可重用性,可维护性,可扩展性。 但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进? 

    三、 XML。现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存您的系统业务数据。因此您必须了解 XML,包括它的语法,结构。您还需要比较熟练的使用解析XML的一些API,比如JDOM,SAX等,因为在我们一般的项目中,XML往往担当系统配置 信息的作用,您需要用这些API解析这些配置信息,开发完美的项目。 

    四、 精通使用一种或两种框架。像在《如何成为java初级程序员》中提到的那样,“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开 发使你可以省出很多的开发成本”。但我这里希望您能精通,更多的是希望您能通过框架的使用了解框架的思想。这样您在开发一个项目时思路会开阔一些,比如您 会想到把SQL语句与您的JAVA代码分开,再比如您会考虑把您的业务逻辑配置到XML或者数据库中,这样整个项目就很容易扩张了。 


    五、 熟悉主流数据库。其实真正比较大的项目都是有人专门做数据库的,但往往很多项目要求作为(高级)工程师的您也参与数据库的设计以及SQL的编写。所以为了 更好的为国家做贡献,建议您还是多了解一些主流数据库,比如SQLSERVER,Oracle,多连接SQL和存储过程以及触发器。如果您不是“科班”出 身,您还需要补充一些数据库原理方面的知识。 


    六、 精通一种或两种WEBServer。尽管我再《如何成为java初级程序员》里讲过它,我还是要强调您要精通一种或两种。因为作为JAVA工程师,特别时 想成为高级JAVA工程师的您,您不可避免地要部署您的项目到WebServer上,而且只有当您精通一种WebServer,您才可能最大限度地使用它 的资源,这往往可以节省很多时间和精力。 


    七、 UML。我知道您肯定想成为高级工程师,因此您有必要了解或熟练或精通UML,这取决于您有多大决心想成为高级工程师和项目经理。在比较正规的开发团队 中,UML是讨论项目的交流工具,您要想做一个软件工程师,您至少要能看懂,您要想做高级工程师,您要能通过它来描述您对项目的理解,尽管这不是必须,但 却很重要。 


    八、 站在高度分析问题:这不是一个知识点,也不是通过书本就能学得到的。只所以提到这一点,是因为我比您还着急,我希望您更快的成为一个高级的软件工程师,而 不是一个一般的软件工程师。希望您在工作中多向您的系统分析员、需求分析员、系统设计员学习,多站在他们角度上去看您在开发的项目。在最好在项目之初先在 您的脑海里对项目有个大致的分析、设计,然后和他们进行比较,找找差别,想想缺点。 
    九、 工具。与在《如何成为java初级程序员》里提到的不同,您在这个阶段可能接触到不同的工具了,尽管您还需要使用JB或者IDEA,但能可能对 ROSE,Together要多了解一些,因为您要画UML了。不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员 去写吧

    微观方面

    1.Core Java部分
    这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:
                a.面向对象编程思想(封装继承多态接口)
                b.字符串处理
                c.java.lang包,java.util包等常用包
                d.java异常处理

    2.Java高级部分
           a.Java I/O流
           b.Java多线程技术
           c.Java网络编程
           d.Java Swing
              后两项可以了解即可,如果项目需要可以深入研究

    3.前端基本技能

               * HTML + CSS网页开发
               * JavaScript
               * jQuery
               * 浏览器兼容性 CSS hack(了解)
    4.熟练使用JSP + Servlet进行开发
    5.MVC设计模式,原理,以及相关框架,如Struts
    6.SSH框架
    7.缓存技术 session & cookie
    8.熟练使用一种以上Java开发工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
    9.熟练使用XML
          JDOM w3c.dom SAX
    10.Java设计模式
          工厂模式,单例模式 ==
    11.Java反射机制
          反射的各种用法
    12.了解或熟悉 C, C++, .NET
    13.熟悉JDK的配置,环境变量
    14.数据库oracle必学,其他最好了解一种以上(MySQL,sql server,access==)
               oracle:视图,索引,存储过程,触发器,游标,包,常用函数 ==
    15.数据库原理
             事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案==
    16.JDBC,连接池
    17.Ajax,反向Ajax
    18.HTTP协议,request 和 response的原理,HTTP status(了解常用的),Https原理
    19.熟悉Linux基本命令,使用过Linux/Unix系统,可以编写shell脚本,可以在Linux上部署项目
    20.了解windows系统批处理脚本bat
    21.了解HTML5,最好学习过
    22.熟悉一种JS框架,如Prototype
    23.J2EE原理 熟悉一种以上web容器如Tomcat,JBoss,websphere,weblogic==
    24.熟悉ant或maven
    25.熟悉一门脚本语言,如Python ,ruby
    26.了解PHP/ asp

    27.了解ftp协议及原理

    28.熟练使用Junit测试,熟悉Mockito等测试工具

    29,熟悉javac,javadoc,native,native2ascii等常用命令
    30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究过一些的算法。
    31.了解Flex(不学也没关系)
    32.了解敏捷开发模式
    33.工作流workflow至少用过一种,如OSworkflow,了解原理
    34.使用过VPN了解其原理
    35.熟悉jstl表达式和el表达式
    36.熟悉webservice,WSDL,SOAP
    37.图片处理,如图片上传,预览,限制大小等
    38.版本控制工具,CVS VSS SVN
    39,JSON技术,JSON+AJAX
    40.分页技术,最好自己实现过不仅仅是用过要知道原理
    41.Java Mail
    42.Java读写txt,excel,JXL技术
    43.JVM原理,JVM内存管理,GC,Java堆栈池
    44.熟练使用下面的工具:
            office办公软件,word,excel,ppt等
            plsql,sqldevelop 数据库开发工具
            outlook大公司都用
            ue编辑器
            浏览器控制台,调试
            SHH/PUTTY 远程

    45.UML建模工具Rational Rose等

    46. 使用log4j

    47.使用过开放Api如百度,腾讯街景,新浪微博等

    48.页面静态化技术(伪静态页面)

    49.报表技术,使用过报表制作工具,如水晶易表。

    50.定时任务,如spring batch ,学会自定义batch任务(不适用第三方工具)

    51.了解uuid

    52.b/s 和 c/s架构

    53.正则表达式

    54.了解jndi jms

    55.ERP

    56.UNICODE编码,乱码解决

    57.开源网络编辑器,如ckEditor

    58.二进制原理

    59.使用过,了解过开源论坛框架,如discuzz

    60.GWT,Closure框架

    61.了解大数据,云计算

    62.搜索引擎搜索技术

    63.软件工程,项目管理

  • 相关阅读:
    Begin Example with Override Encoded SOAP XML Serialization
    State Machine Terminology
    How to: Specify an Alternate Element Name for an XML Stream
    How to: Publish Metadata for a WCF Service.(What is the Metadata Exchange Endpoint purpose.)
    Beginning Guide With Controlling XML Serialization Using Attributes(XmlSerializaiton of Array)
    Workflow 4.0 Hosting Extensions
    What can we do in the CacheMetaData Method of Activity
    How and Why to use the System.servicemodel.MessageParameterAttribute in WCF
    How to: Begin Sample with Serialization and Deserialization an Object
    A Test WCF Service without anything of config.
  • 原文地址:https://www.cnblogs.com/joke0406/p/6961354.html
Copyright © 2011-2022 走看看