1.面试的窍门是什么?面试时,企业最看重的是什么?

2.jenkins 插件管理 为什么是空白

3.如何设置jenkins服务器环境变量

4.系统运维需要掌握哪些工具?

5.Jenkins怎么安装

6.简历上的项目描述(JAVA)怎么写

7.怎么整合jenkins 和github

_hudson项目更名为jenkins

一、专业技能

熟练的使用Ja语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。

熟悉基于JSP和Servlet的JaWeb开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用、过滤器等Web组件以及MVC架构模式进行JaWeb项目开发经验。

对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。

熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。

熟练的使用HTML、CSS和JaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JaScript模板引擎(HandleBars)进行项目开发的经验。

熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用SQL和PL/SQL进行数据库编程。

熟悉面向对象的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。

熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。

熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和Enterprise Architect,熟练的使用Ja开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Men和Gradle。

说明: ?上面罗列的这些东西并不是每一项你都要烂熟于心,根据企业招聘的具体要求可以做相应的有针对性的准备。但是前6项应该是最低要求,是作为一个Ja软件工程师必须要具备的专业技能。

二、项目经验

项目介绍

本系统是X委托Y开发的用于Z的系统,系统包括A、B、C、D等模块。系统使用了Ja企业级开发的开源框架E以及前端技术F。表示层运用了G架构,使用H作为视图I作为控制器并实现了REST风格的请求;业务逻辑层运用了J模式,并通过K实现事务、日志和安全性等功能,通过L实现缓存服务;持久层使用了M封装CRUD操作,底层使用N实现数据存取。整个项目用了P开发模型。 ?说明: ?E通常指spring(Ja企业级开发的一站式选择); ?F最有可能是jQuery库及其插件或者是Bootstrap框架,当然如果要构建单页应用(SPA)最佳的方案是前端MVC框架(如AngularJS)和JaScript模板引擎(如HandleBars);G显然是MVC(模型-视图-控制),最有可能的实现框架是spring MVC,除此之外还有Struts 2、J以及Apache为J提供的MyFaces实现; ?H是JSP,JSP作为MVC中的V,也可使用模板引擎(如Freemarker和Velocity)来生成视图还可以是各种文档或报表(如Excel和PDF等); ?I是Servlet或者自定义的控制器,他们是MVC中的C,当然Spring MVC中提供了作为前端控制器的DispatcherServlet; ?J通常是事务脚本; ?K应该是AOP(面向切面编程)技术; ?L目前广泛使用的有memcached和Redis; ?M的选择方案很多,最有可能的是hibernate和MyBatis,也可以两种技术同时运用,但通常是将增删改交给hibernate来处理,而复杂的查询则由MyBatis完成,此外TopLink、jOOQ也是优秀的持久层解决方案; ?N底层的数据存取传统上是使用关系型数据库,可以是MySQL、Oracle、SQLServer、DB2等,随着大数据时代的来临,也可以用NoSQL(如MongoDB、MemBase、BigTable等)和其他大数据存取方案(如GFS、HDFS等); ?P是项目的开发模型,可以是瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、RAD模型等。

项目开发流程

1、可行性分析:可行性分析报告、项目开发书;

2、需求分析:需求规格说明书OOAD(用例图、时序图、活动图);

界面原型:帮助理解需求、业务层设计时推导事务脚本;

3、设计:概要设计说明书、详细设计说明书;

*抽取业务实体(领域对象):类图、E-R图(概念设计阶段);

分层架构:确定各层的技术实现方案(具体到使用的框架、数据库服务器、应用服务器等);

*业务层设计:事务脚本模式(事务:用户发送一次请求就是一个事务;

脚本:一个方法或一个函数;

*事务脚本:把一次请求封装为一个方法或一个函数;事务脚本模式:一个事务开始于脚本的打开,终止于脚本的关闭);

*业务层涉及的对象有三种类型:事务脚本类(封装了业务的流程)、数据访问对象(DAO,封装了持久化操作)、数据传输对象(DTO,封装了失血/贫血领域对象),三者之间的关系是事务脚本类组合(聚合)数据访问对象,这二者都依赖了数据传输对象正向工程(UML类图生成Ja代码)和逆向工程(Ja代码生成UML类图)数据库物理设计(ER图转换成表间关系图、建库和建表、使用工具插入测试数据);

3、编码;

4、测试:测试报告、缺陷报告;

*单元测试:对软件中的最小可测试单元进行检查和验证,在Ja中是对类中的方法进行测试,可以使用JUnit工具来实施;

*集成测试:集成测试也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求组装成为子系统进行测试;

*系统测试:将已经确认的软件、硬件、外设、网络等元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案;

*验收测试:在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务;

5、交付和维护:用户手册、操作手册;

三、项目管理

版本控制:CVS/SVN/Git

自动构建:Ant/Men/Ivy/Gradle

持续集成:Hudson/Jenkins

四、系统架构

负载均衡服务器:F5、A10;

应用服务器: HTTP服务器:Apache、NginX(HTTP、反向代理、邮件代理服务器);

Servlet容器:Tomcat、Resin

EJB容器:WildFly(JBoss Application Server)、GlassFish、Weblogic、Websphere;

数据库服务器:MySQL、Eclipse、Oracle;

五、第三方工具(插件)应用

图表工具:基于jQuery的图表插件(如jQchart、Flot、Charted等)、Chart.js、Highcharts等。

报表工具:Pentaho Reporting、iReport、DynamicReports等。

文档处理:POI、iText等。

工作流引擎:jBPM、OpenWFE、Snaker、SWAMP等。

作业调度:Quartz、JobServer、Oddjob等。

缓存服务:EhCache、memcached、SwarmCache等。

消息队列:Open-MQ、ZeroMQ、ActiveMQ等。

安全框架:Shiro、PicketBox等。

搜索引擎:IndexTank、Lucene、ElasticSearch等。

Ajax框架:jQuery、ExtJS、DWR等。

UI插件:EasyUI、MiniUI等。

富文本框:UEditor、CKEditor等。

六、面试提问

项目是为哪个公司开发的?项目的投入是多少?

有多少人参与了项目开发?整个团队中,测试人员、开发人员、项目经理比例是多少?

项目开发了多长时间?项目总的代码量有多少?你的代码量有多少?

项目用了怎样的开发模型或开发流程?项目的架构是怎样的?项目的技术选型是怎样的?

你在项目中担了怎样的职责?是否经常开会或加班?项目完成后有哪些收获或是经验教训?

项目中最困难的部分是什么?如何解决团队开发时遇到的各种冲突?

七、面试时可以反问面试官的问题

我注意到你们使用了X技术,请问你们是如何解决Y问题的?

为什么你们的产品使用了X技术而不是Y技术?据我所知,X技术虽然有A、B、C等好处,但也存在D和E问题,而Y技术可以解决D和E问题。

我对您说的X技术不是太熟悉,但我感觉它是一个不错的解决方案,您能多讲讲它的工作原理吗?

你们团队是如何进行项目规划的?一周会有几次例会?每周的代码量大概是多少?

就X问题我能想到的解决方案目前就只有Y了,请问您会怎么解决这个问题?

八、S.A.R.法则

S.A.R法则是指先描述问题的场景,然后解释你取的行动,最后陈述结果。

九、面谈原则

声音适中、口齿清楚、面带微笑、个人形象精神,讲礼貌。

主动跟面试官聊他感兴趣的话题,让面试官满意。

主动的大胆的跟面试官聊自己熟悉有经验的内容:项目、技术点等,做到扬长避短。

一定要表达自己非常想得到这个岗位,自己很愿意学习不懂的技术。

根据自己的实际水平提出合理的待遇要求。

十、自我评价

学习能力(搞IT行业的人需要不断的了解新的技术、工具和方法)

团队意识(相比个人英雄主义,IT行业更倡导团队合作)

抗压能力(很多IT企业的工作强度相对来说还是比较大的)

面试的窍门是什么?面试时,企业最看重的是什么?

可以的。

1.先在jenkins --->系统管理--->插件管理里面安装权限策略role-strategy.jpi插件,再注册几个用户。2.在系统管理--->Configure Global Security里统一用户权限配置,在这里配置的权限针对所有job有作用。

3.也可以在job 配置里面单独授权给用户。在这里配置的权限针对当前job有作用。比如这图上可以看到admin和zhangxxx有权限,那么当用wangxxx登录时,这个job就不会显示,视图上就看不到。

jenkins 插件管理 为什么是空白

面试的窍门是什么?面试时,企业最看重的是什么? 这个问题的出发点是想考查面试者对于工作中比较重要因素的自我认知。

建议你回答几个自己比较看重的品质。如:责任心,效率,个人发展等几

个比较好展开回答的品质。

师范生面试时最看重的是什么

进入面试了说明你的硬体已经符合学校的要求,那么面试的时候校方主要看你的临场发挥和气质。面试过程中一定要表现的很大气,好的语言表达能力和适当的举止都会有所加分。其实说课或者讲课的内容只要不出问题就可以了,面试不是教学设计或者说课比赛,不必太在意推陈出新。还是稳妥起见。

ja工程师面试时最看重的是什么?

一、专业技能

熟练的使用Ja语言进行面向物件程式设计,有良好的程式设计习惯,熟悉常用的JaAPI,包括集合框架、多执行绪(并发程式设计)、I/O(NIO)、Socket、JDBC、XML、反射等。

熟悉基于JSP和Servlet的JaWeb开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无指令码动态页面,有使用、过滤器等Web元件以及MVC架构模式进行JaWeb专案开发经验。

对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web元件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支援进行Web专案开发的经验,熟悉Spring对其他框架的整合。

熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联对映、继承对映、元件对映、快取机制、事务管理以及效能调优等有深入的理解。

熟练的使用HTML、CSS和JaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web专案中的应用有深入理解,有使用前端MVC框架(AngularJS)和JaScript模板引擎(HandleBars)进行专案开发的经验。

熟悉常用的关系型资料库产品(MySQL、Oracle),熟练的使用SQL和PL/SQL进行资料库程式设计。

熟悉面向物件的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向物件的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。

熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web伺服器和应用伺服器的使用,熟悉多种伺服器整合、丛集和负载均衡的配置。

熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和Enterprise Architect,熟练的使用Ja开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软体版本控制工具SVN和Git,熟练的使用专案构建和管理工具Men和Gradle。

说明: ?上面罗列的这些东西并不是每一项你都要烂熟于心,根据企业招聘的具体要求可以做相应的有针对性的准备。但是前6项应该是最低要求,是作为一个Ja软体工程师必须要具备的专业技能。

二、专案经验

专案介绍

本系统是X委托Y开发的用于Z的系统,系统包括A、B、C、D等模组。系统使用了Ja企业级开发的开源框架E以及前端技术F。表示层运用了G架构,使用H作为检视I作为控制器并实现了REST风格的请求;业务逻辑层运用了J模式,并通过K实现事务、日志和安全性等功能,通过L实现快取服务;持久层使用了M封装CRUD操作,底层使用N实现资料存取。整个专案用了P开发模型。 ?说明: ?E通常指spring(Ja企业级开发的一站式选择); ?F最有可能是jQuery库及其或者是Bootstrap框架,当然如果要构建单页应用(SPA)最佳的方案是前端MVC框架(如AngularJS)和JaScript模板引擎(如HandleBars);G显然是MVC(模型-检视-控制),最有可能的实现框架是spring MVC,除此之外还有Struts 2、J以及Apache为J提供的MyFaces实现; ?H是JSP,JSP作为MVC中的V,也可使用模板引擎(如Freemarker和Velocity)来生成检视还可以是各种文件或报表(如Excel和PDF等); ?I是Servlet或者自定义的控制器,他们是MVC中的C,当然Spring MVC中提供了作为前端控制器的DispatcherServlet; ?J通常是事务指令码; ?K应该是AOP(面向切面程式设计)技术; ?L目前广泛使用的有memcached和Redis; ?M的选择方案很多,最有可能的是hibernate和MyBatis,也可以两种技术同时运用,但通常是将增删改交给hibernate来处理,而复杂的查询则由MyBatis完成,此外TopLink、jOOQ也是优秀的持久层解决方案; ?N底层的资料存取传统上是使用关系型资料库,可以是MySQL、Oracle、SQLServer、DB2等,随着大资料时代的来临,也可以用NoSQL(如MongoDB、MemBase、BigTable等)和其他大资料存取方案(如GFS、HDFS等); ?P是专案的开发模型,可以是瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、RAD模型等。

专案开发流程

1、可行性分析:可行性分析报告、专案开发书;

2、需求分析:需求规格说明书OOAD(用例图、时序图、活动图);

介面原型:帮助理解需求、业务层设计时推导事务指令码;

3、设计:概要设计说明书、详细设计说明书;

*抽取业务实体(领域物件):类图、E-R图(概念设计阶段);

分层架构:确定各层的技术实现方案(具体到使用的框架、资料库伺服器、应用伺服器等);

*业务层设计:事务指令码模式(事务:使用者传送一次请求就是一个事务;

指令码:一个方法或一个函式;

*事务指令码:把一次请求封装为一个方法或一个函式;事务指令码模式:一个事务开始于指令码的开启,终止于指令码的关闭);

*业务层涉及的物件有三种类型:事务指令码类(封装了业务的流程)、资料访问物件(DAO,封装了持久化操作)、资料传输物件(DTO,封装了失血/贫血领域物件),三者之间的关系是事务指令码类组合(聚合)资料访问物件,这二者都依赖了资料传输物件正向工程(UML类图生成Ja程式码)和逆向工程(Ja程式码生成UML类图)资料库物理设计(ER图转换成表间关系图、建库和建表、使用工具插入测试资料);

3、编码;

4、测试:测试报告、缺陷报告;

*单元测试:对软体中的最小可测试单元进行检查和验证,在Ja中是对类中的方法进行测试,可以使用JUnit工具来实施;

*整合测试:整合测试也叫组装测试或联合测试。在单元测试的基础上,将所有模组按照设计要求组装成为子系统进行测试;

*系统测试:将已经确认的软体、硬体、外设、网路等元素结合在一起,进行资讯系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案;

*验收测试:在软体产品完成了单元测试、整合测试和系统测试之后,产品释出之前所进行的软体测试活动。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软体准备就绪,并且可以让终端使用者将其用于执行软体的既定功能和任务;

5、交付和维护:使用者手册、操作手册;

三、专案管理

版本控制:CVS/SVN/Git

自动构建:Ant/Men/Ivy/Gradle

持续整合:Hudson/Jenkins

四、系统架构

负载均衡伺服器:F5、A10;

应用伺服器: HTTP伺服器:Apache、NginX(HTTP、反向代理、邮件代理伺服器);

Servlet容器:Tomcat、Resin

EJB容器:WildFly(JBoss Application Server)、GlassFish、Weblogic、Websphere;

资料库伺服器:MySQL、Eclipse、Oracle;

五、第三方工具()应用

图表工具:基于jQuery的图表(如jQchart、Flot、Charted等)、Chart.js、Highcharts等。

报表工具:Pentaho Reporting、iReport、DynamicReports等。

文件处理:POI、iText等。

工作流引擎:jBPM、OpenWFE、Snaker、SWAMP等。

作业排程:Quartz、JobServer、Oddjob等。

快取服务:EhCache、memcached、SwarmCache等。

讯息伫列:Open-MQ、ZeroMQ、ActiveMQ等。

安全框架:Shiro、PicketBox等。

搜寻引擎:IndexTank、Lucene、ElasticSearch等。

Ajax框架:jQuery、ExtJS、DWR等。

UI:EasyUI、MiniUI等。

富文字框:UEditor、CKEditor等。

六、面试提问

专案是为哪个公司开发的?专案的投入是多少?

有多少人参与了专案开发?整个团队中,测试人员、开发人员、专案经理比例是多少?

专案开发了多长时间?专案总的程式码量有多少?你的程式码量有多少?

专案用了怎样的开发模型或开发流程?专案的架构是怎样的?专案的技术选型是怎样的?

你在专案中担了怎样的职责?是否经常开会或加班?专案完成后有哪些收获或是经验教训?

专案中最困难的部分是什么?如何解决团队开发时遇到的各种冲突?

七、面试时可以反问面试官的问题

我注意到你们使用了X技术,请问你们是如何解决Y问题的?

为什么你们的产品使用了X技术而不是Y技术?据我所知,X技术虽然有A、B、C等好处,但也存在D和E问题,而Y技术可以解决D和E问题。

我对您说的X技术不是太熟悉,但我感觉它是一个不错的解决方案,您能多讲讲它的工作原理吗?

你们团队是如何进行专案规划的?一周会有几次例会?每周的程式码量大概是多少?

就X问题我能想到的解决方案目前就只有Y了,请问您会怎么解决这个问题?

八、S.A.R.法则

S.A.R法则是指先描述问题的场景,然后解释你取的行动,最后陈述结果。

九、面谈原则

声音适中、口齿清楚、面带微笑、个人形象精神,讲礼貌。

主动跟面试官聊他感兴趣的话题,让面试官满意。

主动的大胆的跟面试官聊自己熟悉有经验的内容:专案、技术点等,做到扬长避短。

一定要表达自己非常想得到这个岗位,自己很愿意学习不懂的技术。

根据自己的实际水平提出合理的待遇要求。

十、自我评价

学习能力(搞IT行业的人需要不断的了解新的技术、工具和方法)

团队意识(相比个人英雄主义,IT行业更倡导团队合作)

抗压能力(很多IT企业的工作强度相对来说还是比较大的)

面试时,一个好的企业最注重的是什么?

你好!

在日常生活中,我们也会遇到这样的情形:在某些场合,突然感到自己的穿着很别扭,与周围的人们或环境格格不入,于是乎举手投足,不无窘态,只盼著早早散会离去。

在面试的时候,你的心情免不了紧张,对类似的心理障碍更应防患于未然。尽管面试主要考察应考者的内在素质,但实践证明,应考者以什么样的形象亮相往往会带来不同的效果。再者,在人际交往中,仪态端庄,衣冠整洁体现了对他人对社会的尊重,表现出一个人的精神状态和文明程度,在面试时当然也成为衡量人品的标准之一。所以,在你的外观达到最佳水平之前,请一定不要善罢甘休。

1.须发 面试是很正规的场合,千万不要将你的头发弄得古里古怪的。只要保持你的头发整齐、干净、自然,能够显露出你的整个脸庞就可以了。对男同学来说,既不可油光锃亮,擦了许多摩丝,像奶油小生,毫无阳刚之气;也不可烫发或染成其他颜色;头发更不能太长。对于女同学来说,披肩发不可放任自流,应稍微卷束一下,发型也可以专门做一下,但应大众化,切忌太多的头饰和过分的装束,在面试这样的场合,应以大方自然为原则,也不要弄什么“新潮发型”,发型要符合学生身份。也许你会说做到这些都没问题,但那还不够。当你到达面试地点时,也许头发会有些散乱。所以,别忘了在口袋里装上一把小梳子和一面小镜子。 无论是男士还是女士,如果你觉得在面试前应该去一次理发室,最好不要从理发店直奔考场,衣领上沾著没有刷净的短发,头上散发出定型水的香味,好像你是每逢面试才理一次发似的。 男士在面试前要彻彻底底修一次面。修面时小心不要伤著面板。下巴或颈部的伤痕不仅影响面容美观,而且会弄脏衬衫的衣领。 如果你是一个大胡子,那么一定要将胡子刮干净,胡子拉碴会让考官觉得你不礼貌,而且浓密的胡子无意中表示“我需要有点儿孤独,请离我远一些”。如果你是考官,相信你也不会希望有这种感觉。所以,你也就需要加倍关注你的外观,在公众面前拿出你最英俊,也就是最年轻的脸。但记住,不要在面试候考时掏出你的电动剃须刀。在公共场所整理个人卫生是不合礼仪规范的。

2.服装 国外有职业咨询专家告诫说,要是你有意垂钓一个薪金相当的好职位,在服装上花本钱是划得来的。招聘单位当然注重你有多少本事,但同样也注重你的外表留给人的印象。虽然许多人都知道第一印象很重要,但在第一印象中要有好的表现则颇不容易。服饰是构成第一印象的重要决定因素之一。一个大方优雅的外表能给考官留下良好的印象,重视自己的衣着,在面试一开始就会让考官对你形成一个良好的评价。 面试是正式场合,穿着应符合适宜于这一场合气氛的衣服。面试的主要目标是争取得到考官对自己的认可。一般来说,用人单位的考官往往有一定的工作经验,工作时间较长,社会阅历丰富,办事严谨,讲话逻辑性强,对传统的价值观念认同较多。他们往往不愿录用有反传统观念的人,而愿意录用较符合他们传统观念的人,因此,为“保险”起见,毕业生应穿着式样较正统、符合大众潮流的服装,千万不可穿着式样十分奇特、图案过于零乱、色彩较为艳丽的服装。至于服装到底传统到什么程度,毕业生应根据用人单位的实际情况而定,可以通过用人单位工作人员的服饰、个人各方面的具体情况等来决定自己的服装的传统程度。当然,毕业生也可以请老师或身边的人提一些参考意见。 (1)切忌穿着随随便便,所有的运动服、拖鞋、背囊之类都不适宜。无论天气有多冷,面试室内都不可戴手套、口罩、耳套等;无论天气有多热,西装短裤、背心等等都不适宜。 (2)尚未穿过的新衣服最好别穿。面试是严肃的场合,若穿一身完全不习惯的衣服,不仅会使应考者自己感觉有些别扭,更让考官感觉别扭,结果使效果极差。衣服不一定要新、要好,但要整齐,合身,匀称,整洁。 (3)凡是不符合大众化的衣服最好别穿。尤其是女同学,超短裙、低胸上衣,紧身衣裤等服装都不适宜。

3.领带 在面试场合,应考者最好要打领带,这样会使你显得更加精神。领带必须干净、平整。别指望马马虎虎的一刷、一拍、一捋就可以使领带给你带来成功男士的魅力。一条价格适中,清洁整齐,色彩和谐的领带,远远胜过历经沧桑的名牌货。领结要打得坚实、端正,不要松松散散,耷拉在一边。在配色方面,要记住“美就是和谐”,不要追求标新立异,以免弄巧成拙。

4.鞋袜 皮鞋要擦去污痕,然后上油刷亮,鞋带要系牢。男士的袜子颜色一般不要比裤子淡。对于女性来说,中高跟皮鞋使你步履坚定从容,带给你一分职业女性的气质,很适合在求职面试时穿着。相比之下,穿高跟鞋显得步态不稳,穿平跟鞋显得步态拖拉。 如穿中、高统靴子,裙?下沿应盖住靴口,以保持形体垂直线条的流畅。同样,裙?应盖过长统 *** 袜口。总体说来,全身的饰物不要超过三件,否则会使人觉得太沉重,珠光宝气压倒了你职业女性的气质。你的耳环是否增加了你耳朵和脸蛋的神韵?项链是否使你显得修长而丰满?戒指是否使你的手指显得修长纤细?如果你的饰物达不到增添光彩的目的,那么就没有必要画蛇添足,适得其反。

5.化妆 化妆对于女同学来讲是必不可少的,但应该以淡妆为主,淡到与人的肤色相接近方可,过浓则易给人以“妖艳”感,眼线、口红都不可深,否则让人看了很不自在。用粉也不能太多,粉太多会往下掉,让人感觉较差。对男生来讲,化妆可有可无,但是,胡须必须刮净,鼻毛不能长到鼻孔外面来。无论男生女生,对香水的使用也应把握一个淡字,让人感觉自然。 对于各种饰物,女生像耳环、耳坠、项链、戒指、手镯等饰品最好不戴,即使戴也只能取其中一两件。男生有人喜欢在胸前挂上玉坠,也有人喜欢戴一个戒指,应都取下来为好。 当你经过刻意修饰之后,来到用人单位,在面试前的几分钟里,不妨再最后检查一遍,力争不出差错。无论是服饰还是仪表的打扮,都应本着一个原则,即不要将自己打扮成一个完全社会上的“久经沙场,老于世故”的形象,而应该保持大学生的那么一种气质,那么一点纯真,让考官感觉出你的学生气息,这一点是非常重要的。曾经有一位女大学生,在面试前为了显示自己漂亮的形象,遂倾其所有,备上一套高档黑色套裙,又在美容厅做了一次美容,整个人越发显得高贵美艳。她的形象确实是很高雅的,但在面试现场,她的这一番用心良苦的打扮反而会给自己带来不利。考官在欣赏她的美丽时,心中便开始对她有不好的判断:“好高档的衣服,但这是学生模样吗?”“太喜欢打扮了,能安稳地工作吗?”“看来她的经济条件不错,是不是娇生惯养的大**呢?这样能适应国家公务员这一清苦的职业吗?”,而更老练的考官一眼便看穿了她刻意打扮的背后内涵“心情很迫切”,“这个样子还不是装出来的”,“还不够成熟,不够稳重啊!”所以在打扮时,要对自己的学生身份有一个清晰的定位,而且要意识到你是在参加应聘面试,而不是去与男朋友约会。

最后,手是人体中活动最多的部分之一,也常常是人们目光的焦点。这并不是说面试前要对手进行化妆,但把你的双手洗得乾乾净净,指甲修剪得整整齐齐,这是很有必要的。指甲一般与指尖等长,要刷净其中油污。职业女士,一般不宜留长指甲,以影响正常操作办公室装置。

面试时,企业最在意的是什么?

首先,你要抓住企业的心!很重要的,这是与你的情商有关,企业最看中的不是他们说的,是你能给企业带来什么,即能为企业赚钱不!带来利润,这是最重要的!所以面市时要知道说什么,主攻这个方面!

还有,关于工资你就说是580(最低生活保障)就行 了,以后看能给老板做出什么成绩而定.

祝你好运!

把结果给俺说下啊,呵呵GOOD LUCK!

企业最在意的是你是否符合他们这个岗位的要求,有没有类似的经验。总之企业都是希望员工创造的价值超过他的报酬。

在面试UI设计师时,企业最看重的是哪几点

?A.具备使用者体验意识

你在面试时,你自己就是产品,面试方就是使用者,作为UI设计师要考虑的是,怎样最快最好把自己的产品展示给使用者。要意识到使用者就在身边,随时关注使用者对你设计和产品的看法。作品虽然pc端也可以看,但用手机直接给考官看,使用者体验会更好。

作为一名UI设计师,把自己的作品放在手机上,是一种职业素养的体现。 无论是上线产品还是单图,无论设计优劣,关键在于有or没有。没有这个意识,有的企业会直接cut掉。

B.做充足准备

你有提前做功课吗?有检视公司资料吗?公司APP下载了吗?招聘方希望,你能对公司主动提前了解。

这一批人,企业会将之划入较优先考虑的范畴。有些人不光看了产品,对产品理念、市场定位还做了分析,认可公司文化。 这类应聘者即使设计能力欠佳,公司也愿意花时间培养。

C.勇于承认错误

有的招聘方会刻意提尖锐问题,例如指出你作品的瑕疵、设计上的失误, 他们的真实意图是考察你能否承认错误、承担责任。 面对不足,部分面试者想方设法为自己辩解,甚至找借口推脱,推到老板、产品经理身上。招聘方认为,这样的人是没有责任心的,工作进度也必将很慢。

对公司来讲,犯错不要紧,要紧的是对待错误的态度。

D.有学习欲望

而学习欲是推动设计师进步的动力。UI设计师比平面设计师需要的关注的知识面更多,涉及到生活、哲学、人生道理,来获取灵感。

例如,有些企业会问你“最近在看什么书”,这里的书并不限于专业书籍。喜欢看书有利于设计师的想象力,培养设计师对生活的观察、理解和思维能力,对社会、人性的理解促进设计师完善使用者体验。这种设计师自带火花,只要添一把柴火,就能烧得很旺。

E.具备分享意识

企业倾向于选择具有分享意识的设计师。一般来说,愿意分享idea的设计师,既有利于个人成长,也有利于团队建设。

举个栗子:面试官问你“中午都怎么吃饭?”,就是在考察你的分享意识。愿意和大家一起吃饭、为大家订餐、美食共享的人,是企业更喜欢的型别。

F.设计能力

考察设计能力是基本,但我们把它放在最后一条。 在部分企业眼里,与其他素质相比,设计能力甚至可以算得上最不重要的。

大多数企业最看重面试者什么方面

是否与职业要求相匹配,比如内向的人很难去做销售,活泼的人很难做单一的重复性工作。

每个人都有自己的特点,企业要的是能胜任岗位的人。

是否可以在一个公司长久的待下去,毕竟培养和熟悉公司业务都是需要时间的

如何设置jenkins服务器环境变量

jenkins

插件管理

为什么是空白

如何用Jenkins/Hudson创建真正的pipeline

这几天尝试用Jenkins/Hudson创建pipeline,发现网上的信息很少,所以写一篇跟大家分享。

在开始之前,得告诉你被我的标题给忽悠了,不是Jenkins/Hudson,只是Jenkins!如果你还在用Hudson,那么我建议你...

本文就简单说说我经验中的解决办法:

1.两个地域的网络都能直接相互访问,这是最好的情况(而这种情况适用范围是最窄的),可以直接用Jenkins的隐藏功能实现。

首先要有个job处于你build

process的最后一步,比如说,你release后,触发这个job

系统运维需要掌握哪些工具?

启动Jenkins

1、 安装jdk

从略,建议1.6或以上版本,配置好环境变量。

2、 安装tomcat

从略,安装完调试下tomcat是否正常。

3、 安装ant

下载zip包,解压后配置好环境变量。

4、 安装jenkins

下载war包,命名为Jenkins,拷贝到tomcat/webs目录下。

5、 安装Android SDK

下载安装,完成后配置好Android_SDK_HOME环境变量。此步骤主要用于进行android自动化测试,若不进行此项可略过。

安装完成后启动tomcat/bin/startup.bat文件(linux下是startup.sh),在浏览器输入://localhost:8080/jenkins,8080为tomcat端口,即可访问jenkins服务器。

配置Jenkins

1、 JDK配置

新增JDK,指定JDK名字和JAVA_HOME

2、 ANT配置

新增ANT,指定ANT名字和ANT_HOME

3、 Men配置

从略,本文未使用到Men,具体配置方法参考Google。

4、 Subversion

选择1.6版本SVN,勾选Update default Subversion credentials cache after successful authentication

5、 邮件通知

填写SMTP server、Default user E-mail suffix、System Admin E-mail Address、Jenkins URL、勾选Use SMTP Authentication,填写User Name、Password、Use SSL、SMTP port、Chareset(UTF-8) 、Default Content Type(默认)、Default Recipients(默认收件人),配置完成后可进行测试邮件。

6、 Jenkins URL

配置该URL,用于别人访问。

插件管理

1、 Hudson Subversion Plug-in,jenkins的svn插件。

2、 Android Emulator Plugin,android模拟器插件。

3、 JUnit Attachments Plugin,junit测试报告附件插件。

4、 Email-ext plugin,邮件扩展插件。此处说明下,默认Jenkins只会发送构建失败的邮件,我们需安装此插件才能自定义不同场景。

5、 Deploy to container Plugin远程发布插件。

自动化测试

打包源工程

Android程序

本小节讲诉如何打包一个Android工程,当前使用的是ant进行编译源码。

1、 首先构建一个自由风格的Job。

2、 添加源码路径,选择所使用的版本控制器,输入源码路径。

3、 构建触发器可根据需要选择是否定时构建。

4、 构建环境,此处Jenkins安装了Android Emulator Plugin插件,可以启动已有模拟器或添加新的模拟器,本文案例中使用真机调试。

5、 构建,卸载手机中原程序 adb –s uninstall com.XXXXXX

6、 生成bulid.xml文件,-p后面跟工程所在的本地jenkins下路径

android update project -n *** c:\被测工程Job路径\workspace

7、 Ant进行编译程序,并安装到当前手机中

ant debug install -f c:\被测工程Job路径\workspace\build.xml

8、 构建后操作,本案例中构建完成后自动启动构建下一个测试Job

Bulid other projects,选择测试工程的Job.

打包测试工程

Android程序

本小节讲诉如何构建一个Android测试工程,包括邮件发送和测试报告展示。

1、 构建步骤1-7和Android程序章节一样,从略。

2、 本文案例中测试程序是通过命令行启动运行的,所以在此处增加一个批处理运行。P.S. adb shell am instrument -w -e class com.megafon.test.MegafonTest#testDeleteContact com.megafon.test/android.test.InstrumentationTestRunner ,此处是通过批处理来单独运行一个个的测试用例。避免了Junit3的无序执行的问题。

3、 删除Workspace中原来存在的测试报告文件,一般不删除也会覆盖。

如何让测试程序生成xml格式的测试报告,其他文章会重点介绍。

4、 从手机中拷贝测试报告,最终测试是在手机上运行,所以报告也生成在手机中,使用adb pull命令把测试报告全部拷贝到workspace下制定目录。

5、 构建后操作,发布测试报告,如果报告中包含附件,此处使用到JUnit Attachments Plugin插件。

6、 邮件通知,此处使用到Email-ext plugin插件,前面的默认,直接使用我们在系统管理里面设置的默认值。

7、 点击右下角高级按钮,可选择不同场景下发送邮件。

8、 测试结果展示,在本次构建的控制台可以显示当前所有的构建日志。

9、测试报告点击Test Result可以显示所有测试记录。

Jenkins怎么安装

系统运维管理是许多公司在维护软件系统中非常重要的工作内容。今天,我们就一起来了解一下,在运维过程中都有哪些工具是需要我们掌握和使用的。

1、对服务器安全和监控,可以推荐一些开源工具吗?监控好像也就nagios,cacti,zabbix,还有其他可以推荐的吗?安全方面如何监控?

监控工具各有侧重点,zabbix同时支持snmp和自己的agent,也支持自定义模板,在大部分场景下都是不错的选择。

另外,不要把zabbix视为只能监控服务器信息,通过自定义模板,也可以监控业务层面的指标。安全监控分为主动检测,如TenableNessus,以及IDS、IPS。

2、Linux运维中,服务器版本都用什么版本?CentOS5还是CentOS6、Ubuntu?为什么选择这个版本?有做哪些测试?

目前我们以CentOS6.X为主。不同Linux分支各有特点,比如Ubuntu新版本发布较快,如果追求内核版本升级速度的话,可以考虑。CentOS一直是我们的主要Linux发行版,主要是考虑到它的稳定性以及熟悉程度高。

3、对于使用缓存有什么推荐吗?一般就Redis,Codis。还有那些比较好用的开源软件?

对于类似session-id这样的可以非持久存储的数据,可以考虑memcached,使用一致性哈希算法分布式存储。

4、做自动化发布,除了Jenkins持续集成工具,还有那些好用的工具呢?

目前我所知道的,一般都是Hudson或者Jenkins,后者是前者分支出来的。这些工具都有丰富的插件,灵活使用这些插件是关键所在。

5、问个MySQL问题,三个版本(MySQL(官方版本)、PerconaServer、MariaDB)您建议使用哪个版本,原因是?

我们团队一般使用的是官方版本。霍营北大青鸟认为主要是考虑到支持和生态。

6、服务器日志收集和分析有什么好工具推荐吗?ELK貌似有点复杂,不太会用,有其他的推荐么?

ELK确实是目前使用比较广泛的日志收集和分析的工具。虽然有些学习成本,但还是值得去研究和尝试的。

简历上的项目描述(JAVA)怎么写

一、Windows环境中安装Jenkins

在最简单的情况下,Jenkins 只需要两个步骤:

1、下载最新的版本(一个 WAR 文件)。Jenkins官方网址:

2、命运行运行 ja -jar jenkins.war (默认情况下端口是8080,如果要使用其他端口启动,可以通过命令行”ja –jar Jenkins.war --Port=80”的方式修改)

注意:Jenkins 需要运行 Ja 5以及以上的版本。

还有一种安装方式就是将下载的war包文件部署到 servlet 容器,然后启动容器,在浏览器的URL地址栏中输入类似这样的地址即可。下图是安装成功后的界面(使用的是Linux+Tomcat6+Ja6环境):

二、Jenkins配置

在配置前的一些话:Jenkins的配置不可能全部都说到的,大部分配置是有英文说明的,点击输入框后面的问号就可以看见了。英文不会用翻译工具,多测试几次,你就懂了。

2.1 系统管理

在已运行的Jenkins主页中,点击左侧的系统管理进入如下界面:

2.1.1 提示信息

Ps:版本不同提示的消息有可能不同

2.1.1.1 Utf-8编码

Your container doesn't use UTF-8 to decode URLs. If you use non-ASCII characters as a job name etc, this will cause problems. See Containers and Tomcat i18n for more details.

Jenkins建议在tomcat中使用utf-8编码,配置tomcat下conf目录的server.xml文件

Ps:如果Job的控制台中文输出乱码,请将URIEncoding=”utf-8”更改为useBodyEncodingForURI="true"

2.1.1.2 新的版本

New version of Jenkins (1.518.JENKINS-14362-jzlib) is ailable for download (changelog).

提示有新的版本可以下载了,喜欢更新的点击download去下载吧!

2.1.1.3 安全设置

詹金斯允许网络上的任何人代表您启动进程。考虑至少启用身份验证来阻止滥用。点击Dismiss忽略该消息,点击Setup Security进入设置界面.详细设置请参考 Configure Global Security(安全设置) 章节

2.1.2 系统设置

在已运行的Jenkins主页中,点击左侧的系统管理—>系统设置进入如下界面:

ps:jenkins的根目录,默认地在C:\Documents and Settings\AAA\.hudson。

2.1.2.1 JDK、Men、Ant配置(图为Windows环境)

配置一个JDK、Ant、Men实例,请在每一节下面单击Add(新增) 按钮,这里将添加实例的名称和绝对地址。下图描述了这两个部分。

点击“安装”,添加相应的设置,如下图:

JDK别名:给你看的,随便你自己

JAVA_HOME:这个是本机JDK的安装路径(错误的路径会有红字提示你的)

自动安装:不推荐这个选项

注:Ant、Men的配置是一样的(JDK去oracle下载,Ant与Men去apache下载)

Ps:每个文本框后面都有个问号,点击问号就会出现帮助信息

2.1.2.2 邮件通知配置(默认)

2.1.2.2.1 配置发件人地址

系统管理员邮件地址(System Admin e-mail address):Jenkins邮件发送地址,切记,必须设置。

2.1.2.2.2 配置邮件通知

设置:SMTP服务器,勾选"使用SMTP认证",输入用户名与密码

Ps:小技巧:用户默认邮件后缀配置了后,以后你填写邮件地址只需要@之前的就行了

2.1.2.3 Subversion配置

Subversion Workspace Version:Subversion 的版本号,选择你对应的版本号就行了

2.1.3 Configure Global Security(安全设置)

在已运行的Jenkins主页中,点击左侧的系统管理—>Configure Global Security进入如下界面:

设置如上图,保存后系统管理中就出现管理用户的选项。页面右上角也会出现登录/注册的选项。

此设置:只有登录用户可以做任何事

怎么整合jenkins 和github

想要成为合格的Ja程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内容写到你的简历中,当然更需要的是你在面试的时候向面试官展示这些专业技能。相信此文对正在寻觅Ja程序员(Ja工程师)职位的freshman以及希望成为中高级Ja开发者的junior都会有所帮助。

专业技能

1.熟练的使用Ja语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Ja?API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。

2.熟悉基于JSP和Servlet的Ja?Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用、过滤器等Web组?件以及MVC架构模式进行Ja?Web项目开发的经验。

3.对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用Spring?MVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。

4.熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。

5.熟练的使用HTML、CSS和JaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JaScript模板引擎(HandleBars)进行项目开发的经验。

6.熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用SQL和PL/SQL进行数据库编程。

7.熟悉面向对象的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。

8.熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。

9.熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和Enterprise?Architect,熟练的使用Ja开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Men和Gradle。

说明:上面罗列的这些东西并不是每一项你都要烂熟于心,根据企业招聘的具体要求可以做相应的有针对性的准备。我个人觉得前6项应该是最低要求,是作为一个Ja开发者必须要具备的专业技能

项目介绍

本系统是X委托Y开发的用于Z的系统,系统包括A、B、C、D等模块。系统使用了Ja企业级开发的开源框架E以及前端技术F。表示层运用了G架构,使用H作为视图I作为控制器并实现了REST风格的请求;业务逻辑层运用了J模式,并通过K实现事务、日志和安全性等功能,通过L实现缓存服务;持久层使用了M封装CRUD操作,底层使用N实现数据存取。整个项目用了P开发模型。

说明:上面的描述中,E通常指Spring(Ja企业级开发的一站式选择);F最有可能是jQuery库及其插件或者是Bootstrap框架,当然如果要构建单页应用(SPA)最佳的方案是前端MVC框架(如AngularJS)和JaScript模板引擎(如HandleBars);G显然是MVC(模型-视图-控制),最有可能的实现框架是Spring?MVC,除此之外还有Struts?2、J以及Apache为J提供的MyFaces实现,可以使用JSP作为MVC中的V,也可使用模板引擎(如Freemarker和Velocity)来生成视图,还可以是各种文档或报表(如Excel和PDF等),而Servlet和自定义的控制器是MVC中的C,当然Spring?MVC中提供了作为前端控制器的DispatcherServlet;J通常是事务脚本,K应该是AOP(面向切面编程)技术,L目前广泛使用的有memcached和Redis;M的选择方案很多,最有可能的是Hibernate和MyBatis,也可以两种技术同时运用,但通常是将增删改交给Hibernate来处理,而复杂的查询则由MyBatis完成,此外TopLink、jOOQ也是优秀的持久层解决方案;底层的数据存取传统上是使用关系型数据库,可以是MySQL、Oracle、SQLServer、DB2等,随着大数据时代的来临,也可以用NoSQL(如MongoDB、MemBase、BigTable等)和其他大数据存取方案(如GFS、HDFS等);项目的开发模型P可以是瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、RAD模型等。

项目开发流程

1.可行性分析?>>>?可行性分析报告?/?项目开发书

2.需求分析?>>>?需求规格说明书

1.OOAD(用例图、时序图、活动图)

2.界面原型:帮助理解需求、业务层设计时推导事务脚本

3.设计?>>>?概要设计说明书/详细设计说明书

1.抽取业务实体(领域对象):类图、E-R图(概念设计阶段)

2.分层架构:确定各层的技术实现方案(具体到使用的框架、数据库服务器、应用服务器等)。业务层设计:事务脚本模式(事务:用户发送一次请求就是一个事务;脚本:一个方法或一个函数;事务脚本:把一次请求封装为一个方法或一个函数;事务脚本模式:一个事务开始于脚本的打开,终止于脚本的关闭)。业务层涉及的对象本有三种类型:事务脚本类(封装了业务的流程)、数据访问对象(DAO,封装了持久化操作)、数据传输对象(DTO,封装了失血/贫血领域对象),三者之间的关系是事务脚本类组合(聚合)数据访问对象,这二者都依赖了数据传输对象

3.正向工程(UML类图生成Ja代码)和逆向工程(Ja代码生成UML类图)

4.数据库物理设计(ER图转换成表间关系图、建库和建表、使用工具插入测试数据)

4.编码?5.测试?>>>?测试报告?/?缺陷报告

1.单元测试:对软件中的最小可测试单元进行检查和验证,在Ja中是对类中的方法进行测试,可以使用JUnit工具来实施。

2.集成测试:集成测试也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求组装成为子系统进行测试。

3.系统测试:将已经确认的软件、硬件、外设、网络等元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。

4.验收测试:在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。

5.交付和维护?>>>?用户手册?/?操作手册

项目管理

版本控制:CVS/SVN/Git

自动构建:Ant/Men/Ivy/Gradle

持续集成:Hudson/Jenkins

系统架构

负载均衡服务器:F5、A10

应用服务器:

HTTP服务器:Apache、NginX(HTTP、反向代理、邮件代理服务器)

Servlet容器:Tomcat、Resin

EJB容器:WildFly(JBoss?Application?Server)、GlassFish、Weblogic、Websphere?数据库服务器:MySQL、Oracle

第三方工具(插件)应用

图表工具:基于jQuery的图表插件(如jQchart、Flot、Charted等)、Chart.js、Highcharts等。

报表工具:Pentaho?Reporting、iReport、DynamicReports等。

文档处理:POI、iText等。

工作流引擎:jBPM、OpenWFE、Snaker、SWAMP等。?

作业调度:Quartz、JobServer、Oddjob等。

缓存服务:EhCache、memcached、SwarmCache等。

消息队列:Open-MQ、ZeroMQ等。

安全框架:Shiro、PicketBox等。

搜索引擎:IndexTank、Lucene、ElasticSearch等。

Ajax框架:jQuery、ExtJS、DWR等。

UI插件:EasyUI、MiniUI等。

富文本框:UEditor、CKEditor等。

面试提问

项目是为哪个公司开发的?

项目的投入是多少?

有多少人参与了项目开发?

整个团队中,测试人员、开发人员、项目经理比例是多少?

项目开发了多长时间?

项目总的代码量有多少?

你的代码量有多少?

项目用了怎样的开发模型或开发流程?

项目的架构是怎样的?

项目的技术选型是怎样的?

你在项目中承担了怎样的职责?

是否经常开会或加班?

项目完成后有哪些收获或是经验教训?

项目中最困难的部分是什么?

如何解决团队开发时遇到的各种冲突?

明:对于没有实际项目经验的,可以在前程无忧、智联招聘、拉勾网等网站上搜索招聘Ja程序员的公司,找到他们的官方网站了解他们做的项目,查看项目的详细介绍,然后尝试完成其中一部分功能,最好请教一下高人看看自己的设计和代码是否恰当,这样相当于积累了一定的项目经验。

面试时可以反问面试官的问题

我注意到你们使用了X技术,请问你们是如何解决Y问题的?

为什么你们的产品使用了X技术而不是Y技术?据我所知,X技术虽然有A、B、C等好处,但也存在D和E问题,而Y技术可以解决D和E问题。

我对您说的X技术不是太熟悉,但我感觉它是一个不错的解决方案,您能多讲讲它的工作原理吗?

你们团队是如何进行项目规划的?一周会有几次例会?每周的代码量大概是多少?

就X问题我能想到的解决方案目前就只有Y了,请问您会怎么解决这个问题?

录用谈判

要理直气壮的提出具体的待遇要求

开出比预期稍高的价码

不要只盯着薪水(很多公司更愿意就薪水之外的条件做出让步)

使用最合适的方法(可以尝试在电话或E-mail中谈判待遇)

自我评价

学习能力(搞IT行业的人需要不断的了解新的技术、工具和方法)

团队意识(相比个人英雄主义,IT行业更倡导团队合作)

抗压能力(很多IT企业的工作强度相对来说还是比较大的)

自学编程,免费获取精品IT教程以及资料,搜索:黑马程序员

网页链接

搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路。持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集成的基础上收到反馈并加以改进,不必等到开发的后期才寻找和修复缺陷。当然要明白的是持续集成环境的搭建也不是一劳永逸的,随着软件项目复杂度的增加,持续集成的环境同样要加以维护以确保集成环境的可靠性。

持续集成的重要要素:1.统一的代码库。

2.CI服务器

3.自动化测试和构建的脚本

4.Sles

持续集成的流程:CI服务器控制持续集成的整个过程,轮询代码库更新,根据预定义的脚本进行项目的构建,服务器将任务分配到Sle端。这就是整个持续集成的过程,我们需要根据我们的项目需求,制定好一个完善的持续集成方案,然后根据方案选择CI服务器和版本管理软件,我们的项目选择了Jenkins+Github的持续集成环境,这也是我要主要和大家讲述的。

为什么要选择Jenkins?

Jenins是现在非常流行的持续集成CI服务器,这与它的前身Hudson也有着很大的关系,Jenkins易于安装,不需要数据库的支持,直接通过Web界面进行配置,而且集成了RSS/Email的通知机制,支持分布式构建,具有丰富的插件,这些都是Jenkins相比其他持续集成服务器的优势所在。

对于版本控制软件的选择要看项目需要了,可能是SVN也可能是Git,一般来说Jenkins都有提供插件支持,下面讲解一下Jenins+Github持续集成环境搭建的细节。

这个持续集成环境构建的主要流程就是Jenins会在后台运行,轮询版本控制的存储库,当发现版本库出现变更,就会通过预定义的构建脚本进行项目的构建,Jenkins会根据项目需求将构建的任务分配到Sle端。一般的项目构建过程主要分为自动化编译和自动化测试两个阶段,这同样是你脚本发挥作用的阶段。

1.Jenkins安装

进入Jenkins官方网站下载最新的Jenkins,Jenkins提供war包的下载和各种操作系统的安装文件,选择war包即可。

Jenkins的启动方法有两种:

第一种是使用tomcat直接打开,就是把jenkins.war放入tomcat下的 webs目录下,当启动jenkins时,就会自动在webs下建立jenkins目录。然后再浏览器的地址栏输入://localhost:8080/jenkins

另一种方法要确保系统中安装了jdk,并且配置了环境变量,检测方法就是在命令行输入ja回车后有多行的命令符提示。直接在命令行输入ja -jar jenkins.war即可启动jenkins,默认会运行在8080端口,切换到浏览器的地址栏输入;//localhots:8080,localhost可以改成ip地址。

看到Jenkins的页面说明jenkins已经部署成功了。2.插件安装

在"系统管理->插件管理"下可以看到Jenkins缺省安装了CVS,Subversion,Men和SSH,这些主要是版本控制的软件的相应插件,不过我们使用的是GitHub进行版本控制,所以要在可选插件中选择安装Git plugin和GitHub plugin插件,安装之后重新启动就可以看到新的插件已经生效。3.环境配置

进入"系统管理->系统设置"设置Jenkins的相关参数。主要是设置Git和GitHub插件的参数,在Git下的Path to executable一栏添加本机的git.exe的路径,在Git plugin下的添加本地Git的user.name和user.email的信息,在GitHub Web Hook下添加GitHub账户的相关信息。如果想要使用邮件的功能,需要在邮件通知的一栏添加SMTP服务器和邮箱的相关信息,添加后点击Test的按钮测试一下能否正常发送邮件,这一功能可以在后面的项目中使Email Notification功能得以正常使用。

4.构建项目

点击"新Job",输入"任务名称",选择"构建一个自由风格的软件项目",点击"OK"。系统自动进入"任务配置"界面。5.配置构建方法

在GitHub project中输入git地址。 在"源码管理->Git"下的Repository URL输入Repository的Git地址(PS:可以选择分支)。

在"构建触发器"中选择"Build when a change is pushed to GitHub "和"Poll SCM ",这两项的作用分别是当GitHub有版本库更新时触发Jenkins进行构建和定期检查版本库是否有更新,如果有更新则触发Jenkins进行构建。这里要注意Schedule语法,例如"*/2 * * * *"表示每隔2分钟检查一次。

点击增加构建步骤,选择Execute Windows batch command,并输入

"%VS10COMNTOOLS%..\IDE\devenv" "%WORKSPACE%\Test.sln" /Build "Debug|Win32",devenv是MSVC提供的命令行构建工具,这里的"%VS10COMNTOOLS%..\IDE\devenv"为devenv的路径,如果没有配置响应的环境变量,构建的时候就会找不到路径,所以可以用devenv的实际路径代替。在"构建后操作"中可以添加发送邮件的相关信息。

点击保存,项目的配置就完成了,点击立即构建,Jenkin就会从github上将代码clone下来,这里我在github上存放了一个HelloWorld的vs项目,所以我的命令行为"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv" "%WORKSPACE%\HelloWorld\HelloWorld.sln" /Build "Debug|Win32",然后自动编译项目,如果构建成功会是蓝色标记,如果构建失败会是红色标记。

构建完成后可以在项目中看到项目构建的具体信息,如工作区、变更集和每次构建的控制台输出等。这就是一个基本的基于Jenkins和GitHub的持续集成环境的搭建。