返回首页

深圳java软件开发工程师实习生工资收入多少?

222 2024-03-19 12:30 admin

一、深圳java软件开发工程师实习生工资收入多少?

Java程序员薪资水平:

应届生:普通5K左右,能力强6K左右;

1年工作经验:普通6K,能力强7K;

2年工作经验:普通7-8K,能力强8-9K;

3年工作经验:普通9-10K,能力强10-12K;

3-5年:普通10-12K,能力强12-18K。

5年以上:15K+,5年以上的开发,普通的18-30K,能力强的基本上能做架构师,那就是另一个薪资水平了。

二、Java实习生应该怎样学习?

“项目里用到的才学,碰到不懂的就网上搜”在云姐看来这是一种很糟糕的工作态度,是一种既对自己也对公司极不负责的表现。这对于你以后的职业发展是相当不利的。一名实习程序员只有时时刻刻保持着一颗对新知识的渴求之心,他才能够在不断地学习过程中,锻炼自己的各项能力,使自己迅速成长起来,继而拥有独当一面的能力。所以云姐认为题主目前的状态亟待改变,不过看到这个标题,云姐也略感欣慰,因为题主还是有一颗想要学好JAVA的心, “亡羊补牢,为时不晚”云姐这里有一份关于如何自学JAVA的干货,希望可以改变题主目前所处的窘境。

第一阶段:Java基础

此阶段为Java的基础知识,内容包括Java语言的基本语法,Java面向对象,以及Java中使用频率非常高的集合框架,磁盘的I/O操作,网络编程等内容。通过此阶段内容的学习,可以迅速掌握Java语言的语法,理解Java语言面向对象的思想,并初步具备使用Java语言完成一个简单的需求的能力。

基础语法:jdk的安装和环境配置,变量和常量,条件判断语句,循环语句,循环控制语句

方法和数组:方法的定义和调用,方法的重载和递归操作,数组的定义和初始化,数组的遍历和常见的方法调用

面向对象:类的定义和对象的创建,对象的实例化流程,抽象,封装,继承,多态思想,接口的设计和实现

异常和常用类:异常机制和异常体系,try-catch语句,throw和throws关键字,自定义异常,String,StringBuffer,StringBuilder类,System,Runtime类,Math,Random,BigDecimal类

多线程:并行和并发, 进程和线程,线程的启动方式,线程安全的处理方式,同步锁和死锁的概述,线程的生命周期和状态,联合线程和后台线程,线程优先级和线程礼让和定时器

集合框架:ArrayList和LinkedList,HashSet和TreeSet,LinkedHashSet,Comparable接口和Comparator接口,HashMap和TreeMap,LinkedhashMap,泛型的定义和使用

IO和网络编程:File类的基本使用,FilenameFilter接口的使用,IO流的体系结构,字节流和字符流的使用, 缓冲流,标准流,打印流,转换流,数据流,管道流,对象流,对象序列化和发序列化,字符编码和解码,Properties类加载资源,RandomAccessFile类,NIO操作,网络概述和分层模型,网络三要素,TCP和UDP协议和编程

推荐书籍:Java核心技术,Effective Java,Java编程思想

第二部分:数据库基础:

此阶段主要是完成MySQL数据的使用和管理, 对于一个Java程序员来说,MySQL数据库是必须掌握的,通过此阶段的学习,为数据库技术打下坚实的基础,可以对数据的处理有比较清晰的思路和方向

MySQL基础:MySQL的安装和基本使用,服务端和客户端的配置解析,存储引擎的解析,MySQL常见的命令,MySQL列的约束,DDL,DML,DQL的操作,分页查询的处理,数据的备份和恢复

MySqL加强:数据库接口和数据文件解析, 权限操作和概述,连接查询和子查询,常见的函数的使用和悲观锁和乐观锁以及事务的控制

Redis基础:Redis的安装和基本使用常用的数据类型的应用场景,Redis的基本管理和维护,Jedis客户端的API操作,在应用中使用Redis

推荐书籍:MySQL技术内幕,MySQL必知必会

第三部分:JavaWeb:

此阶段主要完成在浏览器中对某个对象进行增删改查的操作,内容主要包括MySql数据库的安装和使用,JDBC,Tomcat以及Servlet和JSP技术等。通过此阶段的学习,可以深刻理解JavaEE最基础的原理。此阶段的课程可以为后面的框架以阶段以及项目阶段的学习,打下坚实的基础。

Servlet规范,Servlet生命周期,Servert的请求流程和继承体系,HttpServletRequest接口和HttpServletResponse接口,中文乱码的解决方案,Servlet3.0新特性,Cookie和Session的操作和细节,forward和redirect的使用场景,JSP的原理和指令,MVC设计思想模型,过滤器和监听器的使用和原理,手写SpringMVC框架

推荐书籍:深入分析Java Web技术内幕

第四部分:常用工具

IDEA的基本使用和配置

UML建模工具的使用和配置

Maven的基本使用和配置

Git的基本使用和配置

第五部分:核心框架

此阶段的课程的最终的目的是使用现阶段市面上最流行的框架,完成权限管理系统的开发。课程的内容包括数据库的多表查询,MAVEN的使用,MyBatis,Spring,SpringMVC,JavaScript,等技术。此阶段的内容为JavaEE开发中最核心的内容,在技术层面上,为后面的项目实训的课程基础。

MyBatis:ORM思想,Mybatis的基本操作和原理,日志框架,typeAlias和resultMap的配置,Mapper接口和原理,动态SQL的使用,Mybatise的插件使用,对象和表的关系设计和关联映射,延迟加载和缓存的处理,Mybatis的源码分析

Spring:Spring的基本配置和模拟,Spring的IOC和DI,Spring测试框架,动态代理的原理和SpringAOP以及SpringJDBC Spring的事务管理和Spring集成Mybatis

SpringMVC:SpringMVC的执行流程分析,SpringMVC对静态资源访问,基于注解的SpringMVC开发,SpringMVC响应传值,SpringMVC请求传参和参数绑定机制,SpringMVC的上传和下载,基于注解的SSM集成,SpringMVC拦截器,SpringMVC异常处理,JSR303数据校验

项目实战RBAC权限系统:RBAC权限概述,权限模型对象分析,权限控制流程分析,RequiredPermission注解,权限扫描和加载,权限和角色分配,拦截器的使用,封装UserContext对象

推荐书籍:Spring MVC + MyBatis快速开发与项目实战,Spring实战(第4版)

第六部分:Linux操作系统

Linux操作系统的熟练程度直接体现了一个Java开发人员的水平,对于开发人员来说,我们主要是学习Linux的基本命令和软件的安装以及业务系统的监控管理.

Linux基础:常见的发行版,常见的开源协议,虚拟机VMWare和CentOS的安装

Linux管理:用户管理,vi编辑器,文件管理,网络管理,系统中的目录结构

Linux应用:rpm和yun安装软件,jdk的安装,tomcat的安装,mysql数据库的安装,web应用项目的部署和日志查看

shell基础:shell基础,shell中常见的位置变量参数,输入和输出重定向,定时任务和数据库备份

推荐书籍:鸟哥的Linux私房菜,深入Linux内核架构

第七部分:前端技术

我们编写的Java的后台开发程序最终是需要在页面的前端显示,是需要完成前后端交互的, 我们学好一些基本的前端技术可以完成整个后台->前台的整个开发技术,而且也可以很好的和前端工程师进行沟通和交互,保证项目的顺利交付和上线.

JS基础和Ajax,jQuery:JS基础,JS函数和面向对象的操作,DOM操作和BOM操作,事件绑定和打字游戏,Ajax异步提交请求和JSON对象,JQuery的选择器和核心方法,事件处理和DOM操作,Ajax请求和插件的应用

BootStrap框架:栅格系统布局,响应式布局,字体图标,情景组件、移动端兼容、导航栏布局、吸顶效果、响应式轮播图、媒体查询、模态框、Swiper插件等

推荐书籍: JavaScript权威指南,jQuery实战,Bootstrap Web设计与开发实战

可能涉及到的知识点有点多,不过这些都是在我们的日常工作中用得上的,通过对以上内容的学习,你可以对JAVA有一个比较系统的认识,而且以上很多知识点和技能也是一名JAVA工程师升职加薪的不二法宝。希望对以上内容的学习可以对你目前的现状能有所改观。加油吧,陌生人!

三、java实习生如何提升自己?

在实习的过程中,主要目的是观察工作方法。这个方法并不是仅局限在你目前的工作内容。而是整个公司的运作方式。比如需求是谁提出来的,谁去审核确定做不做这个内容,有问题了应该跟谁沟通,当线上出现问题了之后谁去处理等等。当你理解一个项目组的流转方式之后,就会逐步的发现自己在这里面的位置。而当你的位置和角色发生转变的时候,就是你成长的时候了。

四、java实习生最主要做些什么?

实习生进入公司第一步,熟悉系统,框架,因为是初学,大约有一个月左右的时间;

第二步。维护,一般公司会分配一个人带你,有好多人大部分离职原因都在这一环上,看师傅的耐心程度,还有你的表现。大约半年时间;

第三部,独立开发

五、Java实习生?求大佬们指点。?

研究算法的方向是进大厂

想找个实习就多学习当前用的框架

六、java实习生,该如何去学习?

两个方向,首先解决温饱的技能,可能不是你喜欢的,但实用,两外一个就是决定深入研究的,可能跟你工作完全不相关但未来可期的那种,慢慢摸索。

七、java实习生到底该如何立足?

第一点建议

学习Java基础的时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么回事儿,不信你就试试。

第二点建议

目前比较主流的是SSM框架,即spring、springmvc、mybatis。你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。你一定要可以快速的利用它们三个搭建出一个Web框架,你可以记录下你第一次搭建的过程,相信我,你一定会用到的。

第三点建议

对于参加工作第一年的同学,你至少需要看完《Java编程思想》这本书,应该可以在半年左右看完。当然了,我所说的看完,是充分吸收。

第四点建议

对于参加工作1年到2年的同学,需要看《大话设计模式》这本书,并且要写完整版的设计模式博客。因此,我要求大家,最多在你工作一年的时候,必须开始写博客,而设计模式就是你博客的开端。请记住,我所提的基本都是最低要求,因此不要有任何松懈的心理,否则五年后,你不要去羡慕别人高于你的工资,也不要去羡慕别人进入了某公司。这一年,你必须对于设计模式了如指掌。此外,设计模式并不是你这一年唯一的任务,你还需要看一些关于代码编写优化的书。比如《重构 改善既有代码的设计》、《effective java》这两本书。总而言之,这个阶段,你的核心任务就是提高你的代码能力,要能写出一手优雅的代码。

第五点建议

对于参加工作2年到3年的同学,在这个时候觉得自己已经很牛逼了,于是忍不住开始慢慢松懈。请记住,你还嫩的多。这个阶段,有一本书是你必须看的,它叫做 《深入理解Java虚拟机》。这本书绝对是Java开发者最重要的书,没有之一。

第六点建议

另外,在过去2年的工作当中,你肯定或多或少接触过并发。这个时候,你应该去更加深入的了解并发相关的知识,而这部分内容,我比较推荐《Java并发编程实战》这本书。只要你把这本书啃下来了,并发的部分基本已经了解了十之六七。与此同时,这个阶段你要做的事情还远不止如此。这个时候,你应该对于你所使用的框架应该有了更深入的了解,对于Java的类库也有了更深入的了解。因此,你需要去看一些JDK中的类的源码,也包括你所使用的框架的源码。这些源码能看懂的前提是,你必须对设计模式非常了解。否则的话,你看源码的过程中,永远会有这样那样的疑问,这段代码为什么要这么写?为什么要定义这个接口,它看起来好像很多余?由此也可以看出,这些学习的过程是环环相扣的,如果你任何一个阶段拉下来了,那么你就真的跟不上了,或者说是一步慢步步慢。而且我很负责的告诉你,我在这个阶段的时候,所学习的东西远多于这里所罗列出来的。

第七点建议

因此千万不要觉得你已经学的很多了,我所说的这些都只是最低要求,不光是我,很多人在这个时间段所学习的内容都远超本文的范围。如果你不能跟上节奏的话,若干年后,如果不是程序猿市场还不错的话,你很可能不仅仅是工资比别人低,公司没别人好,而是根本就找不到工作。总而言之,这个阶段,你需要做的是深入了解Java底层和Java类库(比如并发那本书就是Java并发包java.concurrent的内容),也就是JVM和JDK的相关内容。而且还要更深入的去了解你所使用的框架,方式比较推荐看源码或者看官方文档。另外,还有一种学习的方式,在2年这个阶段,也应该启用了,那就是造轮子。不要听信那套“不要重复造轮子”的论调,那是公司为了节省时间成本编造出来的。重复造轮子或许对别人没有价值,因为你造的轮子可能早就有了,而且一般情况下你造出来的轮子还没有现存的好。但是对别人没有价值,不代表对你自己没有价值。一个造轮子的过程,是一个从无到有的过程。这个过程可以对你进行系统的锻炼,它不仅考察你的编码能力,还考察你的框架设计能力,你需要让你的轮子拥有足够好的扩展性、健壮性。而且在造轮子的过程中,你会遇到各种各样的难题,这些难题往往又是你学习的契机。当你把轮子造好的时候,你一定会发现,其实你自己收获了很多。所以,这个阶段,除了上面提到的了解JVM、JDK和框架源码以外,也请你根据别人优秀的源码,去造一个任何你能够想象出来的轮子。

第八点建议

参加工作3年到4年的同学这个阶段的同学,提升已经是很难了,而且这个阶段的学习往往会比较多样化。因为在前3年的过程中,你肯定或多或少接触过一些其它的技术,比如大数据、分布式缓存、分布式消息服务、分布式计算、软负载均衡等等。这些技术,你能精通任何一项,都将是你未来面试时巨大的优势,因此如果你对某一项技术感兴趣的话,这个时候可以深入去研究一下。这项技术不一定是你工作所用到的,但一定是相关的。而且在研究一门新技术时,切忌朝三暮四。有的同学今天去整整大数据,搞搞Hadoop、hbase一类的东西。过不了一段时间,就觉得没意思,又去研究分布式缓存,比如redis。然后又过不了一段时间,又去研究分布式计算,比如整整Mapreduce或者storm。结果到最后,搞得自己好像什么都会一样,在简历上大言不惭的写上大数据、分布式缓存、分布式计算都了解,其实任何一个都只是浮于表面。到时候面试官随便一问,就把你给识破了。

第九点建议

一定要记住,作为一个程序猿,平日里所接触的技术可能会很多,但是想要让一门技术成为你的优势,那么一定是你对这门技术的了解强过绝大多数人才行。因此在这个阶段,你就不能再简单的去学习前3年的内容了,虽然前面的学习如果还不够深入的话依旧要继续,但这个时候你应该更多的考虑建立你的优势,也可以称为差异性。差异性相信不难理解,就是让你自己变得与众不同。你前面三年的学习足够你成为一名基本合格的Java开发者,但你离成为一名优秀的Java开发者还有很大的距离。

第10点建议

所谓优秀,即能别人所不能。而你前三年所学习的内容,是很多做过几年的Java开发都能够掌握的。那么为了让自己有差异性,你就需要另辟蹊径,找一个方向深入研究下去,以期在将来,你能够成为这个领域的专家,比如分布式计算领域的专家,大数据领域的专家,并发领域的专家等等。此外,你除了建立你的差异性之外,还要去弥补你基础上的不足,直到现在,我都没有提及基础知识。原因是基础是很枯燥无味的,学的太早不仅容易懵逼,而且懵逼的同时还容易产生心理阴影,以至于以后再不想去研究这些基础。但基础又是你深入研究一些领域时所必须掌握的,比如你去研究分布式计算,你不懂算法你玩个毛毛?比如你去做分布式缓存,你对计算机系统的内存不了解,你如何去做缓存?

第11点建议

如果你的基础本来就非常强,那么恭喜你,相信你在之前的工作中已经充分体会到了这些基础对你的帮助。但我相信大部分人的基础都很薄弱,哪怕是科班毕业的人,很多人也不敢说自己当初的基础学的多么强大,比如算法、计算机系统原理、编译原理这些。但是每个人时间都是有限的,而且这些基础的书籍每一本读下来,没个一年半载的,还真拿不下来,因此还是要有所抉择的。虽然艺多不压身,但问题是艺多是有代价的,是需要你付出时间和精力的,而我个人更赞成在同等代价的情况下获取最大的收获。

第12点建议

首先,我比较推崇的基础书籍有三本,分别是《深入理解计算机系统》,《tcp/ip详解 卷一、二、三》,《数据结构与算法》。其中TCP/IP有三本书,但我们这里把这三本看成是一本大书。这三本分别适合三种人,《深入理解计算机系统》比较适合一直从事Java Web开发和APP后端开发工作的人群。《tcp/ip详解 卷一、二、三》比较适合做网络编程的人群,比如你使用netty去开发的话,那么就要对TCP/IP有更深入的了解。而《数据结构与算法》这本书,则比较适合做计算研究工作的人,比如刚才提到的分布式计算。另外,我要强调的是,这里所说的适合,并不是其它两本对你就没有用。比如你做Java Web和APP后端开发,《tcp/ip详解 卷一、二、三》这本书对你的作用也是很大的。这里只是分出个主次关系而已,你要是时间足够的话,能把三本都精读那当然最好不过了。但如果时间有限的话,那么就先挑对你帮助最大的书去读。理论上来讲,这一年你能把这三本其中一本精读下来,就已经非常厉害了。有了基础,有了前面的工作经验,你就可以去开拓属于你的领域了。在这一年里,一定要规划好自己的领域,建立好自己的优势,制造出差异性。如果你对自己的领域不够清晰的话,随着你工作的时间日益增多,你接触的技术会越来越多,这个时候,你很容易被淹死在技术的海洋里,看似接触的技术越来越多,会用的也越来越多,但你毫无优势。有的同学可能会问,“我,我也不知道我的领域是什么啊?怎么办呢?”对于这种人,我只想说,“卧槽,这还问我?要不干脆我替你学习得了,好不好?”

第13点建议

参加工作4年到5年的同学经过前面一年的历练,相信你在自己所钻研的领域已经有了自己一定的见解,这个时候,技术上你应该已经遇到瓶颈了。这个时候不要着急提高自己的技术,已经是时候提高你的影响力了,你可以尝试去一些知名的公司去提高你的背景,你可以发表一些文章去影响更多的人。当然,你也可以去Github创建一个属于你的开源项目,去打造自己的产品。

第14点建议

这次的开源项目不同于之前的造轮子,你这个时候是真的要去尽量尝试造出来真正对别人有价值的轮子。技术学到这个阶段,很容易遇到瓶颈,而且往往达到一定程度后,你再深入下去的收效就真的微乎其微了,除非你是专门搞学术研究的。然而很可惜,大部分程序猿做不到这一步,那是科学家做的事情。

这个时候提高影响力不仅仅是因为技术上容易遇到瓶颈,更多的是影响力可以给你创造更多的机会。程序猿在某种程度上和明星很像,一个好的电视剧和电影就可以成就一批明星,程序猿有的时候也是,一个好的项目就可以成就一群程序猿。

比如国内几个脍炙人口的项目,像淘宝、支付宝、QQ、百度、微信等等。这每一个项目,都成就了一批程序猿。我敢说,这里面任何一个项目,如果你是它的核心开发,光是这样一个Title,就已经是你非常大的优势。更何况还不止如此,Title说到底也是个名头,更重要的是,这种项目在做的时候,对你的历练一定也是非常给力的。而你如果想要参与这样的项目,除了靠运气之外,影响力也是很重要的一个手段。

比如你在分布式计算领域有一定的影响力,那么如果有什么好的关于分布式计算的项目,对方就很可能会邀请你。就算人家不邀请你,你自己主动去面试的时候,对方如果知道你在这个领域的影响力,也肯定会起到很大的作用,而这个作用,甚至可能会超过你现在的技术能力。所以,在这个阶段,你最大的任务是提高自己的影响力,为自己未来的十年工作生涯那一天做准备。如果你能够靠你的影响力和以前积累的技术,参与到一个伟大的项目当中,那么你后面的五年也就有着落了。当然了,我现在满打满算,做程序猿也就4年半不到,因此关于4年到5年这一部分,我的见解不一定是对的,就算是对的,也不一定是适合任何人的。这次的开源项目不同于之前的造轮子,你这个时候是真的要去尽量尝试造出来真正对别人有价值的轮子。

技术学到这个阶段,很容易遇到瓶颈,而且往往达到一定程度后,你再深入下去的收效就真的微乎其微了,除非你是专门搞学术研究的。然而很可惜,大部分程序猿做不到这一步,那是科学家做的事情。这个时候提高影响力不仅仅是因为技术上容易遇到瓶颈,更多的是影响力可以给你创造更多的机会。程序猿在某种程度上和明星很像,一个好的电视剧和电影就可以成就一批明星,程序猿有的时候也是,一个好的项目就可以成就一群程序猿。

比如国内几个脍炙人口的项目,像淘宝、支付宝、QQ、百度、微信等等。这每一个项目,都成就了一批程序猿。我敢说,这里面任何一个项目,如果你是它的核心开发,光是这样一个Title,就已经是你非常大的优势。更何况还不止如此,Title说到底也是个名头,更重要的是,这种项目在做的时候,对你的历练一定也是非常给力的。而你如果想要参与这样的项目,除了靠运气之外,影响力也是很重要的一个手段。比如你在分布式计算领域有一定的影响力,那么如果有什么好的关于分布式计算的项目,对方就很可能会邀请你。就算人家不邀请你,你自己主动去面试的时候,对方如果知道你在这个领域的影响力,也肯定会起到很大的作用,而这个作用,甚至可能会超过你现在的技术能力。

所以,在这个阶段,你最大的任务是提高自己的影响力,为自己未来的十年工作生涯那一天做准备。如果你能够靠你的影响力和以前积累的技术,参与到一个伟大的项目当中,那么你后面的五年也就有着落了。

当然了,我现在满打满算,做程序猿也就4年半不到,因此关于4年到5年这一部分,我的见解不一定是对的,就算是对的,也不一定是适合任何人的。

声明:以下内容转载自 | 侵删

作者:华行天下原文链接:https://www.cnblogs.com/huaxingtianxia/p/5724093.html来源:csdn

八、武汉找个java实习生的工作难吗?

在武汉找个JAVA的工作不难,只要你平时多学习一些有关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.软件工程,项目管理

十、Java实习生感觉能力没有提升,应该跳槽么?

我是不太了解cobol这门语言,但是移植计算机语言可不是翻译文字!两门语言的特性肯定是不一样,设计初衷和解决方案也肯定不一样,生态闭环也肯定不一样!cobol有自己的模式,java有java的生态,理论上来讲“直译”是不存在的,就算是java和c#这种一个爹写出来的东西,结构都是有区别的!学不到东西?不存在...java这个东西就够一般人学了,更何况你还要了解cobol!不是会个封装 继承 多态 和基本语法就叫掌握一门语言了,踏踏实实干,永远不会学不到东西,不要停留在表象,深挖底层,上至设计思想,下至每个内置方法的实现,都值得满满体会和揣摩!当然,如果有更好的机会那还是可以跳一下,不过刚开始干就学不到东西,那一定不是工作的问题,还是自己的原因!就算你换了,可能过几天你还是觉得“学不到东西”呢!