美文网首页我爱编程
你真的懂JAVA吗

你真的懂JAVA吗

作者: a_decb | 来源:发表于2017-08-26 19:18 被阅读0次

    宏观方面

    一、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.软件工程,项目管理

    以上就是我推荐给Java开发者们的一面试经典知识。但是这些知识里面并没有太多Java全栈、Java晋阶、JAVA架构之类的题,不是我不推荐,而是希望大家更多的从基本功做起,打好基础,太多复杂的内容一会儿也说不明白。

    好了同学们,我能介绍的也都全部介绍完给你们了,以上的部分就是我想说的内容,如果你也想在IT行业拿高薪,可以参加我们的JAVA全栈晋阶训练营课程,选择最适合自己的课程学习,技术大牛亲授,7个月后,进入名企拿高薪。我们的课程内容有:反射原理、枚举原理与应用、注解原理、常用设计模式、正规表达式高级应用、JAVA操作Office原理详解、JAVA图像处理技术,等多个知识点的详解和实战。如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,你都可以来,群:240448376注:加群要求

    1、具有1-3工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。

    2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。

    3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。

    4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。

    5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!

    6.小号或者小白之类加群一律不给过,谢谢。

    最后,每一位读到这里的网友,感谢你们能耐心地看完。觉得对你有帮助可以给个喜欢!希望在成为一名更优秀的Java程序员的道路上,我们可以一起学习、一起进步

    �����.R��,Y �0���0��l�������G/��;�OZ�%�^e@�0�*�H������

    相关文章

      网友评论

        本文标题:你真的懂JAVA吗

        本文链接:https://www.haomeiwen.com/subject/bmbpdxtx.html