Java程序员招聘要求(共4篇)
1.Java程序员招聘要求 篇一
职位描述:
1、参加基于 JAVA 技术的门户网站的开发;
2、负责公司的网站开发维护及新产品的研发;
3、书写技术文档和制定开发规范;
4、从系统层面去合理析网站产品,并提供开发工程师构架建议;
任职资格:
1、计算机相关专业大专或以上学历; 2、2年以上电子商务平台开发经验;
3、精通Java、JSP开发;熟悉Eclipse开发工具,熟悉J2EE架构以及servlet、javaBean等相关技术;
4、熟悉Weblogic、Tomcat等WEB应用服务器,有相关应用部署经验;
5、熟悉Mysql、Sqlserver数据库;
6、精通Linux环境WEB服务器开发与部署;
7、熟悉HTML、css等;
8、头脑灵活、思维敏捷、性格开朗。
具体要求:
熟悉J2EE架构,有Java开发经验二年以上.透彻理解MVC模式,能熟练运用Spring做项目。熟悉Jsp,JavaScript开发,有B/S开发经验.熟悉SQLServer,Oracle,MySql,任何一种.有应用软件开发背景或对抽像思想有深刻认识或有MVC框架开发经历优先.有良好的沟通能力和独立的工作能力,能出差。有数据库方面专长优先。
工作职责:负责产品的设计、开发、测试和维护工作,并进行相关文档的编写。职位要求:
1.具有使用Java开发项目的经验,工作经验1-2年;
2.熟悉面向对象编程原理,熟悉J2EE、Servlet,JavaBean、JSP、javascript、XML、Spring、ibatis、Struts、WebService等技术; 3.熟悉Struts、ibatis等MVC架构; 4.熟悉并能熟练使用CORBA; 5.熟练掌握Oracle等数据库应用;
6.熟悉三层架构并熟练应用Apache,Tomcat等;
7.工作认真,细心,有条理;积极性高,求知欲强;具有较强的责任心,沟通能力及团队合作精神。
注:可年后到岗
岗位职责
1、进行产品需求分析;
2、负责公司新产品的研发和设计;
3、负责公司现有产品的维护和升级;
4、负责对软件进行单元测试、集成测试;
5、负责解决开发过程中的技术问题;
6、负责对系统测试和验收测试报告的问题进行回复;
7、负责软件更改说明、功能特性说明等开发文档编写工作;
任职资格
1、计算机及相关专业毕业,大学本科以上学历
2、一年以上相关工作经验;
3、熟悉软件技术文档的编写;具备良好的文档编制习惯和代码书写规范;
4、熟悉Visual C++开发环境;精通C/C++语言编程;良好的C/C++功底;
5、积极上进,善于学习,具备良好的分析、解决问题的能力
6、英语听、说、读、写能力强;
7、良好的沟通能力和团队协作精神;
基本要求
(1)学历要求:专科以上学历,计算机及其相关专业,2年以上相关岗位经验;
(2)工作经验要求:一年以上java开发工作经验;B/S项目开发经验1年以上;1年以上的Java, J2EE, XML等开发经验,1年以上架构设计经验(Windows环境);
(3)项目开发要求:具有一定规模的项目开发经验; 其它要求:
(1)有较强的学习能力。
(2)具有良好的表达和交流能力,较强的沟通能力,富有进取心;
(3)具有阅读相关技术需求文档能力;具有一定的软件设计及文档编写能力。
Java硬性技术要求:
(1)精通JAVA开发语言、熟练掌握Eclipse开发工具;熟悉HTML、精通Apache、JSP、Servlet等Web开发相关技术;熟悉主流数据库,熟练掌握SQL。
(2)熟悉使用struts、spring、hibernate等常用开发框架;查看、分析前述和其它Java开源项目源代码者优先。
(3)熟练使用JavaScript和Ajax技术;具有一年及以上Ajax开发经验或熟悉Javascript。
应用过UML、重构、软件设计模式者优先……
工作职责:
参与系统设计,进行产品开发
岗位要求:
1.具备Web开发技能,精通JSP、HTML、JAVA语言开发;
2.熟悉TOMCAT安装与Web应用程序部署;
3.会使用数据库中间件:JDBC,Hibernate;
4.大学本科以上,至少2年以上的相关工作经验;
5.有基于GIS系统开发WEB应用经验者优先。
注:工作地点在北四环保福寺桥
职位描述:
要求:
1、有2年以上J2EE相关技术架构的中小型项目开发经验;
2、精通IBM WebSphere或Bea Weblogic平台下的J2EE开发。最好是用IBM WebSphere5.0进行过为期一年以上的J2EE应用开发。并且在开发过程中,大量运用了JSP、JSTL、JNDI、JDBC、XML、AJAX技术和Spring、Struts、Hibernate框架以及Web Services;
3、熟息Web程序开发流程,包括对架构设计、模块设置、代码编写、页面制作、调试、测 试和布署;
4、精通Web Services体系和Web服务体系,能熟练运用在开发过程之中;
5、JS面向对象
pvototype.js,精通JAVA script
6、至少精通Oracle、SQLServer、Sybase数据库中的一种,能熟练编写存储过程和综合查询 视图;
7、有丰富的团队协作开发经验,熟悉CVS管理等团队协作工具。
8、熟悉民航机务维修业务或有类似行业经验者优先。
1.一年以上Web开发开发经验,熟练使用JAVA开发语言,熟悉B/S结构网站开发流程,熟悉HTML,JAVASCRIPT,JQUERY;
2.良好的编程能力,掌握J2EE平台JAVA编程技术,有开源项目hibernate、struts,spring中的两种以上使用经验;
3.熟悉Grails开发有相关经验者优先;
4.熟练掌握主流的应用服务器,如TomcatWeblogicApache等的使用和管理;
5.熟悉SQL语言,熟悉MySQL数据库,熟悉SQL脚本;有ORACLE、SQLSERVER等大型数据库开发经验优先;
6.有WAP网站开发经验者优先;
7.有较强的学习与自学能力; 有良好的合作性和沟通能力,高度的奉献精神及敬业精神;
职位描述:
基本要求
1、年龄 22-33岁
2、计算机应用等相关专业
职位要求
1、精通JAVA开发,熟悉JSP,有一年以上JAVA开发经验,熟练JBuilder等开发工具;
2、熟悉BJB规范、J2EE体系,Weblogic,WebSphere等主流的中间件产品;
3、对MVC模式有较深入的理解,熟悉Struts架构;
4、熟悉XML技术;
5、熟悉数据库技术;
6、能够适应外地出差;
7、有BIP/EAI方面经验者优先;
8、逻辑表达能力强;
9、具备独立开发和运维能力;
10、熟悉电子商务与网上交易研发的JAVA工程师优先(1名)。岗位职责:
1、参加开发和实施公司各类软件项目;
2、参加负责项目后期运行维护;
3、服从软件经理的其他开发任务安排。
职位描述: 岗位职责: 1.程序开发 2.网站的日常维护 任职要求: 1.精通J2EE技术;
2.熟练使用java,JSP,JavaScript等开发语言,熟悉AJAX;
3.精通SQL语法及mysql数据库应用开发;
4.精通HTML,XML,CSS等超文本标记语言;
5.精通B/S三层结构开发模式,熟练各种中间件;
6.精通spring,hibernate;
7.精通Apache、Tomcat;
8.精通Eclipse、JBuilder、Ant等开发工具; 9.重视实践能力。
1、大专或者本科以上学历 2、1年以上大型B/S结构应用软件系统(J2EE架构)开发经验。
3、熟悉一些知名开源项目的框架,如Structs、Spring、Hibernate;并且有实际运用其开发的经验。
4、熟悉Oracle/MYSQL/SQLServer等主流数据库管理系统、相关技术及工具。
5、熟悉B/S模式的应用开发,能灵活使用HTML/DHTML、XML、JavaScript;
6、精力充沛,能承受工作压力,有团队开发经验者优先考虑。
任职要求:
1、本科以上学历,理工科相关专业;
2、精通面向对象设计方法,逻辑能力佳;
3、精通J2EE,掌握XML、HTML、JSP、AJAX等技术; 4、2年以上J2EE开发经验,至少熟悉MySQL、Oracle、SQL Server中的一种数据库开发;
5、有Websphere开发经验者优先;
6、具备极强的团队精神和合作精神,对工作有热情。
上海沃克软件有限公司成立于2001年,是由中外专业人士创立的软件服务公司。公司面向银行领域,为国内银行提供一流的IT咨询和产品解决方案。
目前公司能够提供的解决方案包括: 1.银行核心业务系统解决方案。2.银行EAI/ESB解决方案。3.银行综合前端解决方案。4.银行卡系统解决方案。5.银行现代化支付解决方案。6.银行统一应用系统监控解决方案。7.银行信贷管理系统解决方案。
“ 应用为本,专注行业 ”的发展战略,使上海沃克软件有限公司形成了 “以行业用户为中心” 的
管理体制,将解决方案、市场销售、技术支持等业务,进行一体化整合。尤其在金融领域,形成了银行应用系列及开发工具系列等,为用户提供了完善的解决方案和优质服务,同时公司成立了一个相对独立的技术服务中心,为客户提供全面的技术支持。
上海沃克软件有限公司致力于成为银行业信息化建设的咨询专家、应用软件解决方案及相关软件产品的优秀提供商及服务商,成为国内这一领域最有价值的企业。
基本要求:
1、一年以上工作经验;
2、专业要求:计算机,通信,自动化;
3、踏实、勤奋、开朗、富有责任心、注重细节; 岗位要求:
1、至少参与过两个基于J2EE的WEB项目的开发;
2、能够基于详细设计文档独立完成模块的编码实现;
3、熟悉基于B/S架构的应用软件开发流程;
4、扎实的JAVA基础功底;
5、熟悉J2EE基于开源框架的开发;
6、webwork、spring、ibatis、struts、hibernate等主流框架至少使用过三种;
7、熟练应用Eclipse、svn等常用开发平台和版本控制工具;
8、熟悉ORACLE,能够熟练编写常用SQL语句;
9、熟悉WEBLOGIC、webspere、tomcat等应用服务器;
10、熟悉常用JAVASCRIPT;
11、熟悉公安业务者优先; 报道时间要求:一个月内。
欢迎有项目经验的优秀毕业生加入!
注:本公司检查学历,执假学历者请勿浪费时间
工作要求
1.有两年软件开发经验。
2.熟练掌握Oracle+Java开发技术,熟练掌握Eclipse开发工具。3.熟悉Spring+Hibernate+Struts+Ibatis等Java开源框架。4.熟悉JavaScript、HTML、JSP、CSS等页面相关技术。5.熟悉Linux操作系统。
6.能独立完成数据库和程序设计。工作内容
1.负责公司业务系统的编写和修改 2.负责公司网站开发及设计 3.公司数据分析
岗位职责
1、参与新项目整体开发和计划;
2、参与项目系统架构设计,负责系统模块分析和系统接口设计;
3、核心代码与组件编写,共享重用代码库开发;
4、项目代码审查与确认,制定代码编写的规范;
5、负责系统性能优化和技术攻关;
任职资格
1、计算机相关专业,本科以上学历;
2、3年以上软件开发工作经历;
3、精通JAVA语言,熟练使用组件技术,数据库,相关开发工具,能独立承担项目的模块开发任务;
4、熟悉相关框架知识,熟练应用服务器配置;
5、有良好的编码习惯和技术文档编写能力;熟练阅读英文技术文档,具有很强的沟通、组织和协调能力;
6、能够承受较强的工作压力和强度,有极强的工作责任心。
1.一年以上Web开发开发经验,熟练使用JAVA开发语言,熟悉B/S结构网站开发流程,熟悉HTML,JAVASCRIPT,JQUERY;
2.良好的编程能力,掌握J2EE平台JAVA编程技术,有开源项目hibernate、struts,spring中的两种以上使用经验;
3.熟悉Grails开发有相关经验者优先;
4.熟练掌握主流的应用服务器,如TomcatWeblogicApache等的使用和管理;
5.熟悉SQL语言,熟悉MySQL数据库,熟悉SQL脚本;有ORACLE、SQLSERVER等大型数据库开发经验优先;
6.有WAP网站开发经验者优先;
7.有较强的学习与自学能力; 有良好的合作性和沟通能力,高度的奉献精神及敬业精神;
软件工程师(java)
职位描述
1、B/S项目开发经验2年以上
2、熟悉使用struts、spring、hibernate
3、查看、分析上述活其它Java开源项目源代码者优先
职位要求:
3年以上的Java, J2EE, XML等开发经验,1年以上架构设计经验(Windows环境);
熟练掌握Structs、Spring、Hibernate,等常用开发框架; 精通Transaction、Security、Persistence等机制及实现,IOC、AOP、SOA等理念及实现 熟悉主流数据库系统、应用服务器和开发工具,如SQLServer, Oracle、WebLogic、WebSphere、JBoss、Tomcat、JBuilder、Eclipse, 熟悉 HTML/JAVASCRIPT/CSS 等WEB技术;
熟练掌握面向对象的分析设计技术和工具,包括UML等。两年以上大型J2EE架构的门户网站项目经验者优先;良好的表达和交流能力,富有进取心;
了解Web应用的性能瓶颈和调优方式 专业: 计算机相关专业本科以上
公司介绍
1997年,一个人才的摇篮在上海诞生—新世界教育,这个由海外资金注入,国内精英支持的教育集团,正式扬起了航行的风帆。新世界教育旗下已拥有新世界进修中心、樱花国际日语、新贝青少儿教育、爱马德汉语培训、智赢国际雅思等数家知名专业培训机构,在不同的教育领域取得了非凡的成绩。
新世界教育集团立足于上海,走向全国。经过十年发展,在上海已经建立了46个学习中心,遍布沪上繁华商圈的涉外办公楼。在北京、广州、深圳、大连、青岛、杭州、南京、苏州、绍兴、无锡、常州、南通、温州等18个城市建立了98个学习中心,扩展了外地教育市场,成为全国闻名的培训学校。
现在全国范围内诚聘英才。
我们将提供完善的培训,和良好的职业发展机会。
1.要求计算机软件、通信及相关专业的本科或硕士毕业; 2.具有二年以上在J2EE架构下开发大型项目的经验;
3.精通java开发工具,熟悉Oracle、Informix等数据库的使用和开发;
4.精通J2EE技术架构,具备较强的独立开发能力;
5.具备较强的沟通能力以及团队协作精神,具有出色的分析判断能力。
工作职责:
1、依据项目要求和相关规范,完成系统的详细设计和相应文档的编写
2、根据项目要求和编码规范,完成基于J2EE平台的相应编码(Java、JSP、Servlet、EJB、XML等)任务
3、根据项目要求和单体测试规范,完成系统的单体测试Case设计、实施和总结
4、根据项目要求,配合项目人员完成结合测试、系统测试和系统交付等工作
职位要求:
1、计算机相关专业,重点大学本科以上学历,精通Java,3年以上编程开发经验,有较好的面向对象的程序设计思想和应用经验;
2、熟悉Flex,熟悉IBM Websphere、Eclipse、Jboss、Tomcat等系列产品;
3、熟悉Oracle,SQLServe、DB2数据库开发,精通SQL语言;
4、对J2EE开发体系架构有较深的理解和丰富的项目实践经验,熟练掌握Web Service、Web组件、EJB组件的相关开发
5、熟悉和精通用于Java Web开发的各种流行的开发框架、数据库框架及其设计思想,比如:Struts、Spring、Hibernate等;
6、具备较强的逻辑思维能力和学习能力;或许会有项目出差。
7、对工作认真负责,肯吃苦;积极主动;具备较好的语言表达和沟通能力;
8、有HIS系统开发经验优先。
工作职责:
1、依据项目要求和相关规范,完成系统的详细设计和相应文档的编写
2、根据项目要求和编码规范,完成基于J2EE平台的相应编码(Java、JSP、Servlet、EJB、XML等)任务
3、根据项目要求和单体测试规范,完成系统的单体测试Case设计、实施和总结
4、根据项目要求,配合项目人员完成结合测试、系统测试和系统交付等工作
职位要求:
1、计算机相关专业,重点大学本科以上学历,精通Java,3年以上编程开发经验,有较好的面向对象的程序设计思想和应用经验;
2、熟悉Flex,熟悉IBM Websphere、Eclipse、Jboss、Tomcat等系列产品;
3、熟悉Oracle,SQLServe、DB2数据库开发,精通SQL语言;
4、对J2EE开发体系架构有较深的理解和丰富的项目实践经验,熟练掌握Web Service、Web组件、EJB组件的相关开发
5、熟悉和精通用于Java Web开发的各种流行的开发框架、数据库框架及其设计思想,比如:Struts、Spring、Hibernate等;
6、具备较强的逻辑思维能力和学习能力;或许会有项目出差。
7、对工作认真负责,肯吃苦;积极主动;具备较好的语言表达和沟通能力;
8、有HIS系统开发经验优先。
2.Java程序员招聘要求 篇二
一、调进的材料要求和程序(工人身份除外)
1、材料要求(1)《事业单位工作人员调动呈批表》一式3份。
属市内调整的,由拟调出、调入单位及主管部门加具意见,并加盖公章。镇(街)中小学还须由镇(街)宣教办(局)在“调入单位意见”一栏加具意见,并加盖公章。(人事关系由市人才管理办公室代理的人员,如属个人代理的,“调出单位意见”一栏由市教育局统一送市人才管理办公室加具意见;如属单位代理的,先由调出单位加具意见,并加盖公章,再由市教育局统一送市人才管理办公室办理)。
属市外调进的,由调出、调入相关部门加意见,并加盖公章,镇(街)中小学还须由镇(街)宣教办(局)在“调入单位意见”一栏加具意见,并加盖公章。
(2)调入单位经市人力资源局最后审定的《广东省事业单位岗位聘用结果审核表》复印件1份;(3)公开招聘期间学校的考察材料1份;(4)《计划生育证明》1份;
(5)中专以上学历证书及鉴定证明、学位证书及鉴定证明、专业技术资格证书、教师资格证书、身份证的复印件各1份;
(6)《个人情况说明表》1份,要求由本人如实填写,手写签名并加按指模;
(7)在广东省外通过评审或认定取得专业技术资格证书的人员须按规定个人通过网上申报后,再提供办理专业技术资格确认的有关材料(详见说明一);
(8)人事关系由市人才管理办公室代理的人员须提供人事代理合同复印件1份;(9)如有特殊情况的须提供相应的证明材料。
2、程序
(1)拟调入单位按材料序号排列整理好上述材料报市教育局人事科
(一)室;
(2)属市内调整的,由市教育局借取干部人事档案并进行审查;属市外调进的,由拟调入单位将拟调人员提供的人事关系所在单位及批准调出单位全称(即调档联系单位)报市教育局人事科
(一)室,市教育局发出调档函商调干部人事档案并进行审查;
(3)在广东省外通过评审或认定取得专业技术资格证书的人员按市人力资源局的有关规定申请办理职称确认。在个人通过网上申报后,将有关申请材料报市教育局人事科
(一)室审核,再由市教育局统一报市人力资源局审批(详见说明一);
(4)有关材料齐全后,由市教育局统一报市人力资源局审批办理调入;
(5)市人力资源局审批同意调入后,凭市教育局开具的介绍信或商调函等相关材料到有关部门办理人事、组织、户口、社保、住房公积金等关系转移手续;
(6)调入单位到市人力资源局办理岗位聘用备案手续,提交双方签订的《事业单位聘用合同》1份,并到市机编委办理列编手续(详见说明二);
(7)调入单位办理工资有关手续(详见说明三);
(8)如因材料造假或违反有关法律法规等不同意调入的,由市教育局通知拟调入学校,并由学校妥善做好相关工作。
二、接收毕业生的材料要求和程序
1、材料要求
(1)毕业生登记表1份,加盖拟接收单位公章,镇(街)中小学还须加盖镇(街)宣教办(局)公章;
(2)《全国普通高等学校毕业生就业推荐表》1份;(3)《全国普通高等学校毕业生就业协议书》一式3份;
(4)拟接收单位经市人力资源局最后审定的《广东省事业单位岗位聘用结果审核表》复印件1份;
2、程序
(1)拟接收单位将上述材料报市教育局人事科
(二)室;
(2)市教育局审核通过后,签发就业协议书并加盖教育局公章发还毕业生带回毕业院校加盖公章,由毕业院校办理报到证;
(3)已办理接收手续的毕业生于报到证有效期内到市教育局人事科
(二)室报到,领取介绍信并在有效期内到接收单位报到,凭介绍信到有关部门办理组织关系转移、户口迁移、社保和住房公积金等有关手续;
(4)毕业生在市教育局开具介绍信后三个月内,协助档案管理部门将档案按规定途径寄到教育局人事科;
(5)接收单位到市人力资源局办理岗位聘用备案手续,提交双方签订的《事业单位聘用合同》1份,并到市机编委办理列编手续(详见说明二);
(6)接收单位办理工资有关手续(详见说明三);
(7)如因材料造假或违反有关法律法规等不同意接收的,由市教育局通知拟接收学校,并由学校妥善做好相关工作。
四、注意事项
(一)计划生育证明要求:已婚的由女方户口所在地镇(街)级以上计划生育部门出具计生证明,未婚的由本人户口所在地镇(街)级以上计划生育部门出具计生证明。离婚的除出具计生证明外,还要提供离婚证复印件及离婚协议书复印件。
(二)学历、学位鉴定要求:
1、须提供由全国高等学校学生信息咨询与就业指导中心或广东省教育厅学历认证中心出具的学历鉴定证明。
2、须提供由教育部学位与研究生教育发展中心、广东省教育厅学历认证中心或东莞市人才管理办公室出具的学位鉴定证明;
(三)材料复印件的要求:提交的复印材料统一使用A4纸复印,须由各单位的人事干部验证、签名、注明复印时间,并加盖学校公章。
(四)材料报送要求:镇(街)中小学填报的有关材料须报镇(街)宣教办(局)审核,并加盖宣教办(局)公章。
(五)档案材料投递要求:人事档案不能自带,必须由档案管理单位通过邮政局机要部门邮寄到我局人事科;人事档案材料必须是材料原件。
五、未尽事宜按有关规定执行。
说明一:
东莞市中小学校省外人员专业技术资格确认工作 的有关要求(试行)
一、对象范围
在广东省外通过评审或认定取得专业技术资格证书的我市中小学校新进人员。
二、办理程序及材料要求
(一)网上申报
申报人登陆东莞市人力资源局网站,按照市人力资源局的有关要求进行网上申报(登陆路径:东莞市人力资源政务信息网→职称申办→专业技术人才服务管理系统→职称确认)。申报人须注册个人帐户后如实填报和上传申报材料(其中在“个人资料”卡片中“选择送审单位(或居委会)”选项选择拟调入单位,拟调入单位要预先进行网上注册,“人才服务联络点”选项选择东莞市教育局,“其他附件上传”卡片中的“其他材料”选项须上传教师资格证书彩色照片,“其他附件上传”卡片中的专业技术资格评审表、认定表统一由市教育局上传),再由拟调入单位、市教育局审核通过后交市人力资源局审批。
(二)提交申报材料
市人力资源局网上审核通过后,申报人按材料序号排列整理好下列申报材料,交拟调入单位加具意见、签名、盖公章,镇(街)中小学还须由镇(街)宣教办(局)加具意见、签名、盖公章(对申报高级专业技术资格确认的,要将申报人提交的《省外来粤人员高级专业技术资格确认申报表》、学历证书、学历鉴定证明、专业技术资格证书、全国计算机应用能力考试合格证、申报高级专业技术资格时在报刊发表的2篇论文张贴于单位显著位置,公示7个工作日,填报公示情况表,并到市教育局监察室加具意见、盖公章),再报市教育局人事科
(一)室审核,由市教育局统一报市人力资源局审批。
申报材料要求(其中带“*”号标记的材料必须在网上申报系统中打印)
1、省外评审取得的高级资格:
(1)*《省外来粤人员高级专业技术资格确认申报表》一式3份;(2)*《省外来粤人员专业技术资格确认信息录入表》1份;(3)*《贴资格证相片页》1份;(4)《省外来粤人员高级专业技术资格确认公示情况表》1份;
(5)取得该资格时的学历和现最高学历的证书、学历鉴定证明复印件各1份;(6)专业技术资格证复印件1份;(7)教师资格证复印件1份;(8)身份证复印件1份;
(9)如有特殊情况的须提供相应的证明材料。
2、省外评审、认定取得的中、初级资格:
(1)*《省外来粤人员中(初)级专业技术资格确认申报表》一式3份;(2)*《省外来粤人员专业技术资格确认信息录入表》1份;(3)*《贴资格证相片页》1份;
(4)取得该资格时的学历和现最高学历的证书、学历鉴定证明复印件各1份;(5)专业技术资格证复印件1份;(6)教师资格证复印件1份;(7)身份证复印件1份。
(9)如有特殊情况的须提供相应的证明材料。
另外,2002年以后通过评审取得中学中级以上专业技术资格的人员,还需提交《全国计算机应用能力考试合格证》复印件1份(计算机专业资格除外)。
三、注意事项
(一)确认申报表的签名栏必须手写签名。
(二)提交的复印材料,统一使用A4纸复印,须由各单位的人事干部验证、签名、注明复印时间,并加盖学校公章。
四、未尽事宜按有关规定执行。
说明二:
东莞市中小学校事业单位人员聘用备案管理工作 的有关要求(试行)
一、备案对象范围
(一)岗位调整备案。学校岗位有空缺,且现拟聘用人员符合岗位聘用条件,学校同意聘用其到新的岗位,在校内公示七个工作日后,先报市教育局人事科
(二)室审核,再报市人力资源局审批。经市人力资源局审批备案后,再为其办理岗位调整手续(暂时不办理工勤岗位调整到管理岗位的手续)。
(二)岗位聘用备案。中小学校有空编、空岗,通过人员调动、公开招聘等方式调进或招收本单位以外的人员,须办理岗位聘用备案手续。
(三)退休备案。中小学校工作人员经市人力资源局(工人须报市社保局审批)同意办理退休手续后须办理退休备案手续。
(四)辞职、辞退备案。中小学校工作人员经市教育局批准辞职或辞退后,须办理辞职或辞退备案手续。
(五)人员调出备案。中小学校工作人员调往外市、调出外线、线内调整等须办理调出备案手续。
二、材料要求
(一)岗位调整备案
1、《广东省事业单位岗位聘用结果审核表》一式4份;
2、经市人力资源局最后审定的《广东省事业单位岗位聘用结果审核表》复印件1份;
3、《东莞市事业单位岗位聘用名册表》一式4份;
4、《广东省事业单位岗位聘用审核表》一式3份;
5、《聘用合同变更书》1份;
6、证明材料:(1)专业技术岗位调整:专业技术资格证复印件1份,管理岗位、工勤技能岗位调整到专业技术岗位的还须附上教师资格证复印件、课程表复印件各1份;(2)管理岗位调整:学历证书复印件、学历鉴定证明复印件、学校工作年限证明各1份;(3)工勤技能岗位调整:技工证复印件、学校工作年限证明各1份;(4)专业技术辅系列调整:专业技术资格证复印件、学校工作证明各1份。
(二)岗位聘用备案
1、《广东省事业单位岗位聘用结果审核表》一式4份;
2、经市人力资源局最后审定的《广东省事业单位岗位聘用结果审核表》复印件1份;
3、《东莞市事业单位岗位聘用名册表》一式4份;
4、《广东省事业单位岗位聘用审核表》一式3份;
5、《事业单位聘用合同》1份;
6、介绍信复印件1份;
7、具备专业技术资格的需提供专业技术资格证复印件1份。
(三)退休、辞职、辞退和人员调出备案
1、《广东省事业单位岗位聘用结果审核表》一式4份;
2、经市人力资源局最后审定的《广东省事业单位岗位聘用结果审核表》复印件1份;
3、《东莞市事业单位岗位聘用名册表》一式4份;
4、退休通知书、辞职或辞退批复、介绍信复印件1份;
5、辞职、辞退需提供《解除聘用合同证明书》原件1份。
三、备案流程
(一)岗位调整备案流程
1、有关单位按要求准备好上述岗位聘用备案材料并加盖公章,镇(街)中小学还须报镇(街)宣教办(局)核查,并加盖公章,报市教育局人事科
(二)室审核;
2、市教育局审核后,报市人力资源局审批备案;
3、市人力资源局审批通过后,将《广东省事业单位岗位聘用结果审核表》、《东莞市事业单位岗位聘用名册表》、《广东省事业单位岗位聘用审核表》、《聘用合同变更书》各1份报市教育局人事科
(二)室存档。
(二)岗位聘用备案流程
1、有关单位按要求准备好上述岗位聘用备案材料并加盖公章,镇(街)中小学还须报镇(街)宣教办(局)核查,并加盖公章,报市教育局人事科
(一)室审核;
2、市教育局审核后,报市人力资源局审批备案;
3、凭市人力资源局审批通过的《东莞市事业单位岗位聘用名册表》和有关材料按程序办理列编、工资等相关手续,并将经市人力资源局审批通过的《广东省事业单位岗位聘用结果审核表》、《东莞市事业单位岗位聘用名册表》、《广东省事业单位岗位聘用审核表》、《事业单位聘用合同》各1份报市教育局人事科
(二)室存档。
(三)退休、辞职、辞退和人员调出备案流程
1、有关单位有人员退休、离职或调出的情况下,在办理相关手续后,按要求准备好上述材料并加盖公章,镇(街)中小学须报镇(街)宣教办(局)核查,并加盖公章,报市教育局人事科
(二)室审核;
2、市教育局审核后,报市人力资源局审批备案;
3、凭市人力资源局审批通过的《东莞市事业单位岗位聘用名册表》和有关材料按程序办理销编、工资等相关手续,并将经市人力资源局审批通过的《广东省事业单位岗位聘用结果审核表》、《东莞市事业单位岗位聘用名册表》、《解除聘用合同证明书》各1份报市教育局人事科
(二)室存档。
四、注意事项
(一)《东莞市事业单位岗位聘用名册表》仅填写变更人员,现有人员不用填写。
(二)提交的复印材料,统一使用A4纸复印,须由各单位的人事干部验证、签名、注明复印时间,并加盖学校公章。
五、未尽事宜按有关规定执行。
说明三:
东莞市中小学校教职员工资审批的有关要求(试行)
一、新进人员工资统发材料要求和程序
(一)对象范围 中小学校新进人员。
(二)材料要求
1、新进人员套表:(1)《新进人员工资核定名册表》一式3份;(2)《新进人员工资审批表》1份;(3)《个人信息采集表》一式2份。
2、证明材料:(1)《东莞市事业单位岗位聘用名册表》复印件1份;(2)《机关、事业单位工作人员列编登记卡》复印件1份;(3)市教育局开具的介绍信复印件1份。
3、存档材料:(1)《新进人员工资核定名册表》1份;(2)《新进人员工资审批表》1份;(3)《个人信息采集表》1份。
4、统发工资材料:(1)《镇(街)增加在职教职工统发工资明细表》一式2份;
(2)经人力资源局审批的《新进人员工资核定名册表》复印件1份;(3)市教育局开具的介绍信复印件1份;(4)身份证复印件1份。
(三)程序
1、调入单位人事干部查阅新进人员档案,采集个人信息,录入工资管理系统,把新进人员套表和证明材料报市教育局人事科
(一)室审核,再送市人力资源局审批,审批同意后将存档材料交市教育局人事科
(一)室存档;
2、调入单位人事干部填报新进人员统发工资材料,并在每月18日前报市教育局人事科
(一)室审核汇总,再统一送市财政局审批,并由市财政局进行统发。
二、工资停发材料要求和程序
(一)对象范围
中小学校调出、辞职、辞退、死亡的人员。
(二)材料要求和程序
所在单位凭相关材料到市人力资源局更新工资管理系统信息,在职人员填报《镇(街)减少在职教职工统发工资明细表》一式2份,离退休人员填报《镇(街)减少离退休教职工统发工资明细表》一式2份,连同调出、辞职、辞退、死亡相关通知书或批复,在每月18日前报市教育局人事科
(一)室审核汇总,由市教育局统一送市财政局审批,并由市财政局停发工资。
3.Java程序员招聘要求 篇三
1.abstract class Name { private String name;public abstract boolean isStupidName(String name){} }大侠们,这有何错误?答案: 错。abstract method必须以分号结尾,且不带花括号。
2.public class Something { void doSomething(){ private String s = “";int l = s.length();} }有错吗? 答案: 错。局部变量前不能放置任何访问修饰符(private,public,和protected)。final可以用来修饰局部变量(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。
3.abstract class Something { private abstract String doSomething();}这好像没什么错吧? 答案: 错。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstract method封锁起来呢?(同理,abstract method前不能加final)。
4.public class Something { public int addOne(final int x){ return ++x;} }这个比较明显。
答案: 错。int x被修饰成final,意味着x不能在addOne method中被修改。
5.public class Something {
public static void main(String[] args){ Other o = new Other();new Something().addOne(o);}
public void addOne(final Other o){ o.i++;} } class Other { public int i;}和上面的很相似,都是关于final的问题,这有错吗? 答案: 正确。在addOne method中,参数o被修饰成final。如果在addOne method里我们修改了o的reference,(比如: o = new Other();),那么如同上例这题也是错的。但这里修改的是o的member vairable(成员变量),而o的reference并没有改变。
6.class Something { int i;
public void doSomething(){ System.out.println(”i = “ + i);} } 有什么错呢? 看不出来啊。
答案: 正确。输出的是”i = 0“。int i属於instant variable(实例变量,或叫成员变量)。instant variable有default value。int的default value是0。
7.class Something { final int i;
public void doSomething(){ System.out.println(”i = “ + i);} }和上面一题只有一个地方不同,就是多了一个final。这难道就错了吗? 答案: 错。final int i是个final的instant variable(实例变量,或叫成员变量)。final的instant variable没有default value,必须在constructor(构造器)结束之前被赋予一个明确的值。可以修改为”final int i = 0;“。
8.public class Something {
public static void main(String[] args){ Something s = new Something();
System.out.println(”s.doSomething()returns “ + doSomething());}
public String doSomething(){ return ”Do something...“;} } 看上去很完美。
答案: 错。看上去在main里call doSomething没有什么问题,毕竟两个methods都在同一个class里。但仔细看,main是static的。static method不能直接call non-static methods。可改成”System.out.println(“s.doSomething()
returns
”
+ s.doSomething());“。同理,static method不能访问non-static instant variable。
9.此处,Something类的文件名叫 OtherThing.javaclass Something {
private static void main(String[] something_to_do){ System.out.println(”Do something...“);} } 这个好像很明显。
答案: 正确。从来没有人说过Java的Class名字必须和其文件名相同。但public class的名字必须和文件名相同。
10.interface A{
int x = 0;} class B{ int x =1;}
class C extends B implements A { public void pX(){ System.out.println(x);}
public static void main(String[] args){ new C().pX();} } 答案:错误。在编译时会发生错误(错误描述不同的JVM有不同的信息,意思就是未明确的x调用,两个x都匹配(就象在同时import java.util和java.sql两个包时直接声明Date一样)。对于父类的变量,可以用super.x来明确,而接口的属性默认隐含为 public static final.所以可以通过A.x来明确。
11.interface Playable {
void play();} interface Bounceable { void play();}
interface Rollable extends Playable, Bounceable { Ball ball = new Ball(”PingPang“);}
class Ball implements Rollable { private String name;public String getName(){ return name;}
public Ball(String name){ this.name = name;}
public void play(){
ball = new Ball(”Football“);System.out.println(ball.getName());} }这个错误不容易发现。
答案: 错。”interface Rollable extends Playable, Bounceable“没有问题。interface可继承多个interfaces,所以这里没错。问题出在interface Rollable里的”Ball ball = new Ball(“PingPang”);“。任何在interface里声明的interface variable(接口变量,也可称成员变量),默认为public static final。也就是说”Ball ball = new Ball(“PingPang”);“实际上是”public static final Ball ball = new Ball(“PingPang”);“。在Ball类的Play()方法中,”ball = new Ball(“Football”);“改变了ball的reference,而这里的ball来自Rollable interface,Rollable interface里的ball是public static final的,final的object是不能被改变reference的。因此编译器将在”ball = new Ball(“Football”);“这里显示有错。
JAVA编程题 1.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset import java.util.*;public class bycomma{
public static String[] splitStringByComma(String source){ if(source==null||source.trim().equals(”“))
return null;
StringTokenizer commaToker=new tringTokenizer(source,”,“);String[] result = new String[commaToker.countTokens()];int i=0;
while(commaToker.hasMoreTokens()){ result[i] = commaToker.nextToken();i++;} return result;} public static void main(String args[]){
String[] s = splitStringByComma(”5,8,7,4,3,9,1“);int[] ii = new int[s.length];for(int i = 0;i for(int i=(s.length-1);i>=0;i--){ System.out.println(ii[i]);} } } 2.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。package test.format;import java.text.NumberFormat;import java.util.HashMap;public class SimpleMoneyFormat { public static final String EMPTY = ”“;public static final String ZERO = ”零“;public static final String ONE = ”壹“;public static final String TWO = ”贰“;public static final String THREE = ”叁“;public static final String FOUR = ”肆“;public static final String FIVE = ”伍“;public static final String SIX = ”陆“;public static final String SEVEN = ”柒“;public static final String EIGHT = ”捌“;public static final String NINE = ”玖“;public static final String TEN = ”拾“;public static final String HUNDRED = ”佰“;public static final String THOUSAND = ”仟“;public static final String TEN_THOUSAND = ”万“;public static final String HUNDRED_MILLION = ”亿“;public static final String YUAN = ”元“;public static final String JIAO = ”角“;public static final String FEN = ”分“;public static final String DOT = ”.“; private static SimpleMoneyFormat formatter = null;private HashMap chineseNumberMap = new HashMap();private HashMap chineseMoneyPattern = new HashMap();private NumberFormat numberFormat NumberFormat.getInstance();private SimpleMoneyFormat(){ numberFormat.setMaximumFractionDigits(4);numberFormat.setMinimumFractionDigits(2); = numberFormat.setGroupingUsed(false);chineseNumberMap.put(”0“, ZERO);chineseNumberMap.put(”1“,ONE);chineseNumberMap.put(”2“, TWO);chineseNumberMap.put(”3“, THREE);chineseNumberMap.put(”4“, FOUR);chineseNumberMap.put(”5“, FIVE);chineseNumberMap.put(”6“, SIX);chineseNumberMap.put(”7“, SEVEN);chineseNumberMap.put(”8“, EIGHT);chineseNumberMap.put(”9“, NINE);chineseNumberMap.put(DOT, DOT);chineseMoneyPattern.put(”1“, TEN);chineseMoneyPattern.put(”2“, HUNDRED);chineseMoneyPattern.put(”3“, THOUSAND);chineseMoneyPattern.put(”4“, TEN_THOUSAND);chineseMoneyPattern.put(”5“, TEN);chineseMoneyPattern.put(”6“, HUNDRED);chineseMoneyPattern.put(”7“, THOUSAND);chineseMoneyPattern.put(”8“, HUNDRED_MILLION);} public static SimpleMoneyFormat getInstance(){ if(formatter == null) formatter = new SimpleMoneyFormat();return formatter;} public String format(String moneyStr){ checkPrecision(moneyStr);String result; result = convertToChineseNumber(moneyStr);result = addUnitsToChineseMoneyString(result); return result;} public String format(double moneyDouble){ return format(numberFormat.format(moneyDouble));} public String format(int moneyInt){ return format(numberFormat.format(moneyInt));} public String format(long moneyLong){ return format(numberFormat.format(moneyLong));} public String format(Number moneyNum){ return format(numberFormat.format(moneyNum)); private String convertToChineseNumber(String moneyStr){ String result; StringBuffer cMoneyStringBuffer = new StringBuffer();for(int i = 0;i < moneyStr.length();i++){ cMoneyStringBuffer.append(chineseNumberMap.get(moneyStr.substring(i, i + 1))); //拾佰仟万亿等都是汉字里面才有的单位,加上它们 int indexOfDot = cMoneyStringBuffer.indexOf(DOT);int moneyPatternCursor = 1;for(int i = indexOfDot1) cMoneyStringBuffer.delete(cMoneyStringBuffer.length()1, JIAO); cMoneyStringBuffer.insert(cMoneyStringBuffer.length(), FEN);if(cMoneyStringBuffer.indexOf(”零角零分“)!=-1)//没有零头,加整 cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(”零角零分“), cMoneyStringBuffer.length(), ”整“); else if(cMoneyStringBuffer.indexOf(”零分“)!=-1)//没有零分,加 整 cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(”零分“), cMoneyStringBuffer.length(), ”整“);else { if(cMoneyStringBuffer.indexOf(”零角“)!=-1) cMoneyStringBuffer.delete(cMoneyStringBuffer.indexOf(”零角“),cMoneyStringBuffer.indexOf(”零角“)+2); tmpBuffer.append(”整“); } result = cMoneyStringBuffer.toString();return result;} private void checkPrecision(String moneyStr){ int fractionDigits = moneyStr.length() -moneyStr.indexOf(DOT)-1; if(fractionDigits > 2)throw new RuntimeException(”金额“ + moneyStr + ”的小数位多于两位。“);//精度不能比分低 } public static void main(String args[]){ System.out.println(getInstance().format(new Double(10010001.01)));} } 3、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 答:父类: package test; public class FatherClass { public FatherClass(){ System.out.println(”FatherClass Create“);} } 子类: package test; import test.FatherClass; public class ChildClass extends FatherClass { public ChildClass(){ System.out.println(”ChildClass Create“);} public static void main(String[] args){ FatherClass fc = new FatherClass();ChildClass cc = new ChildClass();} } 输出结果: C:>java test.ChildClass FatherClass FatherClass Create ChildClass Create 4、内部类的实现方式? 答:示例代码如下: package test; public class OuterClass { private class InterClass { public InterClass(){ System.out.println(”InterClass Create“);} } public OuterClass(){ InterClass ic = new InterClass();System.out.println(”OuterClass Create“);} public static void main(String[] args){ OuterClass oc = new OuterClass();} Create } 输出结果: C:>java test/OuterClass InterClass Create OuterClass Create 再一个例题: public class OuterClass { private double d1 = 1.0;//insert code here } You need to insert an inner class declaration at line 3.Which two inner class declarations are valid?(Choose two.) A.class InnerOne{ public static double methoda(){return d1;} } B.public class InnerOne{ static double methoda(){return d1;} } C.private class InnerOne{ double methoda(){return d1;} } D.static class InnerOne{ protected double methoda(){return d1;} } E.abstract class InnerOne{ public abstract double methoda();} 说明如下: 一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。故 A、B 错 二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。故 D 错 三.非静态内部类的非静态成员可以访问外部类的非静态变量。故 C 正确 四.答案为C、E 5、Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示? 答:Server端程序: package test;import java.net.*;import java.io.*;public class Server { private ServerSocket ss;private Socket socket;private BufferedReader in;private PrintWriter out;public Server(){ try { ss=new ServerSocket(10000);while(true){ socket = ss.accept();String RemoteIP = socket.getInetAddress().getHostAddress();String RemotePort = ”:“+socket.getLocalPort();System.out.println(”A in!IP:“+RemoteIP+RemotePort);in = new BufferedReader(new client come InputStreamReader(socket.getInputStream()));String line = in.readLine(); System.out.println(”Cleint send is :“ + line);out = new PrintWriter(socket.getOutputStream(),true);out.println(”Your Message Received!“);out.close();in.close();socket.close();} }catch(IOException e){ out.println(”wrong“);} } public static void main(String[] args){ new Server();} } Client端程序: package test;import java.io.*;import java.net.*;public class Client { Socket socket;BufferedReader in;PrintWriter out;public Client(){ try { System.out.println(”Try to Connect to 127.0.0.1:10000“);socket = new Socket(”127.0.0.1“,10000);System.out.println(”The Server Connected!“);System.out.println(”Please enter some Character:");BufferedReader line = new BufferedReader(new InputStreamReader(System.in)); out = new PrintWriter(socket.getOutputStream(),true);Out 3、接口和内部类、抽象类的特征答:接口:在一个类里,只有申明没有实现。内部类:是在一个类的内部定义的一个类;抽象类:是以abstract 定义的,里面至少有一个抽象方法。 4、文件读写的基本类 答:File Reader 类和FileWriter类分别继承自Reader类和Writer类。FileReader类用于读取文件,File Writer类用于将数据写入文件,这两各类在使用前,都必须要调用其构造方法创建相应的对象,然后调用相应的read()或 write()方法。 6、线程的基本概念、线程的本状态以及状态之间的关系 ?新建(Born): 新建的线程处于新建状态?就绪(Ready): 在创建线程后,它将处于就绪状态,等待 start()方法被调用?运行(Running): 线程在开始执行时进入运行状态?睡眠(Sleeping): 线程的执行可通过使用 sleep()方法来暂时中止。在睡眠后,线程将进入就绪状态?等待(Waiting): 如果调用了 wait()方法,线程将处于等待状态。用于在两个或多个线程并发运行时。?挂起(Suspended): 在临时停止或中断线程的执行时,线程就处于挂起状态。?恢复(Resume): 在挂起的线程被恢复执行时,可以说它已被恢复。?阻塞(Blocked)– 在线程等待一个事件时(例如输入/输出操作),就称其处于阻塞状态。?死亡(Dead)– 在 run()方法已完成执行或其 stop()方法被调用之后,线程就处于死亡状态。 5、串行化的注意事项以及如何实现串行化答:如果有循环引用是不可以串行化的。对象输出流的WriteObject方法和 对象输入流的ReadObect 方法 7、线程的同步、如何实现线程的同步答:当两个或多个线程同时访问同一个变量,并且以个线程需要修改这个变量。就要用到线程同步。在Java 中,同步是通过 synchronized 关键字来定义的。诺是想同步化某程序段,可以使用 synchronized(object){}方法,其中{}内的程序语句被同步化。 9、socket通信(tcp/udp区别及JAVA的实现方式)TCP——传输控制协议,具有极高的可靠性,保证数据包按照顺序准确到达,但其也有着很高的额外负担。UDP——使用者数据元协议,并不能保证数据包会被成功的送达,也不保证数据包到达的顺序,但其传输速度很快。大多数我们会使用TCP,偶尔才会动用UDP,如声音讯号,即使少量遗失,也无 关紧要。 10、JAVA的事件委托机制和垃圾回收机制 java 事件委托机制的概念,一个源产生一个事件并将它送到一个或多个监听器那里。在这种方案中,监听器简单的等待,直到它收到一个事件。一旦事件被接受,监听器将处理这个事件,然后返回。垃圾回收机制 垃圾收集是将分配给对象但不在使用的内存回收或释放的过程。如果一个对象没有指向它的引用或者其赋值为null,则次对象适合进行垃圾回收 11、JDBC调用数据库的基本步骤导入必要的类,装入JDBC驱动程序,识别数据源,分配一个Connection对象,分配一个Statement对象,使用Statement执行一个查询,从返回的ResultSet对象中检索数据,关闭ResultSet,关闭Statement对象,关闭Connection对象 12、解析XML文件的几种方式和区别答:Dom解析 在内存中创建一个DOM树,能随机访问文件内容,也可以修改原文件内容SAX解析 线性解析,不能随机访问,也无法修改原文件Dom解析要先用SAX解析创建DOM树 13、JAVA的四种基本权限的定义public private protected 默认 程序员提高自我修养是为了什么? 程序写的好有人崇拜,有妹子喜欢?还是到博客、论坛、社区发表文章进行分享获得成就?我想这是少数人的追求,也是更高的追求,在这之前 我认为,在中国,程序员提高自我修养的目的,是为了: 1、更好的融入工作,减少困难,增加成就 2、稳步的提升能力,提高收入,达成财务自由 2、站在更高的层面看待自己的学习和工作,树立更加适合的人生观价值观,家庭幸福,生活愉快 说的更通俗一点,就是用更加合理的方式和方法,赚取到更多的收入 说了这么多废话,进入正题 何为程序员的自我修养? 正面论述很难说清楚,反向描述可能更通俗易懂一些,自我修养的对立面是“没有修养”,先说一说在这么多年的工作、学习、生活中,遇到的一些我认为“没有修养”的程序员形态: 1、程序员小张遇到了一个开发问题,很着急,想到了有几个群,于是到群里发了他的问题,坐等回答,发现没有人回答,就直接对话群主的QQ,群主也不回答,于是小张就搜索,突然搜到博客园有个帖子讲解了相关话题,他看完就给博主留言,我的邮箱是:XXXXX@qq.com,麻烦博主把源码发给我一下,谢谢。 2、程序员小张进公司3个月了,老板布置了很多任务,他觉得老板很没人性,工资给的不高,加班也不给钱,于是在写代码的时候能省就省,客户反馈有问题也不主动解决,敷衍为主,又过了一个月,跳槽了。 3、程序员小张正在写一个功能模块,需要进行某种加密,到百度搜到了一个编码模块,看不明白具体写了什么,但是放到程序里刚好适用,于是就这么原封不动放进去了。 4、程序员小张要对某个功能进行研发,项目经理对他说,这个功能应该能搜索到,你去搜搜看,小张就在百度搜啊搜,一天过去了啥都没找到,项目经理来到小张身边坐下,换了个关键词,1分钟就搜到了解决方案。 5、程序员小张学.NET已经工作3年了,工资还是10000,和公司提涨工资也没答应,想跳槽又犹豫,这时某个前辈对他说,你去看书吧,多看一些书,例如 《Visual C# 从入门到精通》,《CLR via C#》《Javascript权威指南》等等,于是小张买回来了,随手翻了翻发现有些东西是他已经会的,有些看不懂的好像又用不到,而且书这么厚,要不要浪费时间去看呢?小张就这样反复纠结了半年,依然每天上班工作,下班LOL,偶尔还抱怨一下工资低。 6、程序员小张到了一家新公司,在做一个项目实现某个功能时,想起来以前做过这样的功能,可是竟想不起怎么实现了,于是就到自己电脑上找文档,找了好久也没找到,只好放弃,最后又折腾了2天,终于还是把这个功能给实现了。 7、程序员小张某天非常不高兴,因为他的项目经理和项目组的产品人员又变更需求了,新的需求又要对整个结构进行大的调整,小张很郁闷,到一个QQ里发泄情绪,说了这个事,于是立马,QQ群里面炸开锅了,程序员小李说,对,产品就是狗日的!程序员小王说,对,他妈的项目经理整天高枕无忧,就知道压榨开发人员!程序员小孙说,是的是的,我上一家公司也是这样,压榨程序员,幸好我走了。就这样,在一片骂声中,几个程序员心情舒畅了,小张开心的去玩王者荣耀去了。 我想,有些人可能已经明白我要说什么,有些人可能还不明白,具体的话我也说不出来,只能用一句话来概括就是: 在编写代码的过程中,善于学习、掌握方法、勤加思考、勤奋努力、持之以恒,长此以往,在编程中,你会发现不一样的自己。 以上这些还是比较抽象,那么 提升自我修养的具体方法有哪些? 程序员具体如何达成“较高的修养”,每个人各有自己的办法,我无法说到很细,就和如何提高做人修养一样,一句两句话是说不清楚的,但是有些说法也通俗易懂,比如一个小孩,有教育良好的父母,父母彬彬有礼,小孩从小开始接受正规教育,小学、初中、高中、大学,然后文化课程和社会实践良好,那么这个小孩最终的做人修养,一定比没有经历过这个过程的小孩更好一些。 同样的,写程序也是如是,下面我就讲一些最基本的、最浅显易懂的学习方法和道理,我把它叫做: 程序员基础的基础 一个好的开发人员,应该能够全面、高效、严谨的去处理任何软件程序和业务问题,成为一个好的开发,是一个很有意思的话题,不过无论这个话题如何开展,基础两个字必不可少,虽然代码量是衡量开发能力的重要指标,但仅能够熟练的进行代码编写是不够的,更要能深刻的理解技术原理和业务逻辑,扎实的个人基础和技术基础往往会促进代码的编写,更游刃有余的解决问题。 下面说的一些基础,可能绝大部分开发人员都不会在意甚至忽略,但恰恰这些才是开发大厦的基石。 1、科学基础 成为开发人员的过程不尽相同,有的是科班出身,有的是兴趣爱好,还有的是专业机构的培训,在这个过程中,可能全面或者零散甚至没有学习过计算机基础学科,但无论是哪一种,想要成为更高层次的开发人员,写出更高质量的代码,计算机基础学科的学习,是非常非常非常(重要的事情说三遍)重要的。具体的来说,基础学科在实践应用中,有如下几门是一定需要的,按照学习顺序排列如下 1)数据结构 数据结构课程通俗的说就是告诉你如何用最基本的语言类型、变量,关键词语句等,去处理各式各样的逻辑问题,我们称之为算法,而日常编程中的各种问题,例如排序、文件夹遍历操作、数据库查询等,都可以在数据结构课程中,找到对应的数学原型。数据结构课程的理解能力,也是一个人数学能力的体现,数据结构学习的好坏,是程序员水平差异的一个重要分水岭,对于这一块内容的学习,有如下建议:使用VB、C、C++、Pascal等语言,买一本相关语言数据结构与算法的书,或者在网上下载相关的PDF电子书,完整的学习一边,并将书本中的所有案例亲自编写运行调试一遍,当能够领悟到某些日常编程中常见手法源于某些数据结构和算法时,就基本达到了学习效果。 2)操作系统 所有编程语言的开发以及应用的运行,都基于操作系统,桌面编程中的大部分场景包括内存、进程、文件系统、网络通讯、用户界面等,都源于操作系统的定义和概念,完整的了解操作系统的起源和组成以及运行逻辑,对多线程、复杂界面、文件管理以及一些难以正常理解编程思路等开发中遇到的场景,有非常大的帮助,不仅帮助理解,也能掌握更多有效的程序写法。具体可以买一本操作系统的书或者下载相关PDF电子书,完整的浏览一遍,做到能够结合实际编程场景来看待操作系统原理,就基本达到了学习效果。 3)数据库 传统的关系型数据库,入门简单,深入却难,往往开发人员能够较快的掌握增删改查、视图、索引、存储过程等基本数据库操作,却在编写复杂查询、设计主外键、优化字段、去除冗余等时,出现只会依葫芦画瓢却不能自主思考扩展的状况。究其原因还是没能了解关系数据库的根本原理,而数据库这一门课程,系统的阐述了关系型数据库的来龙去脉,了解其中的数学原理或逻辑基础所在,对提升数据库编程水平有质的影响。建议也是买一本数据库的相关书籍或者下载PDF电子书,能够把熟练的把第一范式、第二范式等数据库课程的基本知识点与数据库编程场景建立起关联,也基本达到了学习效果。 4)编译原理 编译原理是编程语言以及各类语言编译器的科学基础,可以说编译原理创造了世界上的几乎所有的IT应用,学习编译原理的基础是数据结构和算法,因此编译原理的学习要花费更多的时间和精力,由于现代高级编程语言的编译器,在代码优化、资源优化方面已经做的足够智能,因此,编译原理的学习对实战的影响越来越小,但是正所谓本盛末荣,如果认为自己对数据结构和算法的学习达到了一个较高的水平和状态,可以在编译原理学习上进一步深入,最终把自己和普通程序员拉开更大的差距。 2、英语能力 英语的天然特性和字母长度还有学科发展的历史因素,决定了编程语言一定是基于英语的,在编程过程中,从语言的关键词到文档的内容又或是搜索引擎的搜索结果,都不可避免的会遇到英文。大部分编程人员,都具备英语四级左右的英文基础,却由于非专业以及工作环境原因,逐渐疏远甚至完全淡忘了英语。而实际操作中,大部分编程语言资料都是英文,在线编程问答内容也是英文,因此,很有必要把英语能力重新恢复到一个不用太高但行之有效的水平,达到如下效果: 1)对自己所使用语言,每一个关键词都知道具体的英文翻译、逻辑含义以及读音。2)对于自己使用语言所涉及到的相关方法、类库、框架、工具等,能知道其中每一个方法、过程以及参数关键词等的英文翻译、逻辑含义以及读音。 3)对常见的编程逻辑和核心关键词,能够用英文组织问题的描述,最简答的也行,只要能被搜索引擎读懂就可以。比如如何在C#中把整形转换为字符串类型这个问题,最简易的英文描述就是 C# Integer Covert To String。 4)在自己技术知识范围内的任何的英文的技术手册、文档、文章或是问题描述,能够读懂8成的内容含义,能够读懂完整的技术含义。 3、搜索方法 任何一个开发人员,都应当具备搜索能力,甚至是一定要具备搜索能力,搜索引擎的宝藏,是无穷无尽的,同样具备搜索意识的不同程序员,却因为搜索技巧的差异最终在程序开发质量、项目实施效率、甚至是工程产品质量上出现数倍的差异,因此,掌握高效、先进、灵活的搜索方法和技巧,是非常非常非常(重要的事情说三遍)有用的。其中主要的方法介绍如下: 1)搜索源选择 虽然英文的编程资料更为准确高效,但中文的编程资料数量上却占优,因此遇到问题第一搜索选择还是百度 谷歌对于专业中文词汇的处理能力有时候甚至比百度还要强,而且谷歌能搜出大量的英文资源,因此谷歌也是首选之一,但是由于谷歌被封锁,因此需要进行VPN、SSH等FQ操作,或者在百度搜索“谷歌镜像”关键词,通过谷歌的镜像网站进行访问。 除了搜索引擎,专业的技术网站、论坛、社区也是非常直接有效的搜索源,比如国外的StackOverFlow网站,国内的Cnblogs博客园、OSChina开源中国等,都具备搜索功能,将问题关键词输入其中,也许也会很快的得到相关答案。 对于QQ群,建议不要使用,除非QQ群主或者成员是非常闲或者非常非常热心的人,否则在QQ群询问技术问题,是非常低效率的搜索方式。 2)关键词构造 搜索关键词的构造,直接影响搜索效率和正确结果的过滤,没有什么特别的技巧,关键在于搜索积累,但是总体遵循的原则是,准确和简洁,比如当出现一个描述,如何用C#对XML进行序列化和反序列化,非常愚蠢的关键词构造就是“如何用C#对XML进行序列化和反序列化”,而正确高效的关键词则是“C# XML 序列化 反序列化”,或者在谷歌里面搜索则是“C# XML Serialization”。在平时的编程中,一定要注意相关方法和经验的积累 3)联想搜索 联想搜索,不属于搜索引擎的范畴,却是在搜索中很有用的高级技巧,举一个通俗的例子,比如想使用C#,利用某个.NET类处理一种HTTP通讯,但是一直搜索不到完美的结果,不过换个思路,考虑到VB.NET也是.NET体系,和C#完全相通,那么也可以试着用VB.NET关键词进行搜索,搜索到完美代码后再临摹成C#代码。这样的联想搜索,不仅能够帮助搜索正确结果,也是对大脑思维的训练,值得多多尝试。4)资源搜索 开源的框架、产品、工具、控件等开发辅助类东西越来越多,稳健性和迭代性越来越强,去寻找一款成熟的工具或者插件,也成为了大量开发者的必备方法和技能,而如何高效的搜索出想要的资源,也成为了一门学问,其核心方法就在于知晓资源网站的地址,常见的例如有开源中国、Github、CSDN下载、pudn等。资源类网站需要平时多积累,到用到的时候会非常关键。 4、思维模式 开发人员,一定要养成业务思维的模式,所谓的业务思维,就是在做任何一个项目的时候,写任何代码前,需要对项目本身的业务概念和业务逻辑甚至业务流程都要有一个全面的学习和理解,这虽然不是一个项目的强制要求,却是一个很好的开发习惯,无论自己的觉得是开发者还是测试员又或是技术总监,掌握了业务原理,才能够更好的设计或阅读项目的数据结构和流程结构。程序员的思维往往和用户或者客户是不一致的,摆脱技术思维模式,习惯于用业务思维解决问题的程序员,不一定最优秀,但一定是一个很容易沟通的程序员 5、工作与编程习惯 有的人说爱干净浪费时间,所以不修边幅,但归根结底这还是习惯问题,当养成清洁卫生的习惯并使之成为生活惯性时,往往就不会耗费更多的时间,反而显得干净干练。写程序同样如是,有一些编程习惯,看似不足为道,看似浪费时间,可是如果坚持下去,最终都能收到意想不到的奇效。下面列举一些特别重要的习惯。1)快捷键的使用 无论是使用Windows、Linux操作系统,还是在IDE中,快捷键都是系统本身的标配,事实上,Ctrl+C、V这样的操作,大部分人都能尝到在节省时间上的甜头,把这个概念进一步扩散,如果在IDE中编写代码,除了代码本身,将其余所有的鼠标操作、键盘定位操作,都用快捷键来代替的话,在时间上将会有数量级的节省,然而看上去这么好的事情,真正坚持去执行并形成习惯的人屈指可数,因此,在初期的改变习惯,记住快捷键,会是一个长期的过程,需要不断的坚持。 2)代码注释 一个开发人员随着年龄和经验的增长,所参与的项目,再也不是靠一个人或者几个人就能完成的。系统的重构、代码的重构、工作的交接、对新进人员的培训等等类似的事情,会越来越多的遇到,这些事情无一例外都会把已经写过的代码重新或者重复阅读,如果在初始编写代码时,就做到完整、清晰明了的代码注释,对后续工作会有巨大的帮助。不仅提高工作效率,还能增强合作好感。事实上,就算只是自己看自己的代码,如果有注释,也能加深印象,缩短代码查找时间。因此,任何开发人员,都应该养成良好的代码注释习惯。 优秀的代码注释应该能做到: 每一个函数、每一个属性甚至是变量的划分,都可以找到对应的解释。多使用越来越被IDE支持的XML注释方式,不仅有注释文字,更有详细的参数描述。 对程序结构、模块、组成部分划分等也加以注释 3)命名规则 具备一定规模的软件公司,在代码编写上都有一套自己的命名规则,涵盖项目、模块、函数、变量等等,标准化命名的好处不言而喻,然而被动、被迫去遵守命名规则和主动习惯于使用命名规则是完全不一样的。一个优秀的开发人员,应当发自内心的希望各种代码命名都是有规则的,易读的,而不是纠结于命名规则会增加码字长度。 4)不将就的编程逻辑 所谓不将就的编程逻辑,其对立面就是不讲究的编程逻辑,不讲究的编程,不仅是一种很坏的编程习惯,也体现了低下的生活品质,很多开发人员,因为个人习惯、赶工期、客户要求不高等多种原因,在编程时特别随意,体现在比如为了实现某个功能,百度出一段代码,直接套用,10行的代码只理解8行,有两行看不懂也放到程序里去使用,很多这样的小细节,就好比在项目中埋下了无数的定时炸弹,不仅有很大概率形成返工,更是为项目埋下了风险。编程人员,应当有担当有态度,养成不将就的编程逻辑,不勉强自己,也不轻视程序。 5)数据备份 误删、误操作、电脑断电、文件遗失等等状况是每一个开发按人员都可能遇到的问题,如果不希望辛勤的劳作被浪费,不希望偶然的意外影响工作,那做好备份是必不可少的,在较大规模的公司,会有完整的源代码管理以及信息安全防护,而无论是在大公司工作,还是身处较小公司或者在实现个人代码价值时,都要做好代码和文档的数据备份,备份方式的选择灵活多样,有使用在线的CVS、SVN、TFS、Git源代码管理,也可以手工拷贝文件至云空间或者本地硬盘,甚至可以在个人电脑上组成RAID磁盘阵列等等,养成周期性、规律性的备份习惯。 6)邮件工作方式 沟通是进步的源泉,如果说开发小组的热烈讨论是性格和激情的体现,那邮件的工作方式也是另一种稳重和高效。无论是公司层面的工作沟通,还是开发小组的问题交流,邮件的作用包括问题正规化描述、工作留档留痕、工作流程流转、责任分工明确等等,习惯于将重大问题、重要事项通过邮件的方式与同事、主管等进行沟通,将会非常有助于团队协作。 以上这些方法,是我这么多年来的感受和体会,也给了我很大的帮助,希望也能够帮助到大家,不能说一定可以“提升修养“,但也是”提升修养”的有效方式。 最后还想再说一说坚持的力量 【Java程序员招聘要求】推荐阅读: java程序员简历范文08-15 java程序员年度总结10-02 java程序员面试葵花宝典09-16 Java之reference-JAVA程序员JAVA工程师面试必看09-28 成都Java培训机构哪家好?做Java程序员的Perl教程07-31 成都java开发工程师培训解读:java程序员如何确定职业方向?09-074.Java程序员招聘要求 篇四