您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 规章制度 > 几大常见岗位剖析-Java、前端、软件测试、UI
几大常见职位剖析主谈岗位Java开发工程师前端开发工程师12软件测试工程师3小小福利UI设计师4tips主要运用在哪里?什么是SSH?什么是SSM?什么是Javase?Javaee?Javame?什么是Javaweb?如何区分初级和高级Java?Java开发工程师主流的JAVA工程师大体有三类方向移动客户端开发Web前端后台开发关键词:AndroidSDK、Eclipse、AndroidDebug、J2EE、Framework、SpringMVC、Struts关键词:HTML、Java、jQuery、CSS、Ajax关键词:Struts、Spring、SpringMVC、Hibernate、MyBatis、Mysql、Oracle、SQLServer、Tomcat、Jboss、Weblogic、Websphere、Apache、Mina、Netty、Grizzly、JWS、Axis2、XFire、CXF、Hessian、Ehcache、Redis、OScachejava主要应用在哪些领域?企业级应用先解释一下“企业级应用”:简单地说,就是大规模的应用,一般使用人数较多,数据量较大,对系统的稳定性、安全性、可扩展性和可装配性等都有比较高的要求。JavaEE(JavaPlatform,EnterpriseEdition)这是目前Java应用最广泛的一个领域,几乎一枝独秀。包括各种行业应用,企业信息化,也包括电子商务等,领域涉及:人力资源HR,企业资源计划ERP、知识管理KM、供应链管理SCM、企业设备管理系统EAM、办公自动化OA,客户关系管理CRM,产品生命周期管理PLM、面向服务体系架构SOA、商业智能BI、项目管理PM、营销管理、流程管理WorkFlow、财务管理等等几乎所有你能想到的应用。桌面级应用:尤其是需要跨平台的桌面级应用程序。JavaSE(javaPlatform,StandardEdition)桌面级应用:简单的说,就是主要功能都在我们本机上运行的程序,如word、excel等等,运行在本机上的应用都属于桌面应用。嵌入式设备及消费类电子产品JavaME(JavaPlatform,MicroEdition)包括无线手持设备、智能卡、通信终端、医疗设备、信息家电(如数字电视、机顶盒、电冰箱)、汽车电子设备等都是近年以来热门的Java软件开发应用领域,尤其是手机上的Java应用程序和Java游戏,更是普及。除了上面提到的,Java还有很多功能:如进行数学运算、显示图形界面、进行网络操作、进行数据库操作、进行文件的操作等等。Spring+Struts+HibernateSpring+SpringMVC+Mybatis用SSH的产品多半是企业级应用软件,比如:OA/CRM/ERP等等,比较重,不灵活,用户量不太大,性能要求不高;用SSM主要应用于互联网产品,可以看做是SSH的升级版。SSHSSM数据库:ACCESS,MSSQL,MYSQL,ORACLE,DB2、SQLServer、Sybase服务器:Tomcat、Jetty、Nginx、Jboss;IBMWebSphere、BEAWebLogic看简历单词,如果只看到struts、spring、hibernate、ibatis之类,没有看到asm、osgi、netty、mina、grails之类的一般都是菜鸟。看到hadoop,但没提到hdfs、spark、zookeeper、hbase、pig、hive薪酬要求不高的,一般就只懂一个单词。会开发开发工具的,技术差不到哪去;懂字节码,p-code,逆向工程,交换内存,会用stream的都是高手。高级别会涉及很多调优:JVM调优、数据库调优、网络调优,不仅仅用API,还会写API,越接近底层的Java越资深!一般菜鸟和大神的区别前端开发工程师官方概念•Web前端开发是从网页制作演变而来的,以前会Photoshop和Dreamweaver就可以制作网页,现在只掌握这些已经远远不够了•前端工程师所需要掌握的技能,最基本的是javascripthtmlcss•如果能熟悉一门后端语言加数据库比如php+mysql更好•主要工作是把UI的设计图按照w3c标准做成html页面,并且用javascript脚本语言实现页面上的前端互动。•互动效果包括,弹出层,页签切换,图片滚动,ajax异步互动等。•高级前端工程师还要承担前端优化的工作,优化的知识就会更多一些,比如文件过期Expires,缓存,异步缓存,js和css以及图片的压缩等。HTML+CSS:也就是网站的骨架和样子,包括你看到的知乎的界面,一段文字,一个图片,都是一个HTML元素,至于字号是多大的,什么颜色,放在什么位置,这叫CSS,在HTML5里,CSS还能让元素运动起来,旋转,跳跃,只要你想Javascript:简单的说就是页面的大脑,把后端获取的数据添加到网页里,或者让元素运动起来,或者是改变页面的CSS,或者是操作HTML元素等等。当然,这些都是最基础的做法,作为一个前端,还要考虑JS的性能,可维护,可扩展的程度等等前端工程师主要利用HMTL与CSS建构页面,用JavaScript完善交互以及用户体验移动前端和web前端开发的区别1.移动前端开发主要来说的是NativeClient的开发Android为Java,iOS为Objective-C,然后HTML5应用号称跨平台其实差异很大。2.Web前端开发基本上就是HTMLJavaScriptCSS,不过有些人把Servelt/JSP,PHP,Ruby,Python,C#之类的只要关系到页面的也叫做Web前端开发。App又分为好几种…•NativeApp(原生APP),也就是完全使用移动设备系统语言写的客户端,iPhoneiPad就是纯Object-C,安卓就是纯JAVA,就是用户看到的界面啦体验到的交互啦都是原生的。这是性能最棒的开发方式,但灵活性就没下面的好。•WebApp,这个就是在移动浏览器里打开的,纯HTML+CSS+JS,说白了就是个网页,只不过非常的富应用,比如手机浏览器访问的GMAIL啥啥的。但说白了就是在浏览器里打开的页面。。IOS支持可以在桌面创建访问的快捷方式,但是说到底还是打开Safari跑。。而且对设备硬件的接口什么的挺薄弱。•HybridApp.[HTML5inmobiledevices]我觉得这个更为合适一些。实际上是使用原生写了一个容器,然后使用HTML+CSS+JS来实现用户界面和交互。WebApp的短处便可以克服(因为自己写的容器可以辅助暴露偏底层的接口,比如本地存储或者麦克风控制之类),同时比起纯原生的java或者object-c开发灵活性要高(更新可以更快更迅速,也不依赖于市场,因为说白了,就是自己下载更新网页资源。。)原生App是专门针对某一类移动设备而生的移动WebApp都是都是需要用到网络的,它们利用设备上的浏览器(比如iPhone的Safari)来运行,而且它们不需要在设备上下载后安装。HybridApp是指介于web-app、native-app这两者之间的app,它虽然看上去是一个NativeApp,但只有一个UIWebView,里面访问的是一个WebApp,的应用就是包了个客户端的壳,其实里面是HTML5的网页前端开发常用框架•Javascript七个框架比较常见的DojoYUIJqueryMootoolsPrototypeScript.aculo.usExtJSAngular.jsnode.js•CSS框架比较有名的有:Foundation,bootstrap,PureUIFrameworkHbuilder软件测试工程师单元测试集成测试系统测试验收测试验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,向软件购买都展示该软件系统满足其用户的需求。系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足其规约所指定的要求。集成测试是在软件系统集成过程中所进行的测试。目的是检查软件单位之间的接口是否正确。单元测试是对软件中的基本组成单位进行的测试。目的是检验软件基本组成单位的正确性。根据项目流程阶段划分测试单元测试模块接口测试局部数据结构测试路径测试错误处理测试边界条件测试集成测试1.把各个模块连接起来时,穿越模块接口的数据据是否会丢失。2.各个了模块组合起来,能否达到预期要求的功能。3.一个模块的功能是否会对另一个模块的功能产生不利影响。4全局数据据结构是否有问题。5.单个模块的误差积累起来是否会被放大,从而达到不可接受的程序。系统测试功能测试性能测试安全测试兼容测试验收测试功能确认测试安全可靠性测试易用性测试可扩充性测试兼容性测试资源占用率测试用户文档资料验收黑盒测试黑盒测试,指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果白盒测试白盒测试,指的是把盒子盖子打开,去研究里面的源代码和程序结果。灰盒测试功能测试功能测试检查实际的功能是否符合用户的需求。测试的大部分工作也是围绕软件的功能进行,设计软件的目的也就是满足客户对其功能的需求。功能测试又可可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。性能测试性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。软件的性能包括很多方面,主要有时间性能和空间性能两种。手工测试手工测试就是由人去一个一个的去执行测试用例,通过键盘鼠标等输入一些参数,查看返回结果是否符合预期结果。自动化测试自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。软件测试所用的工具•1、web性能测试工具:LoadRunner;•2、web自动化测试工具:seleniumQTP;•3、安全性测试工具:AppScan•4、缺陷管理工具:TestLink+Mantisbt•5、抓包工具:fiddler•6、移动android性能测试工具:GT•7、app自动化工具:appium、uiautomator、instruments•8、web压力测试工具:jmeter•抓包?抓谁的包?一般的测试时不需要抓包的,但是当测试发现某些问题时,又是深层一点的问题比如代码、数据传输这些的问题,就需要去让开发人员查看一下错误的数据流,日志什么的。但是开发一般会让测试人员重现一下错误,截取数据。定位问题,就是抓包!UI设计•说到UI设计,我想大部分人的第一反应是设计界面、图标之类的工作。虽然没有错,但其实只说对了一小部分而已。因为其实UI设计包含了相当一部分内容哦。•UI是指用户界面,是英文Userinterface的缩写。从字面上看是用户与界面2个组成部分,但实际上还包括用户与界面之间的交互关系,所以这样可分为3个方向,他们分别是:用户研究、交互设计、界面设计。UI设计师的涉及范围包括商用平面设计、高级网页设计、移动应用界面设计及部分包装设计UI设计师需要具备以下素质:•精通Photoshop,Illustrator,Flash,Sketch等图形软件;•能够根据交互设计及产品规划,完成产品相关的用户界面视觉设计;•美术基础扎实,擅长平面设计、网页设计,精通设计软件的使用;•逻辑思维能力强、思路清晰、工作踏实认真、有责任感、求知欲望强、有团队协作意识。UI设计师有哪些细分职位或者类似职位?•InteractionDesigner(交互设计师)•交互设计师的产出物有竞品分析文档、用户反馈整理、流程图、设计草图、设计原型等等。在工作中,交互设计师除了这些基本的设计工作外,还要沟通、执行、跟进自己的设计方案。产品上线后,还要继续跟进,解决线上问题、收集反馈意见,为下一次迭代做准备。好的交互设计师对整个项目可以起到非常积极有效的推动作用。•UIDes
本文标题:几大常见岗位剖析-Java、前端、软件测试、UI
链接地址:https://www.777doc.com/doc-5264993 .html