从事java实施应该具备哪些技能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从事java实施应该具备哪些技能?相关的知识,希望对你有一定的参考价值。

我是一名应届以毕生,现在在学java,有一点项目开发经历,但学得不好,一心想从事java实施,但是对这行业不怎么了解,也没有熟人请教,还有一个月就打算找工作啦,不知道在实施方面该做哪些准备,应该具备哪些技能(越详细越好),在此恳请各位老师指点,学生感激不尽。

1、语法:必须比较熟悉,在写代码的时候,IDE(Integrated Development Environment,集成开发环境)的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误,并且知道任何修正。

2、命令:必须熟悉JDK(Java Development Kit,Java开发工具箱——JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。)带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、htmlConverter、jar、 java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。

3、工具:必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。

4、API(Application Programming Interface,应用程序编程接口):Java的核心API是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括:
◆java.lang包下的80%以上的类的功能的灵活运用;
◆java.util包下的80%以上的类的灵活运用,特别是集合类体系、规则表达式、zip、以及时间、随机数、属性、资源和Timer;
◆java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合;
◆java.math包下的100%的内容;
◆java.net包下的60%以上的内容,对各个类的功能比较熟悉;
◆java.text包下的60%以上的内容,特别是各种格式化类;
◆熟练运用JDBC. 80%、java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java;
◆AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印;
◆Swing的基本内容,和AWT的要求类似;
◆XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。

5、测试:Junit测试是程序员测试,即所谓白盒测试。一位合格的Java开发工程师必须熟悉使用junit编写测试用例完成代码的自动测试。

6、管理:必须熟悉使用Ant(中文译为蚂蚁,是一种基于Java的build工具。)完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。

7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。

8、思想:必须掌握OOP(Object Oriented Programming,面向对象编程)的主要要求,这样使用Java开发的系统才能是真正的Java系统。

9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。

10、博学:掌握J2EE 、Oracle 、WebLogic、Jboss、Spring、Struts、Hibernate 等流行技术,掌握软件架构设计思想、搜索引擎优化、缓存系统设计、网站负载均衡、系统性能调优等实用技术。
参考技术A 刚毕业进入公司可能会不大习惯或者不适应新环境了,而且思维模式什么的技术方面什么的都有很大改变。在学校毕竟是学习,没什么压力。到了公司就不一样了。压力有时候可能会很大,一个问题你可能要研究一周的时间,没什么材料完全靠自己去网上找,然后自己去写代码去调试。学哪个语言都差不多了。刚开始工作最重要的是能在最短的时间内把自己工作所需要的知识啥的掌握了,以后会越走越顺利追问

我就是想从事实施。应该有哪些知识准备呢?做实施有什么必备的技能或者需要掌握的软件之类的,求详解,谢谢

追答

做实施要经常性的长期性的出差的,交际能力肯定少不了。技术方面服务器安装配置,操作系统,数据库等要努力学

本回答被提问者和网友采纳
参考技术B java 方向很多的,这要而根据你的方向而定,但是java基础一定要学好追问

我就是想从事实施。应该有哪些准备呢?做实施有什么必备的技能或者需要掌握的软件之类的,求详解,谢谢

追答

实施那方面啊?

参考技术C 那你应该看一点java专业基础的知识,还有看一些数据结构和逻辑试题(数字推理,逻辑思维)训练的试题,这是笔试中肯定用用到的知识,另外就是准备一份简历,和简短的,大约3分钟的中英文自我介绍这是面试中不能少得 参考技术D 1、数据结构和算法
该技能是大多数公司检查问题解决和编码技能的头等要务。如果您知道如何组织数据以及如何将其用于解决现实生活中的问题,就可以成为一名优秀的软件开发人员。
作为开发人员,计算机科学专业的学生或自学成才的程序员,您应该认真学习数据结构和算法(例如数组,链表,树)。
数据结构和算法是编程的核心。
最初,大多数开发人员都没有意识到它的重要性,但是当您开始从事软件开发事业时,您会发现代码要么占用太多时间,要么占用太多空间。
在那里,您将认识到使用正确的数据结构和算法来组织数据以在更短的时间和更少的空间中解决特定问题的重要性。GeeksforGeeks,Hackerrank,Codechef,CareerCup,LeetCode,InterviewBit,HackerEarth等。
2、编程语言
为了成为一名优秀的程序员,您必须至少对一种编程语言有深入的了解。
在决定应选择哪种编程语言时,这取决于您感兴趣的领域以及您喜欢使用哪种语言来解决问题或自己喜欢哪种语言。
根据Stack Overflow调查,让我们看一下2019年编程语言的流行程度…
3、源代码阅读能力
源代码控制可帮助开发人员管理和存储其代码。今天,大多数组织都在寻找精通版本控制并与其他团队成员合作的开发人员。
因此,如果您打算成为一名优秀的软件开发人员,则需要对版本控制概念和工具(如Git(70-80%的组织首选),Mercurial,SVN等)感到满意。阅读本文以了解有关源代码控制的更多信息Git和Github
4、文本编辑器
您是初学者,中级还是专家级程序员都没关系。每个程序员的编程旅程都从文本编辑器开始。它是程序员日常生活中必不可少的工具。不仅程序员,甚至非程序员也出于自己的目的使用文本编辑器。
有很多文本编辑器,如Notepad ++,Sublime Text,Atom,Brackets,Visual Code等。每个程序员(尤其是初学者)都应该花一些时间在学习文本编辑器上,并使用一些键盘快捷键来成为一个聪明而富有成效的开发人员。
5、IDE(集成开发环境)
IDE允许您编写,修改,编译,运行和调试代码。在选择最佳的开发环境时,不同的程序员针对他们正在使用的不同目的或语言有不同的选择。
每个程序员都应该知道如何使用IDE来编写,编译,运行和调试其代码。使用IDE可以加速他们的工作,并且有很多IDE供开发人员使用。
对于C,C ++和C#程序员,最推荐的选择是Visual Studio或Code :: Blocks。对于Python开发人员来说,PyCharm,Spyder或Jupyter笔记本也越来越受欢迎。对于Java Eclipse而言,NetBeans和IntelliJ IDEA是开发人员的最佳选择。
6、数据库
开发人员的一项基本技能是了解如何使用数据库。开发人员应该了解各种操作,例如如何存储记录,创建,插入,更新,删除等。如果没有数据库,任何组织都无法创建任何类型的应用程序和软件。
当开发人员从事任何重要的业务项目时,他们还需要注意安全问题并通过适当的备份来管理完整的组织记录,这就是每个组织都希望开发人员能够轻松使用数据库并安全地管理完整记录的原因。
毫无疑问,SQL是开发人员中最受欢迎的经典数据库。如果您想成为一名优秀的开发人员,则至少需要编写基本的SQL查询。Oracle,PostgreSQL,MongoDB,Cassandra,Redis等是可以使用的数据库。
7、操作系统
认真的软件开发人员应了解操作系统的基本知识和机制。当开发人员从事项目时,他们会处理与操作系统相关的许多问题,例如内存使用,与另一台计算机通信,运行程序非常慢,工具冲突问题,阻塞问题等。
当开发人员在一台计算机上编写代码时并且在另一台机器上不起作用,那么它将在生产阶段造成严重的问题。因此,很好地了解要使用的操作系统的过程和机制。
大多数程序员更喜欢在Linux,Windows计算机或Mac上工作。androidios是移动和平板电脑操作系统的最佳示例。
8、网络基础
在70-80%的在开发人员的工作或应用程序基于客户端-服务器模型的情况下,请求通过网络到达服务器,客户端可以基于世界上任何地方访问应用程序。对基础网络的理解对于开发人员开发和支持应用程序很重要。
如果架构设计不当,则可以通过网络创建HTTP请求问题。在客户端-服务器体系结构中,服务器通过互联网接收用户或客户端POST请求,并在处理数据请求后将响应发送回客户端。
今天,在大多数应用程序中,例如基于Web的在线游戏,业务自动化或云计算客户端-服务器体系结构,都得到了使用。
9、测试的基础知识
在向市场发布软件之前,软件或应用程序必须通过许多测试案例。测试是找出所有错误并检查软件是否准备好移交给客户的重要步骤。
测试方法太多了,但是开发人员应该了解三种重要的测试方法。第一个是单元测试,其中每个单独的模块或类都经过正确测试。
有很多单元测试框架可用,例如C#的NUnit,Java的JUnit,C或C ++的Embunit。
另一个测试是集成测试,开发人员必须测试不同块或模块之间的交互。此测试有助于排除对数据的不正确处理。
最后一次测试是在完整的集成软件上进行测试的系统测试。它属于黑盒测试技术,不需要技术的内部知识。
10、跨平台软件
设计或开发产品时,它有望在Windows,Mac,Linux等多种平台上运行。在一种简单的语言中,跨平台允许您编写一次代码,并在不同平台之间共享。
对于开发人员来说,制造一种可以被最大数量的系统接受的产品非常重要,因为当今大多数用户都在切换到移动设备或智能手机来使用该产品或服务。
当软件适应最大设备数量时,最终可以增加客户数量。如果您是初学者或经验丰富的程序员,则应具有使用跨平台软件的知识,以便获得更好的职业机会并促进软件开发。
11、加密和密码术
在制作使用用户敏感信息的Web应用程序或软件时,对于开发人员而言,实现安全的加密密钥以防止各种攻击非常重要。
用户敏感信息的安全性,防止站点被黑客入侵是每个组织生产产品或软件时的主要问题。期望开发人员知道加密算法如何工作,身份验证如何工作以及密码学方法如何工作。
数据加密主要使用两种方法。这些是公钥和私钥。可以使用诸如RSA或ECDSA之类的公共密钥加密算法来建立密钥,并且该密钥取决于开发人员,他/她希望选择该开发人员来牢记网络的整体安全性。
密码术可以帮助开发人员构建安全的系统,安全的数据库,并可以在处理请求后帮助通过网络传输安全的输出。它还用于安全错误处理中,并允许使用第三方库而不必担心安全问题。
12、SDLC(软件开发生命周期)
SDLC是一步一步的系统过程,用于开发确保其质量和正确性的软件。如果您打算成为软件开发人员,那么您应该对从需求分析到产品维护的适当软件生命周期有所了解。SDLC主要分为七个阶段。
需求收集与分析
可行性研究
设计
实施和编码
测试中
部署方式
保养
当您进入编程阶段时,在软件或应用程序的开发过程中,每个阶段都很重要。开发人员应在SDLC的每个阶段都动动脑筋,并遵循适当的流程制作出优质的产品。它还有助于开发人员在下一步必须解决的任何问题之前尽早采取预防措施。
13、Microsoft Excel
开发人员在进行编码或实施软件时无需使用Microsoft Excel,但是,这对他们来说是一项必不可少的技能,因为它有助于跟踪进度,数据分析,数据质量检查,维护和维护。数据,并且绝对用于项目计划。
我们不能低估Excel的使用。它的用途远不止电子表格,它不仅可以帮助开发人员简化工作,而且还可以利用其功能(如搜索,排序,过滤或任何数学运算)加快工作速度。

系统运维日常工作有哪些,应该具备哪些技能

一、日常工作内容:

1、看监控、网站流量,CDN流量,看邮件有没有普通业务监控报警,看邮件中有没其他需要做的工作
2、处理报警,查看报警的原因,和开发一起解决,并且尽量找出避免再次发生的方法,例如添加一些
定时清理脚本
3、处理发布,基本都是自动化,但是总有发布不成功或者需要回滚的时候,这时候就需要手工介入,
找到原因,并跟开发一起讨论最后是否撤销还是重上
4、日常一起能够自动化的工作尽量找到自动化的方法
5、配合开发搭建测试环境,线上环境,上线代码,以及日常开个权限
6、定期机房巡检
7、灾备演练计划
8、运维流程的设定与标准化
9、运维知识库文档的建立
10、新技术的学习与研究

二、运维应该具备哪些技能:

1、了解运维技术的分类:赵班长写的运维知识体系:https://www.unixhot.com/page/ops 
2、熟悉常见Linux系统(以CentOS/Redhat为主)和故障处理;
3、熟练shell脚本,熟悉php、perl、python、ruby等至少一种开发语言;
4、熟悉常见应用服务(如:Nginx、Tomcat、HAProxy、Redis、RabbitMQ等)的配置维护
及优化(比如NGINX代理,负载均衡);
5、熟悉MySQL数据库的部署配置和优化(读写分析,负载均衡,分布式数据库);
6、熟悉任意一种自动化管理工具的使用(如:SaltStack、Puppet或Ansible等);
7、熟悉任意一种常见监控系统的使用(如:Zabbix、Nagions、Ganglia);
8、了解基本的网络知识;
9、对常见对云服务有一定了解,有过阿里云、亚马逊等云主机维护经验者
优先。
10、熟悉各种虚拟化技术,比如 KVM、XEN等。并有在虚拟化平台上面维护或开发的经验




本文出自 “冰冻vs西瓜” 博客,请务必保留此出处http://molewan.blog.51cto.com/287340/1936482

以上是关于从事java实施应该具备哪些技能?的主要内容,如果未能解决你的问题,请参考以下文章

从事电子方面的工作需要都有哪些必备的知识和技能?

统计尺度包括哪些类型

一个合格的Java开发工程师应该具备哪些技能?

质量工程师需要具备哪些能力

自学前端需要学多久才能去工作?要具备哪些技能?

Java开发,应该具备哪些技能呢?