一、如何成为高级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.软件工程,项目管理
二、怎样成为机械制造工程师?工程师分为多少等级?
工程师职称分为三个级别:助理工程师(即初级工程师)、中级工程师、高级工程师。
取得职称有两个途径:1、考试。职称英语,职称计算机和专业考试三门。等级越高就越难考。
2、符合评定要求的可以通过评审取得。也是等级越高要求越严格。其中初级、中级比较容易获得。
三、如何成为高级电气工程师?
要成为高级电气工程师,具体步骤如下:
1.本科及以上学历:首先需要获得电气工程或相关领域的本科或以上学历,例如电气工程、电子工程、自动化控制等专业。
2.积累工作经验:通常要求8年以上从业经验,需要在电气工程或相关领域工作多年,逐步积累实践经验。
3.深入学习和培训:通过不断学习和培训,更新技术和理论知识,深入掌握电气工程领域的专业知识。
4.获取相关认证:如PMP(项目管理专业人员)等认证,有助于提升职场竞争力。
5.参与专业组织:可以参加电气工程或相关领域的专业组织或协会,定期与同行进行交流和学习,了解最新技术和发展趋势。
6.建立职业人脉:通过参与行业活动、交流会议和社交平台等多种方式建立职业人脉,在职业发展上发挥重要作用。
总之,成为高级电气工程师需要具备较高的学历和丰富的工作经验,同时需要不断学习和培训,持续更新自己的知识和技能。
四、怎样成为高级技工?
你这个问题提出来应该你还没踏入社会吧,一般刚入公司就是机械员,这个一般大专水平就可以,一年后通过测试考证后成为技术员助理,然后初级技术员、技术员、高级技术员,这期间要花费你8-10年时间,下来就可以是高工了,高级工程师都是很会考试的,所以年轻人刚出来还是多点努力,各方面都表现积极点,不要怕领导一时看不见,有机会抓紧了,成功就离你不远了
五、机械主管和高级机械工程师区别?
机械主管和高级机械工程师在职责、能力和要求上存在一定的区别。以下是关于这两个职位的简要分析:
1. 机械主管:
机械主管通常负责一个部门或团队的管理工作,需要具备较强的领导能力、组织协调能力和技术背景。他们的主要职责包括:
- 负责部门内的日常工作安排和人员管理;
- 制定和执行部门的工作计划和技术方案;
- 协调与其他部门的合作关系;
- 监督项目的进度和质量;
- 负责部门的培训和人才培养;
- 参与制定公司的技术发展战略等。
2. 高级机械工程师:
高级机械工程师主要负责技术攻关、研发团队管理和技术积累等方面的工作。他们需要具备较高的技术水平、丰富的经验和较强的创新能力。主要职责包括:
- 负责公司非标自动化设备、专用设备的设计和技术攻关;
- 指导非标设备的机械组装、调试;
- 规划、改善和监督研发开发流程和文档管理;
- 负责核心技术的专利和标准创制;
- 领导项目团队完成研发任务等。
总结:
机械主管和高级机械工程师的主要区别在于职责、能力和要求。机械主管更注重部门管理和组织协调,需要较强的领导能力和技术背景;而高级机械工程师更关注技术攻关和研发工作,需要丰富的经验和高技术水平。在选择职业发展方向时,可以根据自己的兴趣和能力进行权衡。
六、怎样成为FPGA工程师?
成为FPGA工程师基本要求:
1.Verilog语言及其于硬件电路之间的关系。
2.器件结构(最好熟练掌握Spartan3,Vertix4系列的器件结构,及其资源于Verilog行为描述方法的关系。)。
3.开发工具(熟练掌握Synplify,Quartus,ISE,Modelsim)。
4.数字电路(组合电路,触发器,特别是D触发器构成分频器,奇数倍分频占空比为50%,时序电路,并且能用Verilog语言描叙。)。
5.熟悉FPGA设计流程(仿真,综合,布局布线,时序分析)。
6.熟练掌握资源估算(特别是slice,lut,ram等资源的估算)。
7.同步设计原理。
8.熟练掌握基本概念(如建立时间,保持时间,流量(即所做FPGA设计的波特率)计算,延迟时间计算(所做FPGA设计),竞争冒险,消除毛刺的方法等等)。
9.具备具体设计经验(对应届生而言如毕业设计)。
10.良好的设计思路(流水线设计即熟称打拍子,在速率资源功耗之间的折中考虑)。 一个合格的FPGA工程师至少在以下三个方面的一个非常熟悉: 1.嵌入式应用 2.DSP应用 3.高速收发器应用
七、怎样成为算法工程师?
1.了解算法工程师的要求:掌握计算机基础知识,数据结构与算法,机器学习等领域的知识,数学基础扎实;
2. 取得相关学位和证书:可以选择相关学科的本科和研究生专业学习,并且拥有一些证书,比如Google的TensorFlow Certificate和Facebook的PyTorch Certification;
3. 参加算法编程比赛:可以参加像Kaggle、TopCoder这样的算法编程比赛,提高编程能力;
4. 努力实践:在实践中探索和学习新技术和算法;
5. 不断学习:学习新的编程语言、算法和新的技能,不断提升自己;
6. 扩大人脉:与其他算法工程师交流、参加技术社区等,吸取其他人的经验,并与他们建立联系。
八、高级机械工程师怎么考?
一般是各地方上由人事局“ 职称办公室”来进行工程师的考核评定,大家常说的初级、中级、高级机械工程师一般是在说这个。这个各个地方差别较大,要到各地对应人力资源和社会保障局(厅)(一般简称人社局或人社厅)的官方网站查询或联系沟通。每年定期进行,先由本单位根据申报专业的学历、资历和能力要求进行考评并向上推荐,还要进行外语考试。
自学的也要有通过相应的学历考试,中专以上学历参评较为方便。一般大学或者大型国企则有自己的“ 职称办公室”。另外,专业技术人员一般从技术员、助理机械工程师、中级机械工程师、高级工程师一步步台阶上。
九、高级机械工程师职称含金量?
高级机械工程师职称含金量比较高,但是需要注意的是证书看是哪个机构发的:
《国际注册机械工程师》这个证书是由机械工程师学会颁发,考核方式主要是通过专家审核与考试相结合的方式,该学会为国际性学会,证书颁发明显具有海外特色,同时此证书在海外有多个国家承认。含金量比较高。
十、成为高级软件工程师的条件?
高级软件工程师的基本要求: 独立承担项目软件开发; 参与项目的整体规划与实施; 负责与项目经理共同进行客户调研、业务流程分析设计; 负责系统的总体技术方案与系统设计,系统的质量控制; 负责跟客户沟通解决问题。现在很多公司都说找高级软件工程师,其实真正有架构经验的人很少的