在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《一套软件开发工程师笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

软件开发是一个很吃香的行业,下面小编整理了一套软件开发工程师笔试题,欢迎阅读!

1、试分析下面的SQL语句的优劣,并用另外的方法实现。

(1)Select*fromempewheree.Noin(selecta.Nofromampa)

Select*fromempeewhereNOTEXISTS(Selecta.Nofromampawheree.NO=a.No)

(2)select*fromempe,anpawheree.No=a.No

2、用Decoole重写下面的socl语句

SELECTCOUNT(*),SUM(SAL)FROMEMPWHEREDEPT_NO=0020ANDENAMELIKESMITH%;

selectcount(*),sum(sal)fromempwheredept_no=0030andenamelikesmith%;

selectcount(decode(dept_no,0020,x,null))d0020_count,

count(decode(dept_no,0030,x,null))d0030_count,

sum(decode(dept_no,0020,sal,0))d0020_sal,

sum(decode(dept_no,0030,sal,0))d0030_sal

fromempwhereenamelikesmith%;

3、下面哪几种SQL不好。2,4,5

(1)update语句(2)in语句(3)子查询(4)多查等值查询(5)笛卡尔乘积

4、请造出下列哪3种命名正确A,B,D

A、ASDB、$abcC、constD、_asdE、3_asd

5、texareajava(1)写出文件名(2)补充代码

6、型转换

example:

publicStringgetValue(Objecta,Objectb){}

当下列方法调用时将出现何种异常,如何修正

Stringc=newString(aaa);

intd=123;

my.getValue(c,d);

(1)Integerd=newInteger(123);

(2)My.getValue(c,(String)d);

7、在JSP上显示Araylist中的元素

序号姓名

8、解释

beam:远程接口的具体实现

Home:管理和创建远程对象

Romate:提供给用户的远程接口

9、解释Javabean与EJB的区别

10、SeSSonbean与Entitybean区别

11、解释Commend、DAO模式,试举例说明。

Command定义

不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作,将这些命令封装成在一个类中,然后用户(调用者)再对这个类进行操作,这就是Command模式,换句话说,本来用户(调用者)是直接调用这些命令的,如菜单上打开文档(调用者),就直接指向打开文档的代码,使用Command模式,就是在这两者之间增加一个中间者,将这种直接关系拗断,同时两者之间都隔离,基本没有关系了.

显然这样做的好处是符合封装的特性,降低耦合度,Command是将对行为进行封装的典型模式,Factory是将创建进行封装的模式,

从Command模式,我也发现设计模式一个通病:好象喜欢将简单的问题复杂化,

喜欢在不同类中增加第三者,当然这样做有利于代码的健壮性可维护性还有复用性.

如何使用

具体的Command模式代码各式各样,因为如何封装命令,不同系统,有不同的做法.下面事例是将命令封装在一个Collection的List中,任何对象一旦加入List中,实际上装入了一个封闭的黑盒中,对象的特性消失了,只有取出时,才有可能模糊的分辨出:

典型的Command模式需要有一个接口.接口中有一个统一的方法,这就是将命令/请求封装为对象:

程序代码:

publicinterfaceCommand{publicabstractvoidexecute();}

//具体不同命令/请求代码是实现接口Command,下面有三个具体命令

程序代码:

publicclassEngineerimplementsCommand{

publicvoidexecute(){//doEngineerscommand}

}

publicclassProgrammerimplementsCommand{

publicvoidexecute(){//doprogrammerscommand}

}

publicclassPoliticianimplementsCommand{

publicvoidexecute(){//doPoliticianscommand}

}

按照通常做法,我们就可以直接调用这三个Command,但是使用Command模式,我们要将他们封装起来,扔到黑盒子List里去:

程序代码:

publicclassproducer{

publicstaticListproduceRequests{

Listqueue=newArrayList;

queue.add(newDomesticEngineer);

queue.add(newPolitician);

queue.add(newProgrammer);

returnqueue;}

}

这三个命令进入List中后,已经失去了其外表特征,以后再取出,也可能无法分辨出谁是Engineer

谁是Programmer了,看下面如何调用Command模式:

程序代码:

publicclassTestCommand{

publicstaticvoidmain(String[]args){

Listqueue=Producer.produceRequests;

for(Iteratorit=queue.iterator;it.hasNext;)

//取出List中东东,其他特征都不能确定,只能保证一个特征是100%正确,//他们至少是接口Command的儿子.所以强制转换类型为接口

Command((Command)it.next).execute;

}

}

DAO:

由此可见,调用者基本只和接口打交道,不合具体实现交互,这也体现了一个原则,面向接口编程,这样,以后增加第四个具体命令时,就不必修改调用者TestCommand中的代码了.

12、谈一下对保障软件质量的理解。

有效的软件质量管理

一、引言

随着社会信息化水平的不断提高,信息行业急速膨胀,信息企业快速成长,随之带来的信息市场竞争激烈,企业为了求生存,满足客户要求则成为各行各业的首要责任。依赖于质量、成本和进度的客户满意度,质量则是重点支撑之一,这样要求我们对质量管理需要加强认识。我们都知道pmbok把项目管理划分为9个知识领域,即范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。质量管理作为9大知识领域之一,可见其重要性。

质量管理包括:质量计划编制、质量保证和质量控制三个过程域。质量计划是质量管理的第一过程域,它主要结合各个公司的质量方针,产品描述以及质量标准和规则通过收益、成本分析和流程设计等工具制定出来实施方略,其内容全面反应用户的要求,为质量小组成员有效工作提供了指南,为项目小组成员以及项目相关人员了解在项目进行中如何实施质量保证和控制提供依据,为确保项目质量得到保障提供坚实的基础。质量保证则是贯穿整个项目全生命周期的有计划和有系统的活动,经常性地针对整个项目质量计划的执行情况进行评估、检查与改进等工作,向管理者、顾客或其他方提供信任,确保项目质量与计划保持一致。质量控制是对阶段性的成果进行检测、验证,为质量保证提供参考依据,它是一个PDCA循环过程。

二质量管理责任分配

我们公司在开发项目上按照规范化软件的生产方式进行生产,在生产流程上采用ISO9000的标准进行。每个项目除配备了项目开发所需角色外,还专门配备了配置管理小组、测试小组和质量保证小组确保质量管理的实施,下面针对这三种角色进行说明:

1、配置管理小组职责

配置管理小组是保证项目开发完毕的同时,内部文档和外部文档都同时完成。内部文档的及时产生和规范,是保证项目开发各小组能够更好的接口和沟通的重要前提,从另一个方面讲,也是保证工程不被某个关键路径所阻塞而延滞的前提。如上所述,配置管理小组还是保证质量保证小组得以发挥作用的基础。配置管理小组的主要职责包括:完善各个部门发送需要存档和进行版本控制的代码、文档(包括外来文件)和阶段性成果;对代码、文档等进行单向出入的控制;对所有存档的文档进行版本控制;提供文档规范,并传达到开发组中。

2、测试小组职责

测试小组作为质量控制的主要手段,负责软件的测试设计和执行工作。如同软件开发一样,测试在执行之前,同样需要进行测试计划和测试策略的设计,通常情况下测试可以分为如下几种类型,如:正确性测试、功能性测试、性能测试、安全测试和系统测试等。而这些测试均需要在测试计划和测试策略中进行描述用以指导测试小组成员进行测试用例编写和测试执行。程序员在交给测试人员之前是进行过一定的单元测试,确保程序编译、运行正确。

测试人员根据详细设计的文档对软件要实现的功能进行一一测试,保证软件的执行正确的实现设计要求,在此也只证明了软件正确的反映了设计思想,但是否真正反映了用户的需求仍需要进一步的功能性测试。

测试人员只有根据软件需求规格说明书所提及的功能进行检测,才能确保项目组开发的软件产品满足用户需求。在正确性测试完成之后,需要测试的是软件的性能,软件的性能在本项目中占有重要的地位,性能要求有可能改变软件的设计,为避免造成软件的后期返工,测试在性能上需要较大的侧重。如果有必要的话,测试小组还需要做安全测试,以确保系统使用安全可靠。

3、质量保证小组职责

质量保证小组作为质量保证的实施小组,主要职责是保证软件透明开发的主要环节。在项目开发的过程中几乎所有的部门都与质量保证小组有关。质量保证小组对项目经理提供项目进度与项目真正开发时的差异报告,提出差异原因和改进方法。

在项目进度被延滞或质量保证小组认为某阶段开发质量有问题时,提请项目经理、项目负责人等必要的相关人员举行质量会议。解决当前存在的和潜在的问题。质量保证是建立在文档的复审基础之上,因而文档版本的控制,特别是软件配置管理,直接影响软件质量保证的影响力和力度。质量保证小组的检测范围包括:系统分析人员是否正确的反映了用户的需求;软件执行体是否正确的实现了分析人员的设计思想;测试人员是否进行了较为彻底的和全面的测试;配置管理员是否对文档的规范化进行的比较彻底,版本控制是否有效。

三质量管理实施

有了良好的资源配备,又如何在项目全生命周期内实施质量保证,让我们从以下几个方面来看质量保证的实施过程:

1、项目进度的质量保证

项目进度是项目进行是否顺利的最直观表现。显然在项目开始之前,项目开发计划是必须的。如果项目开发计划的制定的是完全合理的,那项目进度也就真正表达了项目与最终的交付使用之间的距离,然而要制定完全合理的项目开发计划几乎不太可能。可见要保证项目进度,首先要保证项目开发计划尽可能合理。

项目计划的合理程度与项目计划制定者从事类似规模和类似业务的项目的经验有直接关系,通过经验往往能够预见潜在的阻碍,这样要求项目计划制定者需要集众人之力来完善计划。

当项目计划制定初期,由质量保证小组组织召开的项目计划评审会,邀请公司技术专家、用户以及项目组小组成员一起讨论项目计划的可行性,会议通常采用头脑风暴法,各抒己见,会后由指定的记录员形成质量记录,发送给相关人员,对其计划中不合理的地方进行修改完善,并由质量保证人员对其结果跟踪,以确保项目计划完整性、可行性,完善后的计划交由配置管理人员进行版本控制。

然而在计划实施过程中,计划不是固定化。常有人道,计划赶不上变化,但要跟上变化。项目计划以里程碑为界限,将整个开发周期划分为若干阶段。根据里程碑的完成情况,适当的调整每一个较小的阶段的任务量和完成的任务时间,这种方式非常有利于整个项目计划的动态调整。也利于项目质量保证的实施。

实际运作中,当质保小组发现计划实施的差异后,报告项目经理,由项目经理组织负责对计划进行周期性维护,对于已经变动的计划由质保小组协助配置管理小组完成版本控制。本公司已经开发湖南移动的集中客服系统,开发中的子项目多达六个,历时十个月,目前多数项目已经开发完毕,系统正在试运行阶段,项目金额数千万元。在这样的项目中,从管理者到开发人员到测试人员都积累了较为丰富的经验,特别是项目开发计划的制定,和项目进度的控制。

2、项目开发各阶段的质量保证

a、需求分析

需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越发影响系统的工期和系统的质量。

解决系统分析错误的方法我们公司通常采用邀请用户参与进行需求评定,然后对其用户的意见由质保成员跟踪检测是否纳入需求规格说明书,同时与用户签字确认形成需求基线,交由配置管理员放入配置管理库。

虽然尽早的邀请用户参与,仍然避免不了项目进行中用户的需求变更请求。对于开发过程存在的需求变动,我们要求用户填写变更申请单发送给项目配置管理员,在通过配置配置员转交质保小组,负责组织专家小组和项目组成员一起讨论实施变更的可行性及实施后所带来的影响,小的变更则直接记录入变更记录原因分析项和风险项栏,大的变更则需要形成正式的变更报告,无论那种变更都需要对相应的文档实施同步变更(包括需求规格说明书、详细设计文、安装手册、操作手册等)。但是对于无法实现或是变更会带来巨大的影响而将导致进度的延期,这时,我们将变更报告提交给用户或邀请用户进行协调会议,讨论变更取舍问题或是项目进度变更问题。

决定变更之后,由项目经理组织实施变更,测试人员检测变更结果,而质保小组成员监督变更实施过程并协助配置管理员对变更后的成果物进行版本控制。变更实施完后,上线前还需要指定人员协助用户一同测试并由用户签字后同意方可上线。

b、系统设计

优良的体系结构应当具备可扩展性和可配置性,而好的体系结构则需要好的设计方法,自然设计选型成为了系统设计首要的工作,究竟是采用哪种设计方法好呢?

对于设计选型不能一概而论,需要针对项目的结构、项目的特征和用户的需求来分析,同样也要考虑到参与项目小组成员的素质,如果其中大部分都没有从事过面向对象的设计且项目进对紧迫,这样没有多余的时间来培训小组成员来掌握面向对象的设计方法,尽管众所周知面向对象设计方法的优势,我们还是不如采用面向过程的方式(除用户指定开发设计方式外)可以减少项目承担的技术风险。

我们公司有过一个项目,用户指定需要采用面向对象分析、设计和开发,且开发周期短,在无赖的情况下,项目小组只能选用面向对象的软件开发过程,由于项目小组很少从事过面向对象的开发,经验缺乏,导致项目上马后项目进度延误,项目没有达到预期的效果。

针对此次开发,我们分析其原因,发现小组成员在开发过程中对于新技术互相交流少,各自有各自的理解和想法,造成理解上的不一致性,导致工作重复性高,滞后项目进度。建议解决方法是项目组成员采用集中办公,分块学习,学习的成果马上向项目相关人员发布,再由配置管理员对其发布的文档进行整理、规类放入配置库以供大家共享。这样方便大家的互相学习,减少重复的工作。在这次开发中我们公司从管理人员、设计人员到开发人员都汲取了很多教训,同时经过此次项目的开发,小组成员也积累了丰富的面向对象的开发经验。

除设计选型,还有一个容易被忽视的问题,就是公共类开发。公共类开发可以减少工作中的重复工作,降低开发成本。这要求我们再设计阶段通过对用户需求的仔细研究,尽可能的识别出公共类,并进行定义指定专人负责设计通知其它设计人员,以减少重复工作。对于项目组提供的设计文档,由质保小组组织技术专家、项目组设计人员、开发人员和测试人员对其设计文档的评审,检测设计文档对其下一阶段工作的可行性,及时发现设计中可能存在的错误,降低项目开发风险,同时确保设计文档能为开发人员、测试人员提供切实的指导。对于可复用的设计进行提取作为公共库设计和开发,提供项目组或整个公司重用。最后交由配置管理员进行设计文档的版本控制。

c、实现

实现也就是代码的生产过程。这里不仅包括代码的产生,同时也包括测试用例的产生。针对上一阶段提供详细设计,程序员开始编码并且调试程序,测试人员则根据设计进行测试用例的设计,设计出来的用例需要得到项目组成员认可由项目经理审核通过才能进入配置库。同时程序员调试完程序提交测试人员进行程序正确性检测。

d、文档管理

文档维护主要是配置管理小组的工作。文档从用途上分主要分为内部文档和外部文档。

内部文档包括:项目开发计划;需求分析;体系结构设计说明;详细设计说明;构件索引;构件成分说明;构件接口及调用说明;组件索引;组件接口及调用说明;类索引;类属性及方法说明;测试报告;测试统计报告;质量监督报告;源代码;文档分类版本索引;软件安装打包文件。

外部文档主要包括:软件安装手册;软件操作手册;在线帮助;系统性能指标报告;系统操作索引。

如何保证文档的全面性,使其真正为项目的进度提供保证,又不因为文档的写作而耽误项目的进度,这仍然是一个比较难解决的问题。解决此问题,其核心仍然是个度的问题。在本项目的开发中,配置管理小组的一个非常重要的任务还是书写文档规范和文档模板。当有文档模板后需要书写文档的人员只剩下填空的工作,从某种意义上讲,书写文档的速度会加快。如果书写文档的人员认为文档的更细致的部分可以由他人帮助完成,则该文档即交由他人完成,但此时文档并不算被正式提交,当他人书写完毕之后,必须由文档的初写者进行复审,复审通过后方可以正式提交,进入软件配置管理的循环中。

配置管理小组真正核心的工作是对文档的组织管理。根据文档的不同,文档的来源也不同,有些是通过质量保证小组经过复审之后转交给配置管理小组,有些则会直接从文档的出处到达配置管理小组。文档的管理是一个非常烦琐的工作,但是长远来看它不仅使项目的开发对单个主要人员的依赖减少,从而减少人员流动给项目的带来的风险,更重要的是在项目进行到后百分之十的时候起到拉动项目的作用。

从以往做大项目的经验来看,写作文档在项目开发的早期可能会使项目的进度比起不写文档要稍慢,但随着项目的进展,各个部门需要配合越来越多,开发者越来越需要知道其他人员的开发思路和开发过程,才能使自己的开发向前推进。一个明显的例子就是系统整合,或者某些环节是建立在其他环节完成的基础之上时,就更显现出文档交流的准确性和高效性。

3、系统维护质量保证

在我们公司,维护小组的任务一方面是保证对项目客户的跟踪服务,另一方面是确保该项目其它的开发人员从项目中尽快的解脱出来以便投入到下一个项目的开发中。所以通常项目维护小组成员主要由项目组的少部分开发人员承担完成。他们不仅了解软件的核心内容,而且与客户也不陌生,以便能够以最快的速度修正错误。对于一般性的错误,如操作不当等引起的问题,全部由维护小组执行完成,但需要用户测试确认上线。如果较大的修改则需要走变更控制流程,用户或者维护人员填写变更申请,经专家会议讨论分析可行方案在由维护小组实施,通过测试后方可提交用户。

维护小组的人员基本上是按项目跟进的。当一个项目刚刚交付用户时,在维护小组有较多的人员进行跟进,随软件的稳定,跟进的人逐步减少,并转移到其它项目中去。

133.给出一个MVC结果图,请简单用文字对他进行一次前后台交互的描述。(这个图你去找啦)

14PowerDesigner

15项目经验

16三层结构的理解

zc530.COM编辑推荐

交行软件开发(IT类)校园招聘笔试经验


大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《交行软件开发(IT类)校园招聘笔试经验》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

在等待笔试结果,记得笔试前寻找交行的软件开发类岗位的笔经,发现没有太全滴或者是说根本没有,所以现在偶来为后人留点经验啦~求攒rp。

我报名的是软件开发中心北京分中心,软件开发岗位。考场名单上写的IT类。

由于本人大学就在沈阳,所以笔试也报名的沈阳,沈阳的笔试(机考)是在东北大学计算中心,1-2楼共6个考场,我在考前挨个考场溜一圈,看到一共就6个报名IT岗位的。

考试之前会现场拍照,然后根据座位号入座,准考证号登录系统,确认照片,然后等着考试啦,对了得到了一瓶矿泉水,还是不错的~~

开始一共两部分,第二部分是心里测试,按照你认为符合你到不符合你1-4排序,不用多想,按照第一想法排就行。

第一部分是干货,包括行测和计算机专业知识,一共是170道题,比其他职位的少。IT类的考试题和其他专业大部分是不一样的,只有少部分一样。

题有古诗词理解,阅读理解、行测的大部分知识和少部分金融知识(很少)。

然后就是计算机知识,包括计算机安全,c语言、编译原理、数据结构、操作系统、组成原理、unix/linux操作系统等等,计算机知识有的是用英语出的题,即考了英语也考了专业英语,很佩服这种方式。

至于网上说的时政、很多金融知识、英语(除计算机相关的英语)都没有见到。

就说这么多了,正在等待笔试结果,期待进入面试。

网易校园招聘运维工程师笔试题


网易是一个大公司,下面小编整理了网易校园招聘运维工程师笔试题,欢迎阅读!

1、绕一根不均匀的绳子,从头到尾总共需要1小时,现在有若干条相同材质的绳子,请你想一个办法,如何用绕绳的方法来计时1个小时15分钟呢?

2、请写出Linux下面和网络配置相关的命令和配置并简单说明每个功能?

3、mysql下面授权192.168.1.1.的a用户访问b库的c表,如何授权?

4、如何查看file1文件的第300-500行的内容?

5、简述TCP三次握手过程?

6、写一个脚本,该脚本能对标准的apache日志进行分析并统计出总的访问次数和每个访问ip的访问次数,按访问次数列出前5名?

7、简述raid0、raid1、raid5三种工作模式的工作原理以及特点?

8、列举三项你最拿手的计算机、Linux或互联网相关技术?

1、在网络传输数据时,经常需要将二进制数据转换为一个可打印字符串,一般用到的可打印字符集合包含64个字符,因此又称为Base64表示法,现有一个char数组长度为12,要将它表示为Base64字符串,请问Base64字符串至少需要几个char;如果char的长度为20,则需要几个char。

2、某部门年会的时候,有个环节叫做《国王和天使》,每个人将自己的名字写在纸条上并丢入盒子中,等所有人都完成该动作后,每个人再从盒子里拿出一张小纸条,上面的人物就是自己的国王,自己就是ta的天使,如果抽到自己,就再抽一遍,直到抽到别人为止,如果用有向图来表示他们之间的关系,那么以下结论错误的是?

1、最后的结果可能是存在多个联通分支

2、联通分支个数最多不超过人数的二分之一

3、最后的结果可能是存在多个强联通分支

4、可以用深度优先算法求得联通数

5、可以用双向链表存储其结构

6、遍历的复杂度是O(N)

3、假设支付宝红包口令支持1到6位的数字组合,即0,1,003和999999都是合法的红包口令,那么总共可以有多少个合法的红包口令?

4、假设某棵二叉查找树的所有键均为1到10的整数,现在我们要查找下面_是不可能是键的检查序列。

1、10,9,8,7,6,5

2、2,8,6,3,7,4,5

3、1,2,9,3,8,7,4,6,5

4、2,3,10,4,8,5

5、4,9,8,7,5

6、以上均正确

5、能整除1400的数目是__?

6、设二叉树节点的线序遍历,中序遍历与后序遍历,所有叶子节点的先后顺序__?

7、一个具有513个节点的二叉树,有_种可能的层高。

8、给定一个整数sum,从有N个无序元素的数组中寻找元素a,b,c,d,使得a+b+c+d=sum,最快的平均时间复杂度是_?

1、O(N^2)

2、O(logN)

3、O(N)

4、O(N^3)

5、O(N^2logN)

6、O(N^4)

9、如下SQL数据中,_可能返回null值。

1、selectcount(*)fromt1;//返回行的个数

2、selectmax(col1)fromt1;//返回列中的某个最大值

3、selectconcat(max=,maxof(col1))fromt1;//连接字符

10、函数lg(ax^2-8x+a-6)的值域为R,那么实数a的取值范围是_?

11、一台刚接入互联网的WEB服务器第一次被访问到时,不同协议的发生顺序是下面中的_?

1.ARP-DNS-HTTP

2.ARP-HTTP-DNS

3.DNS-HTTP-ARP

4.DNS-ARP-HTTP

5.HTTP-ARP-DNS

6.HTTP-DNS-ARP

12、以下程序运行结果?

#include

usingnamespacestd;

classcat{

intage;

public:

//构造函数

cat{age=1;}

//析构函数,类似于Java的finalize

~cat{}

//一个公共方法

voidmiao(void){

coutMiao,myage=

}

};

intmain(void){

catkitty;

int*p=(int*)(kitty);

*p=20;

kitty.miao;

return0;

}

测试工程师实习生岗位笔试题


大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《测试工程师实习生岗位笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

测试工程师:测试公司开发的各种软件(写测试计划、用例、执行、提交BUG),你知道了吗?小编提供一些测试工程师实习生岗位笔试题,希望对您有用。

第一题;简答题

1.externC的含义是什么,能解决什么问题?

2.写出至少两种经典的设计模式,阐明其使用场景,有伪代码更好。

3.TCP连接中time_wait状态是什么意思?说明其使用的场景,并指出它的好处和坏处分别是什么?

第二题:算法分析和设计题

1.有个任务定时器,每天要定时执行N个任务(N1000),其中有些任务的执行依赖于其他任务的执行,如A任务执行之后B任务才能执行,但这些任务之间不存在循环依赖。请用算法来说明任务的执行顺序,有伪代码更好。

2.编程求某一个英文文本中完整句子的数目,文本中只包含大小写字母、空格、,和.,完整的句子是指以.结束,且.号前必须出现至少一个字母。

第三题:系统设计题

设计一个系统,该系统记录用户的访问记录。每条记录包含访问的url、访问ip以及访问时间,系统每天至少要记录1000亿条记录,系统要对这些数据进行存储和维护,并提供实时的查询,至少满足下面两个查询:

1.给定任意一个时间段(精确到分)和URL,计算该时间段内访问这个url的访问量;

2.给定任意一个时间段(精确到分)和IP,计算该时间段内访问这个IP的访问量。

软件测试笔试题目


在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《软件测试笔试题目》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

题与答案尽供参考

一、判断题

1.软件测试的目的是尽可能多的找出软件的缺陷。(Y)

2.Beta测试是验收测试的一种。(Y)

3.验收测试是由最终用户来实施的。(N)

4.项目立项前测试人员不需要提交任何工件。(Y)

5.单元测试能发现约80%的软件缺陷。(Y)

6.代码评审是检查源代码是否达到模块设计的要求。(N)

7.自底向上集成需要测试员编写驱动程序。(Y)

8.负载测试是验证要检验的系统的能力最高能达到什么程度。(N)

9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(N)

10.代码评审员一般由测试员担任。(N)

11.我们可以人为的使得软件不存在配置问题。(N)

12.集成测试计划在需求分析阶段末提交。(N)

二、选折

1.软件验收测试的合格通过准则是:(ABCD)

A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

B.所有测试项没有残余一级、二级和三级错误。

C.立项审批表、需求分析文档、设计文档和编码实现一致。

D.验收测试工件齐全。

2.软件测试计划评审会需要哪些人员参加?(ABCD)

A.项目经理

B.SQA负责人

C.配置负责人

D.测试组

3.下列关于alpha测试的描述中正确的是:(AD)

A.alpha测试需要用户代表参加

B.alpha测试不需要用户代表参加

C.alpha测试是系统测试的一种

D.alpha测试是验收测试的一种

4.测试设计员的职责有:(BC)

A.制定测试计划

B.设计测试用例

C.设计测试过程、脚本

D.评估测试活动

5.软件实施活动的进入准则是:(ABC)

A.需求工件已经被基线化

B.详细设计工件已经被基线化

C.构架工件已经被基线化

D.项目阶段成果已经被基线化

三、添空

1.软件验收测试包括:正式验收测试,alpha测试,beta测试。

2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦)

3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。

4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。

5.(这题出的有问题哦,详细的5步骤为~~)通过画因果图来写测试用例的步骤为:

(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。

(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图。

(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。

(4)把因果图转换成判定表。

(5)把判定表的每一列拿出来作为依据,设计测试用例。

新浪网技术PHP工程师部笔试题目


大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《新浪网技术PHP工程师部笔试题目》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

一、php基础知识

1、strlen与mb_strlen的作用分别是什么

2、下列哪个函数是用正则表达式将字符串分割到数组中

A、Split

B、implode

C、explode

D、join

3、写出下列程序的输出结果

$x=87;

$y=($x%7)*16;

$z=$x$y?1:0;

echo$z;

?

4、写出smarty模板的特点

5、写出下列几个预定义全局变量的作用

$_SERVER['DOCUMENT_ROOT']

当前运行脚本所在的文档根目录。在服务器配置文件中定义。

$_SERVER['HTTP_HOST']

当前请求的Host:头部的内容

$_SERVER['REMOTE_ADDR']

正在浏览当前页面用户的IP地址

$_SERVER['HTTP_REFERER']

链接到当前页面的前一页面的URL地址

$_SERVER['SERVER_NAME']

当前运行脚本所在服务器主机的名称

$_FILES

包含有所有上传的文件信息。

$_FILES['userfile']['name']

客户端机器文件的原名称。

$_FILES['userfile']['type']

文件的MIME类型,如果浏览器提供此信息的话。一个例子是image/gif。不过此MIME类型在PHP端并不检查,因此不要想当然认为有这个值。

$_FILES['userfile']['size']

已上传文件的大小,单位为字节。

$_FILES['userfile']['tmp_name']

文件被上传后在服务端储存的临时文件名。

$_FILES['userfile']['error']

和该文件上传相关的错误代码。

6、include和require都能把另外一个文件包含到当前文件中,他们有什么区别?Include和include_once又有什么区别?

7、写出一个能创建多级目录的PHP函数

二、操作系统

1请解释下列10个shell命令的用途

top、ps、mv、find、df、cat、chmod、chgrp、grep、wc

2、写出下列服务的用途和默认端口

ftp、ssh、http、telnet、https

三、面向对象

1、写出php的public、protected、private三种访问控制模式的区别

2、写出下列程序的输出结果

classa{

protected$c;

publicfunction

a{

$this-c=10;

}

}

classbextendsa

{

publicfunctionprint_data{

return

$this-c;

}

}

$b=newb;

echo$b-print_data;

?

3、设计模式考察:请用单态设计模式方法设计类满足如下需求

请用PHP5代码编写类实现在每次对数据库连接的访问中都只能获得唯一的一个数据库连接,具体连接数据库的详细代码忽略,请写出主要逻辑代码

四、数据库

1、写出下面2个PHP操作Mysql函数的作用和区别

mysql_num_rows

mysql_affected_rows

2、sql语句应该考虑哪些安全性?

3、简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)

五、系统分析

假设有一个博客系统,数据库存储采用mysql,用户数量为1000万,预计文章总数为10亿,每天有至少10万的更新量,每天访问量为5000万,对数据库的读写操作的比例超过10:1,你如何设计该系统,以确保其系统高效,稳定的运行?

提示:可以从数据库设计,系统框架,及网络架构方面进行描述,可以自由发挥

Java工程师三大框架面试题


面试频道提供最新Java工程师面试题,并提供Java工程师三大框架面试题供大家参考,查找Java工程师面试题及相关面试题目上!

1.Hibernate3提供了属性的延迟加载功能当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。

2.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)

类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many

3.JSF是什么?

JavaServerFace是基于组件的web开发框架,跟sturts差不多的框架

4.数据库里面的索引和约束是什么?

索引是为了提高数据的检索速度,索引是建立在数据表上,根据一个或多个字段建立的约束是为了保持数据的完整性,约束有非空约束,主键约束,外键约束等等。

5.Hibernate工作原理及为什么要用?

原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Session4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭SesstionFactory

为什么要用:1.对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。2.Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作3.hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。4.hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。

6.Hibernate是如何延迟加载?

1.Hibernate2延迟加载实现:a)实体对象b)集合(Collection)

7.Struts1流程:

1、客户端浏览器发出HTTP请求。2、根据web.xml配置,该请求被ActionServlet接收。3、根据struts-config.xml配置,ActionServlet先将请求中的参数填充到ActionForm中,然后ActionServlet再将请求发送到Action进行处理。4、是否验证,需要验证则调用ActionForm的validate方法,验证失败则跳转到input,成功则继续。5、Action从ActionForm获得数据,调用javabean中的业务方法处理数据。6、Action返回ActionForward对象,跳转到相应JSP页面或Action。7、返回HTTP响应到客户端浏览器。

MVC设计模式:modal:模型也称业务逻辑,是正真完成任务的代码,相当与JavaBeanview:视图,其实就是显示界面,相当于JSPcontroller:控制器,他控制模型和视图的交互过程,相当于servletstruts1是基于MVC设计模式hibernate是基于ORM对象关系映射

8.struts是什么?

struts1是基于JSP和servlet的一个开源的Web应用框架,使用的是MVC的设计模式struts2是基于webwork技术的框架,是sun和webwork公司联手开发的一个功能非常齐全的框架,struts2和struts1没有任何关系,是一个全新的框架

9.spring是什么?

spring是一个集成了许多第三方框架的大杂烩,其核心技术是IOC(控制反转,也称依赖注入)和AOP(面向切面编程)

10.hibernate是什么?

hibernate是基于ORM对象关系映射(完成对象数据到关系数据映射的机制)实现的,做数据持久化的工具

11.spring是什么

这个问题,往往可以通过我们为什么要使用spring这个问题来切入:AOP让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用AOP后,公共服务(比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。IOC允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词倒置所表明的,IOC就像反过来的JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straightconstruction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。Spring即使一个AOP框架,也是一IOC容器。Spring最好的地方是它有助于您替换对象。有了Spring,只要用JavaBean属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。

12.用自己的话简要阐述struts2的执行流程。

Struts2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。

Struts2的工作流程相对于Struts1要简单,与WebWork框架基本相同,所以说Struts2是WebWork的升级版本。基本简要流程如下:1、客户端浏览器发出HTTP请求。2、根据web.xml配置,该请求被FilterDispatcher接收。3、根据struts.xml配置,找到需要调用的Action类和方法,并通过IoC方式,将值注入给Aciton。4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。6、返回HTTP响应到客户端浏览器。

java软件工程师面试自我介绍范文


大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《java软件工程师面试自我介绍范文》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

java软件工程师面试自我介绍范文一:

我叫XXX,今年21岁,毕业于XX解放军信息工程大学计算机科学与技术专业,拥有扎实的Core Java基础,良好的编程风格;熟悉JSP+Servlet+JavaBean模式的WEB开发;熟悉Struts,Hibernate,Spring等开源框架,了解EJB; 熟悉Tomcat,Jboss服务器等,熟悉基于Linux及Unix环境下的软件开发。

在校期间有多次社会实践经历,曾参与过学院网上虚拟实验室开发的需求分析,大学期间多次担任多课程的课代表。虽然实际工作经验不是很足,但军校四年培养了我充分的自信心和敬业精神以及扎实的学科基础知识和较强的专业技能,四年军校生活中,我严格要求自己,自觉、遵纪、守时。本人坦诚且有责任心,有独立进取的品性,勤于动手、善于动脑,适应新环境能力很强。能在最短时间内完成从学生到职业工作人员的转型,尽自己最大的努力融入新的工作生活。

请各位考官多多指教,谢谢!

java软件工程师面试自我介绍范文二:

我叫xxx,今年21岁,湖北黄冈人,于2012,6月毕业于武汉职业技术学院。

学习的专业是 软件技术,主要学习的java方向的企业级应用开发和管理。

之前在武汉锁软件科技有限公司实习,毕业后在该公司担任java 程序员一职,主要从事java项目相关模块的开发,能熟练使用Java技术,熟悉Jsp,Servlet,Jdbc,和常用框架spring,Struts,Hibernate及前端技术:jS,jquery,和数据库ORACLE,Sqlserver.对Exitjs和UML有一定基础。

我的个人计划是:在5年之内从事java开发工作,积累行业经验和技术以及人脉。并且自学英语,考个英语等级证,我相信只要我想做到的,就一定会做到。

来到上海这边,我希望找个好工作,希望贵公司能给我一个展现自身能力的机会,介绍完毕,谢谢!

美的笔试题目


在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《美的笔试题目》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

美的笔试,分A/B卷不分管理、财务、技术,只分A/B卷。试卷内容上虽然不分,但他们会让你注明是哪个类型的,毕竟三个类型参考的标准和方面都不一样。30分钟--20道选择题,5道填空题,1道分析问答题,时间比较紧,除非速度特别快,否则一般都作不完。

1、选择题:跟公务员行政能力测试几乎一模一样,可谓公务员行政能力测试的精简版,有文字逻辑推理题,阅读理解题,图形推理题,出乎意料的是没有数字题,所以那张草稿纸我连用都没用过--事实上,也没时间用。最后有一道题很狠,是一道推理题,有五个问题联系在一起,这种题目最麻烦,要嘛看完题后一个一个做,这样比较费时间,要嘛只能五个全不做,这样对分数又极其不利,两边难做人,只能看自己衡量了。我是跳过去先做了后面的填空题和分析题,后来再回来想做已经没时间了,乱填了几个上去的。现在想来这个策略还是比较好的,毕竟后来的填空题比较容易,且占的分数比较更大些。

2、填空题:这部分倒是比较简单,有两道是给出一个物件(记得第一个是回形钩)并给出三四种用途,要你再写出一种用途,或是给出一个情景(有一个是进入教室后黑板上写着不用上课的情景),同样给出几个原因,让你再说一个原因。最后一个是关于美的集团的标志的,要你把美的标志跟彩虹联系起来,进行联想作出比喻,原题中已经从形状、颜色两个方面作出比喻,要求你再写出一个比喻。整体上,这部分不是很难,只要反应快一些,抓紧时间都没有什么问题。

3、分析问答题:给出一段文字,大概是讲学校为了提高大学课堂的听课率,迫使学生多去上课,推行一个上课打卡制度,正反双方分别从自己的的角度论述了赞成与反对的原因云云。问问题时类似公务员的申论题,第一问问态度:赞成还是反对;第二问问总结:在你的表明态度后你觉得问题的症结在哪里;第三问问细节:问题症结的展开论述。这个情景其实比较简单,而且跟学生生活很贴近,按理说,稍微思考过后都可以答的合情合理,只是一般到了这个地方,时间都所剩无几,没有什么思考的时间,我也是快速浏览后来不及思考更多就写了几点上去,还没写完时间就到了,无奈试卷给收回去了。明天一面,应该小组无领导讨论,好好准备下吧!

最后,对美的这种选人方式做个简单评价:其实美的这种选择方式也挺好的,很多公司都是先笔试,笔试过了再给面试机会,这样一些笔试能力比较差或准备不足而实际表现能力又比较好的人就被筛掉了,可美的采取的做法是:既让你笔试同时也把一面的机会给你,这种可以综合两个方面的表现来确定人选,当然,这建立在他们已经通过性格测试的方式进行了第一轮筛选的基础上,另外,他们具体的操作和标准我不清楚,但如果但从形式上理解,在人力物力财力允许的情况下,这种方式无疑可具有合理性--这是值得肯定的。无论如何,先争取进了再说,加油!!

PHP笔试题


大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《PHP笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

1.写出如下程序的输出结果

$str1=null;

$str2=false;

echo$str1==$str2?相等:不相等;

//相等

$str3=;

$str4=0;

echo$str3==$str4?相等:不相等;

//相等

$str5=0;

$str6=0;

echo$str5===$str6?相等:不相等;

//不相等

?

2.写出如下程序的输出结果

$a1=null;

$a2=false;

$a3=0;

$a4=;

$a5=0;

$a6=null;

$a7=array;

$a8=array(array);

echoempty($a1)?true:false;//true

echoempty($a2)?true:false;//true

echoempty($a3)?true:false;//true

echoempty($a4)?true:false;//true

echoempty($a5)?true:false;//true

echoempty($a6)?true:false;//false

echoempty($a7)?true:false;//true

echoempty($a8)?true:false;//false

?

3.写出如下程序的输出结果

$test=aaaaaa;

$abc=$test;

unset($test);

echo$abc;//aaaaaa

?

4.写出如下程序的输出结果

functionget_count{

static$count=0;

return$count++;

}

echo$count;//5

++$count;

echoget_count;//0

echoget_count;//1

?

5.写出如下程序的输出结果

$GLOBALS[var1]=5;

$var2=1;

functionget_value{

global$var2;

$var1=0;

return$var2++;

}

get_value;

echo$var1;//0

echo$var2;//2

?

6.写出如下程序的输出结果

functionget_arr($arr){

unset($arr[0]);

}

$arr1=array(1,2);

$arr2=array(1,2);

get_arr($arr1);

get_arr($arr2);

echocount($arr1);//1

echocount($arr2);//2

?

腾讯技术综合笔试题


大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《腾讯技术综合笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

腾讯是我们都知道的大公司,下面小编整理了腾讯技术综合笔试题,欢迎阅读!

题型解析:

考试时间60分钟,整张试卷分四大部分。

第一部分数据分析,整个部分分为三个大题,每个大题5个小题,不难,图表计算。

第二部分逻辑推理,普通的行测题,一共有10道选择。难易程度跟公务员的差不多。

第三部分阅读理解,15道选择。也是行测类型的,读一段话,做选择。

前三个部分都是单选,一共40题。

第四部分论述题,最后论述2道大题。(这部分不算分数,对面试有好处)

论述题:

2013年广州腾讯产品实习笔试

第一题是如果微信添加一个功能删除一个功能,你会怎么做?(可见腾讯论述题很注重腾讯产品的考察)

第二题是现在电子商务创业很流行,如果有以下电商创业,你会选哪一种:服装,虚拟产品,生活服务类。

第三道题,如果你是一个乳制品的公关经理,315曝光你们产品有问题,设计一个24小时公关方案,以挽回公司损失。(这个题目我在之前笔试看到过,是宝洁SKII事件,写新闻发言稿,所以大家可以注意一下公关知识)

第四道题,腾讯给你5000元公益资金帮扶特殊群体,设计一个校园公益项目方案。

2013-10-13北京站产品笔试

附加题一:是用互联网思维改造传统行业,写一个策划方案什么的,举了嘀嘀打车的例子。

附加题二是:题目背景是国务院批复了一个文件《前海深港现代服务业合作区总体发展XXX》,然后问你采取何种措施吸引优秀人才的加入,以便支撑入驻企业的发展

题目

刚下班的小明接到了远在江西吉安的老爸的电话,他这个月刚学会用电脑,今天终于托人帮忙装了台新电脑,并办好了上网,他问小明现在用电脑和上网都能玩些啥。假如你是小明,需要在最短的时间内满足老爸的需求,你会怎么做?(腾讯-2013)

题目分析

本题考查点:需求管理、产品设计。

本题旨在考查应聘者对于需求的理解与把握,以及在需求分析的基础上处理需求,服务用户的能力。同时,回答的时候要尽量落地,例如题目中指出远在江西吉安,所以你无法面对面指导老爸使用电脑,如果你仅仅只是用电话去告诉老爸如何使用电脑,这对于老爸而言是不好的体验。

2.回答策略

本题的解决思路如下:

构建爸爸(用户)的用户画像。

结合场景做需求分析。

产品设计(本题中专指装机策略)。

产品落地。

3.详细解答

(1)爸爸的用户画像

46岁中年男子。

正值壮年,辛勤工作,在专业领域是专家,但对于新兴科技却不甚了解。

商务人士,追求办公效率,会积累行业资讯,工作沟通主要通过邮件与电话。

闲时的消遣方式是看电影、看书、古玩及其他。偶尔会在网上购物。

需求分析及具体的装机策略以用户画像为依托。每位答题者可以列出自己心中不同的用户画像,言之有理即可。

(2)需求管理

1.结合场景做需求分析

在明确了目标用户画像后,我们便可针对目标用户特点有的放矢,对目标用户进行需求挖掘。需求挖掘的方式有问卷、访谈、焦点小组等。

在本题中需求有四个来源:调研用户、竞品参考、数据分析和自己拍脑袋。

直接和爸爸谈:比较喜欢做什么?为什么?(很明显,爸爸可能会遗漏、忘记很多自己的需求)

多问几个中年人:其他中年人还有什么需求?有什么是爸爸忘了的?

查看网上资料:有没有相关的研究资料,比如老年人上网产品大全之类的。

自己拍脑袋:什么类型的产品,适合老人家呢?

华为上机笔试题


大学生毕业后面临的第一件事情肯定就是面试求职了,那么相应的求职技巧就很重要。感谢阅读《华为上机笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

1.输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50

参考代码:

#include

main

{

intnum[50]={0};

inti,n;

printf(请输入整型数组的长度(1~50):);

scanf(%d,n);

printf(请输入整型数组的元素:);

for(i=0;i

{

scanf(%d,num[i]);

}

intmin_num=num[0];

intmax_num=num[0];

for(intj=0;j

{

if(max_num

max_num=num[j];

elseif(min_numnum[j])

min_num=num[j];

}

intsum=min_num+max_num;

printf(数组中最大与最小值之和:%d/n,sum);

return0;

}

2.求两个长长整型的数据的和并输出,例如输入1233333333333333。。。3111111111111111111111111.。。。,则输出。。。。

#include

#include

#include

main

{

char*num1,*num2;//两个长长整型数据

char*sum;

//inttemp;

intlen_num1,len_num2;//两个长长整型数据的长度

intlen_max,len_min;

num1=(char*)malloc(sizeof(char));

num2=(char*)malloc(sizeof(char));

printf(输入两个长长整型数据:);

scanf(%s,num1);

printf(输入两个长长整型数据:);

scanf(%s,num2);

len_num1=strlen(num1);

len_num2=strlen(num2);

len_max=(len_num1=len_num2)?len_num1:len_num2;

len_min=(len_num1=len_num2)?len_num1:len_num2;

intlen_max1=len_max;

sum=(char*)malloc(sizeof(char)*len_max);

memset(sum,000,len_max+1);//切忌初始化

for(;len_num10len_num20;len_num1,len_num2)

{

sum[len_max--]=((num1[len_num1-1]-0)+(num2[len_num2-1]-0));

}

if(len_num10)

{

sum[len_max--]=num1[len_num1-1]-0;

len_num1;

}

if(len_num20)

{

sum[len_max--]=num1[len_num2-1]-0;

len_num2;

}

for(intj=len_max1;j=0;j)//实现进位操作

{

//temp=sum[j]-0;

if(sum[j]=10)

{

sum[j-1]+=sum[j]/10;

sum[j]%=10;

}

}

char*outsum=(char*)malloc(sizeof(char)*len_max1);

j=0;

while(sum[j]==0)//跳出头部0元素

j++;

for(intm=0;m

outsum[m]=sum[j]+0;

outsum[m]=/0;

printf(输出两长长整型数据之和:%s/n,outsum);

return0;

}

3.通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。

比如字符串abacacde过滤结果为abcde。

要求实现函数:

voidstringFilter(constchar*pInputStr,longlInputLen,char*pOutputStr);

【输入】pInputStr:输入字符串

lInputLen:输入字符串长度

【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;

参考代码:

#include

#include

#include

voidstringFilter(constchar*p_str,longlen,char*p_outstr)

{

intarray[256]={0};

constchar*tmp=p_str;

for(intj=0;j

{

if(array[tmp[j]]==0)

*p_outstr++=tmp[j];

array[tmp[j]]++;

}

*p_outstr=/0;

}

voidmain

{

char*str=cccddecc;

intlen=strlen(str);

char*outstr=(char*)malloc(len*sizeof(char));

stringFilter(str,len,outstr);

printf(%s/n,outstr);

free(outstr);

outstr=NULL;

}

5.通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。

输入字符串的格式为:操作数1运算符操作数2,操作数与运算符之间以一个空格隔开。

补充说明:

1.操作数为正整数,不需要考虑计算结果溢出的情况。

2.若输入算式格式错误,输出结果为0。

要求实现函数:

voidarithmetic(constchar*pInputStr,longlInputLen,char*pOutputStr);

【输入】pInputStr:输入字符串

lInputLen:输入字符串长度

【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;

#include

#include

#include

voidarithmetic(constchar*input,longlen,char*output)

{

chars1[10];

chars2[10];

chars3[10];

intcnt=0;

intlen_input=strlen(input);

for(inti=0;i

{

if(input[i]==)

cnt++;

}

if(cnt!=2)

{

*output++=0;

*output=/0;

return;

}

sscanf(input,%s%s%s,s1,s2,s3);

if(strlen(s2)!=1||(s2[0]!=+'s2[0]!=-'))

{

*output++=0;

*output=/0;

return;

}

intlen_s1=strlen(s1);

for(i=0;i

{

if(s1[i]0||s1[i]9)

{

*output++=0;

*output=/0;

return;

}

}

intlen_s3=strlen(s3);

for(i=0;i

{

if(s3[i]0||s3[i]9)

{

*output++=0;

*output=/0;

return;

}

}

intx=atoi(s1);

inty=atoi(s3);

if(s2[0]==+')

{

intresult=x+y;

itoa(result,output,10);

}

elseif(s2[0]==-')

{

intresult=x-y;

itoa(result,output,10);

}

else

{

*output++=0;

*output=/0;

return;

}

}

voidmain

{

charstr[]={1023};

charoutstr[10];

intlen=strlen(str);

arithmetic(str,len,outstr);

printf(%s/n,str);

printf(%s/n,outstr);

}

6.一组人(n个),围成一圈,从某人开始数到第三个的人出列,再接着从下一个人开始数,最终输出最终出列的人

(约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。)

#include

#include

#include

#include

typedefstructNode

{

intdata;

structNode*next;

}LinkList;

LinkList*create(intn)

{

LinkList*p,*q,*head;

inti=1;

p=(LinkList*)malloc(sizeof(LinkList));

p-data=i;

head=p;

for(i=1;i=n;i++)

{

q=(LinkList*)malloc(sizeof(LinkList));

q-data=i+1;

p-next=q;

p=q;

}

p-next=head;//使链表尾连接链表头,形成循环链表

returnhead;

free(p);

p=NULL;

free(q);

q=NULL;

}

voiddeletefun(LinkList*L,intm)

{

LinkList*p,*q,*temp;

inti;

p=L;

while(p-next!=p)

{

for(i=1;i

{

q=p;

p=p-next;

}

printf(%5d,p-data);

temp=p;

q-next=p-next;

p=p-next;

free(temp);

}

printf(%5d/n,p-data);

}

intmain

{

intn=7,m=3;

LinkList*head1;

head1=create(n);

deletefun(head1,m);

return0;

}

7..输入一串字符,只包含0-10和,找出其中最小的数字和最大的数字(可能不止一个),输出最后剩余数字个数。如输入3,3,4,5,6,7,7

#include

#include

#include

voidmain

{

charstr[100];

printf(输入一组字符串:/n);

scanf(%s,str);

intlen=strlen(str);

intarray[100];

intcount=0;

for(inti=0;i

{

if(str[i]=0str[i]=9)

array[count++]=str[i]-0;

}

array[count]=/0;

intresult=count;

intmin=array[0];

intmax=array[0];

for(intj=0;j

{

if(max

max=array[j];

elseif(minarray[j])

min=array[j];

}

for(intk=0;k

{

if(array[k]==min)

result;

if(array[k]==max)

result;

}

printf(%d/n,result);

}

8.输入一组身高在170到190之间(5个身高),比较身高差,选出身高差最小的两个身高;若身高差相同,选平均身高高的那两个身高;从小到大输出;

如输入170181173186190输出170173

#include

#include

#defineN5

intmain

{

intHeight[N];

intdmin;

intH1,H2;

inti,j,temp;

printf(请输入一组身高在170到190之间的数据(共5个):/n);

for(intk=0;k

scanf(%d,Height[k]);

printf(/n);

for(i=0;i

for(j=1;jHeight[j];j++)

{

temp=Height[j-1];

Height[j-1]=Height[j];

Height[j]=temp;

}

H1=Height[0];

H2=Height[1];

dmin=H2-H1;

for(intm=2;m

{

if(Height[m]-Height[m-1]=dmin)

{

H1=Height[m-1];

H2=Height[m];

dmin=Height[m]-Height[m-1];

}

}

printf(身高差最小的两个身高为:/n);

printf(%d,%d/n,H1,H2);

return0;

}

9.删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数。

#include

#include

#include

#include

intdelete_sub_str(constchar*str,constchar*sub_str,char*result)

{

assert(str!=NULLsub_str!=NULL);

constchar*p,*q;

char*t,*temp;

p=str;

q=sub_str;

t=result;

intn,count=0;

n=strlen(q);

temp=(char*)malloc(n+1);

memset(temp,000,n+1);

while(*p)

{

memcpy(temp,p,n);

if(strcmp(temp,q)==0)

{

count++;

memset(temp,000,n+1);

p=p+n;

}

else

{

*t=*p;

p++;

t++;

memset(temp,000,n+1);

}

}

free(temp);

returncount;

}

voidmain

{

chars[100]={/0};

intnum=delete_sub_str(123abc12de234fg1hi34j123k,123,s);

printf(Thenumberofsub_stris%d/r/n,num);

printf(Theresultstringis%s/r/n,s);

}

10.要求编程实现上述高精度的十进制加法。要求实现函数:

voidadd(constchar*num1,constchar*num2,char*result)

【输入】num1:字符串形式操作数1,如果操作数为负,则num1[0]为符号位-

num2:字符串形式操作数2,如果操作数为负,则num2[0]为符号位-

【输出】result:保存加法计算结果字符串,如果结果为负,则result[0]为符号位。

#include

#include

#include

voidmove(char*str,intlength)//移除字母前的-符号

{

if(str[0]!=-)

return;

inti;

for(i=0;ilength-1;i++)

str[i]=str[i+1];

str[i]=/0;

}

intremove_zero(char*result,intlength)

{

intcount=0;

for(inti=length-1;i0;i)//从最后开始移除0,直到遇到非0数字,只对最初位置上的0不予判断

{

if(result[i]==0)

{

result[i]=/0;

count++;

}else

returnlength-count;

}

returnlengthcount;

}

voidreverse(char*result,intlength)//将字符串倒转

{

chartemp;

for(inti=0;i=(length-1)/2;i++)

{

temp=result[i];

result[i]=result[length-1-i];

result[length-1-i]=temp;

}

}

intreal_add(char*str1,char*str2,char*result,constboolflag)

{

intlen1=strlen(str1);

intlen2=strlen(str2);

intn1,n2,another=0;//another表示进位

intcur_rs=0;//表示result的当前位数

inti,j;

intcurSum;

for(i=len1-1,j=len2-1;i=0j=0;i,j)

{

n1=str1[i]0;

n2=str2[j]0;

curSum=n1+n2+another;

result[cur_rs++]=curSum%10+0;

another=curSum/10;

}

if(j0)

{

while(i=0)//遍历str1剩余各位

{

n1=str1[i--]0;

curSum=n1+another;

result[cur_rs++]=curSum%10+0;

another=curSum/10;

}

if(another!=0)//如果还有进位未加上

result[cur_rs++]=another+0;

}

else

{

while(j=0)

{

n2=str2[j--]0;

curSum=n2+another;

result[cur_rs++]=curSum%10+0;

another=curSum/10;

}

if(another!=0)

result[cur_rs++]=another+0;

}

result[cur_rs]=/0;

cur_rs=remove_zero(result,cur_rs);

if(!flag)

{

result[cur_rs++]=-;

result[cur_rs]=/0;

}

reverse(result,strlen(result));

returncur_rs;

}

intreal_minus(char*str1,char*str2,char*result)//使用str1减去str2

{

charbig[100],small[100];

intbig_len,sml_len;

intlen1=strlen(str1);

intlen2=strlen(str2);

boolflag=false;//用于标记str2是否比str1大

if(len1len2)

flag=true;

elseif(len1==len2)

{

if(strcmp(str1,str2)==0)

{

result[0]=0;

result[1]=/0;

return1;

}elseif(strcmp(str1,str2)0)

flag=true;

}

if(flag)//将str1和str2交换,确保str1指向的值是其中较大者,最后通过flag确定要不要给前面加-号

{

char*temp=str1;

str1=str2;

str2=temp;

len1=strlen(str1);

len2=strlen(str2);

}

intn1,n2,another=0;//another表示是否有借位

inti,j;

intcur_rs=0;

intcurMinus;

for(i=len1-1,j=len2-1;i=0j=0;i,j)

{

n1=str1[i]0;

n2=str2[j]0;

if(n1=n2+another)

{

result[cur_rs++]=(n1-n2-another)+0;

another=0;

}

else

{

result[cur_rs++]=(n1+10-n2-another)+0;

another=1;

}

}

while(i=0)

{

n1=str1[i--]0;

if(another!=0)

{

n1-=another;

another=0;

}

result[cur_rs++]=n1+0;

}

result[cur_rs]=/0;

cur_rs=remove_zero(result,cur_rs);

if(flag)

{

result[cur_rs++]=-;

result[cur_rs]=/0;

}

reverse(result,cur_rs);

returncur_rs;

}

voidaddi(constchar*num1,constchar*num2,char*result)

{

intlen1=strlen(num1);

intlen2=strlen(num2);

intrs_len;

if(!len1||!len2)

return;

charstr1[100],str2[100];

strncpy(str1,num1,len1);

str1[len1]=/0;

strncpy(str2,num2,len2);

str2[len2]=/0;

if(str1[0]==-str2[0]==-)

{

move(str1,len1);

move(str2,len2);

rs_len=real_add(str1,str2,result,false);

}elseif(str1[0]==-)

{

move(str1,len1);

rs_len=real_minus(str2,str1,result);

}

elseif(str2[0]==-)

{

move(str2,len2);

rs_len=real_minus(str1,str2,result);

}else

rs_len=real_add(str1,str2,result,true);

}

//intmain(intargc,char*argv[])

intmain

{

charnum1[100],num2[100];

printf(请输入两个整型数据:/n);

scanf(%s%s,num1,num2);

charresult[100];

memset(result,0,100);

addi(num1,num2,result);

printf(%s/n,result);

return0;

}

11.描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:

(1)及格线是10的倍数;

(2)保证至少有60%的学生及格;

(3)如果所有的学生都高于60分,则及格线为60分

输入:输入10个整数,取值0~100

输出:输出及格线,10的倍数

#include

voidbubblesort(intarr[])

{

inti,j,temp;

for(i=0;i10;i++)

for(j=0;j9-iarr[j]arr[j+1];j++)

{

temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

intGetPassLine(inta[])

{

bubblesort(a);

if(a[0]=60)

return60;

else

return(((int)a[4]/10)*10);

}

main

{

inta[10]={0};

intresult;

printf(请随机输入10个成绩(0-100):/n);

scanf(%d%d%d%d%d%d%d%d%d%d,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);

printf(/n);

result=GetPassLine(a);

printf(及格线为:%d/n,result);

return1;

}

12.描述:一条长廊里依次装有n(1n65535)盏电灯,从头到尾编号1、2、3、n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。

有n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。n个学生按此规定走完后,长廊里电灯有几盏亮着。注:电灯数和学生数一致。

输入:电灯的数量

输出:亮着的电灯数量

样例输入:3

样例输出:1

#include

#defineMax_Bubl_Num65535

intGetLightLampNum(intn)

{

intBublNum[Max_Bubl_Num]={0};//0表示灯灭,1表示灯亮

unsignedinti,j;

unsignedintcount=0;

for(i=1;i=n;i++)

for(j=i;j=nj%i==0;j++)

{

BublNum[j-1]+=1;

BublNum[j-1]=BublNum[j-1]%2;

}

for(intk=0;k

{

if(BublNum[k]==1)

count++;

}

returncount;

}

intmain

{

intn,result;

printf(请输入灯的数量(1-65535):/n);

scanf(%d,n);

result=GetLightLampNum(n);

printf(最后亮灯的数量为:%d/n,result);

return0;

}

13.描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的。经过的站点名分别如下,两条线交叉的换乘点用T1、T2表示。编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次)。

地铁线A(环线)经过车站:A1A2A3A4A5A6A7A8A9T1A10A11A12A13T2A14A15A16A17A18

地铁线B(直线)经过车站:B1B2B3B4B5T1B6B7B8B9B10T2B11B12B13B14B15

输入:输入两个不同的站名

输出:输出最少经过的站数,含输入的起点和终点,换乘站点只计算一次

输入样例:A1A3

输出样例:3

#include

#include

#include

#include

usingnamespacestd;

#defineMAX35

#defineSUBWAY_A20

#defineSUBWAY_B15

typedefstructnode{

intadjvex;

structnode*next;

}edgenode;

typedefstruct{

charname[10];

boolflag;

edgenode*link;

}vexnode;

constcharsubway_name1[SUBWAY_A][10]={A1,A2,A3,A4,A5,A6,A7,A8,A9,T1,A10,A11,A12,A13,T2,A14,A15,A16,A17,A18};

constcharsubway_name2[SUBWAY_B][10]={B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15};

voidcreat(vexnodega[]){

inti;

edgenode*p;

for(i=0;i

ga[i].link=NULL;

ga[i].flag=true;

if(i

elsestrcpy(ga[i].name,subway_name2[i-20]);

}

//A地铁建邻接表

for(i=1;i

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=i-1;

p-next=NULL;

ga[i].link=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=i+1;

p-next=NULL;

ga[i].link-next=p;

if(i==9){

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+4;

p-next=NULL;

ga[i].link-next-next=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+5;

p-next=NULL;

ga[i].link-next-next-next=p;

}

elseif(i==14){

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+9;

p-next=NULL;

ga[i].link-next-next=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+10;

p-next=NULL;

ga[i].link-next-next-next=p;

}

}

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A-1;

p-next=NULL;

ga[0].link=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=1;

p-next=NULL;

ga[0].link-next=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A-2;

p-next=NULL;

ga[SUBWAY_A-1].link=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=0;

p-next=NULL;

ga[SUBWAY_A-1].link-next=p;

//B地铁建邻接表

for(i=1;i

if(i==4||i==5||i==9||i==10)continue;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+i-1;

p-next=NULL;

ga[i+SUBWAY_A].link=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+i+1;

p-next=NULL;

ga[i+SUBWAY_A].link-next=p;

}

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+3;

p-next=NULL;

ga[SUBWAY_A+4].link=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=9;

p-next=NULL;

ga[SUBWAY_A+4].link-next=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=9;

p-next=NULL;

ga[SUBWAY_A+5].link=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+6;

p-next=NULL;

ga[SUBWAY_A+5].link-next=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+8;

p-next=NULL;

ga[SUBWAY_A+9].link=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=14;

p-next=NULL;

ga[SUBWAY_A+9].link-next=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=14;

p-next=NULL;

ga[SUBWAY_A+10].link=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+11;

p-next=NULL;

ga[SUBWAY_A+10].link-next=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+1;

p-next=NULL;

ga[SUBWAY_A].link=p;

p=(edgenode*)malloc(sizeof(edgenode));

p-adjvex=SUBWAY_A+SUBWAY_B-2;

p-next=NULL;

ga[SUBWAY_A+SUBWAY_B-1].link=p;

//打印各邻接节点

for(i=0;i

printf(%s:,ga[i].name);

edgenode*s;

s=ga[i].link;

while(s!=NULL){

printf(-%s,ga[s-adjvex].name);

s=s-next;

}

printf(/n);

}

}

intmain{

vexnodega[MAX];

creat(ga);

inti;

charstr[2][10];

while(scanf(%s%s,str[0],str[1])!=EOF){

inttemp=0;

for(i=0;i

ga[i].flag=true;

if(!strcmp(str[0],ga[i].name))temp=i;

}

queueq;

q.push(ga[temp]);

ga[temp].flag=false;

intcount=0;

intstart=0;

intend=1;

boolfind_flag=false;

while(!q.empty){

if(find_flag)break;

count++;

printf(************************/n);

printf(第%d层搜索:,count);

inttemp_end=end;

while(start

printf(%s,q.front.name);

if(!strcmp(q.front.name,str[1])){

find_flag=true;

break;

}

edgenode*s;

s=q.front.link;

while(s!=NULL){

if(ga[s-adjvex].flag){

q.push(ga[s-adjvex]);

ga[s-adjvex].flag=false;

end++;

//printf(%s,ga[s-adjvex].name);

}

s=s-next;

}

q.pop;

start++;

}

printf(/n);

}

printf(%d/n,count);

}

return0;

}

PHP经典笔试题


在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《PHP经典笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

1请说明PHP中传值与传引用的区别。什么时候传值什么时候传引用?

答:传值只是把某一个变量的值传给了另一个变量,而引用则说明两者指向了同一个地方。

2在PHP中error_reporting这个函数有什么作用?

答:Theerror_reportingfunctionsetstheerror_reportingdirectiveatruntime.PHPhasmanylevelsoferrors,usingthisfunctionsetsthatlevelfortheduration(runtime)ofyourscript.

3请用正则表达式(RegularExpression)写一个函数验证电子邮件的格式是否正确。

答:

php

if(isset($_POST['action'])

$_POST['action']==submitted)

{

$email=$_POST['email'];

if(!preg_match(/^(?:w+.?)*w+@(?:w+.?)*w+$/,$email))

{

echo

电子邮件检测失败;

}

else

{

echo

电子邮件检测成功;

}

}

else

{

?

《一套软件开发工程师笔试题》由编辑撰写而成,内容素材主要来源于网络,希望在您求职技巧过程中能帮到您!我们把大量的“个人简历一套”内容汇集于专题再现给您,希望您喜欢!

相关文章

最新更新