java初、中、高级开发工程师是怎么区分的?

Python020

java初、中、高级开发工程师是怎么区分的?,第1张

初级:程序员。应届毕业一般就是初级了。

中级:软件设计师。工作一年到两年就可以是中级了,工作一般会有一万左右。

高级:系统分析师。高级工程师,理论上也没什么,但是得有一个产品带去跳槽,能力不一定很强的。高级的话,看公司,一万多到2,3万一月。

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

软件开发工程师是从事软件开发相关工作的人员的统称。 软件开发工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)、.NET平台技术、C#、C/S B/S程序开发,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS等前沿技术。

首先起码有自己的技术体系结构,并可以持续丰富这个体系结构;主动寻找大型项目的机会,提高自己的综合能力;除了写博客之外,录制一些编程开发的视频,扩展自己的技能;编码能力(点(算法)、线(设计模式、组织代码)、面(框架和学习、理解和应用)、体(操作系统、计算机网络、编译原理等))业务能力(理解需求或问题能力、沟通和协调资源能力、预估和安排计划能力、调研和解决问题能力)

1.接口和抽象类的区别

抽象类里可以有构造方法,而接口内不能有构造方法。抽象类中可以有普通成员变量,而接口中不能有普通成员变量。抽象类中可以包含非抽象的普通方法,而接口中所有的方法必须是抽象的,不能有非抽象的普通方法。抽象类中的抽象方法的访问类型可以是public ,protected和默认类型,但接口中的抽象方法只有public和默认类型。抽象类中可以包含静态方法,接口内不能包含静态方法。抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public  static类型,并且默认为public static类型。一个类可以实现多个接口,但只能继承一个抽象类。接口更多的是在系统框架设计方法发挥作用,主要定义模块之间的通信,而抽象类在代码实现方面发挥作用,可以实现代码的重用。

2.Java虚拟机的运行时数据区有几块?线程私有和线程共享区域有哪些?

程序计数器:线程私有,当前县城执行的字节码的行号指示器。虚拟机栈:线程私有,存放基本数据类型、对象引用和returnAddress类型。本地方法栈:为虚拟机使用到的Native方法服务。Java堆:线程共享,存放对象的实例,也是GC回收器管理的主要区域。方法区:线程共享,存放已被虚拟机加载的类信息、常量、静态变量、即时编译后的代码等数据。运行时常量池:方法区的一部分,存放编译期生成的各种字面量和符号引用。直接内存:不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域,容易引起OOM异常,NIO会调用,不受Java堆大小的限制。

3.HashMap和HashTable区别?

Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。Hashtable的方法是同步的,而HashMap的方法不是,因此HashTable是线程安全的,但是代码的执行效率上要慢于HashMap。HashMap允许空值和空键,但是HashTable不可以。HashMap非同步实现Map接口,是一个“链表数组”的数据结构,最大承载量是16,可以自动变长,由Entry[]控制(key,value,next),hashCode()判断key

接下来是一些经验和需要的框架

3-5年软件研发经验,2年以上软件架构设计经验;

精通weblogic、jboss tomcat、websphere等应用服务器

精通linux\windows系统上的安装部署、配置及性能调优;

掌握EJB、servlet、JSP等技术

掌握Spring MVC、dubbo、Spring boot、spring cloud、hibernate、MyBatis等开源框架

掌握分布式开发新技术;

熟练掌握HTML、CSS、Javascript等WEB页面设计与编程

熟悉AJAX;精通数据库技术,至少精通

SQLServer/DB2/Oracle/Mysql中两种数据库;

精通OOD、OOP及软件架构设计模式

至少熟悉UML及Visio/Rational Rose/PowerDesigner中一种设计工具;

熟悉软件工程思想与软件设计开发流程;

有Redis和MongDB、Memcached应用经验优先;

良好的沟通协调能力,具备良好的学习能力和潜力;