第一篇:软件工程师笔试题目
姓名:
一、问答题
1、头文件中的 ifndef/define/endif 干什么用?
2、#include
3、在C语言中,修改符volatile的含义是什么?举例说明其使用场合。
4、在C语言中,static函数与普通函数有什么区别?
5、什么是中断?如果要防止中断嵌套,可以采用什么方法?
6、静态局部变量和普通局部变量有什么区别?
7、堆和栈的区别是?
二、编程题
请实现内存复制函数 void memcpy(void *dst,const void * src,int size);
三、阅读题
1、C++可以采用动态内存分配在运行时为指针分配内存。下面()对一个100个元素的动态数组进行动态内存分配和释放;()对一个单独的int指针分配和释放内存。
Aint *pi = new int;delete pi;pi = 0Bint *pi = new int;delete [] pi;pi =0
Cint *pi = new int(100);delete()pi;pi = 0Dint *pi = new int[100];delete[] pi;pi=02、指出下列程序中的错误并且修改
void GetMemory(char *p)
{
p=(char *)malloc(100);
}
void Test(void)
{
char *str=NULL;
GetMemory=(str);
strcpy(str,“hello world”);
printf(str);
}
第二篇:2008baidu武大笔试软件工程师题目
第一题是给两个串a和b,判断a中的字符是否在b中出现,a和b中都有可能出现汉字,汉字按gbk编码,占两个字节,第一个字节的最高位为
1第二题是有s={a,b,c,d...z,aa,ab...az,...zz,aaa,aab...} 给定一个串seq=[a...z]+,判断seq是s的第几个字符串
第三题是有一个搜索引擎,用户可以对搜索结果进行评分,设计一个评分判定系统,防止恶意评分
一、编程题(30分)
判断字符串b的所有字符是否都在字符串a中出现过,a, b都是可能包括汉字的字符串,b中重复出现的汉字,那么a中也要至少重复相同的次数。
汉字使用gbk编码(简单的说,用两个字节表示一个汉字,高字节最高位为1的代表汉字,低字节最高位可以不为1)。
int is_include(char *a, char *b);
返回0表示没有都出现过,返回1表示都出现过。请给出所给算法的复杂度分析,尤其是字符串长度不同的情况下的复杂度分析。
二、算法题(35分)
序列Seq=[a,b,…z,aa,ab…az,ba,bb,…bz,…,za,zb,…zz,aaa,…] 类似与excel的排列,任意给出一个字符串s=[a-z]+(由a-z字符组成的任意长度字符串),请问s是序列Seq的第几个。
三、系统设计题(35分)
需求:需要引入用户对搜索结果相关性的评分100分制,希望用户的打分能帮助搜索引擎排序,但又要避免恶意投票,作弊等,请设计一个比较公平的评分系统。
第一题 26进制转10进制 第二题字符建一个26大小的表,汉字建一个256*256大小的表 两个都是使用字符值作为下表偏移 第三题开放题 随便搞
第三篇:软件工程师笔试
一。填空
1在UNIX中用(cp)把A目录下的F文件考贝到B目录下
2在UNIX中用(find)找到但前目录中的MOBILE文件
3在UNIX中-rxw。。其中的x是什么意思 执行
4软件工程包括几个部分,每个叫什么
需求分析,系统设计,编程实现,测试,维护
5白盒测试又叫做(结构化测试,基于代码的测试)
二。选择
一些对软件测试看法的选择
三。编程
1。关于SQL的告诉你一些学生的成绩,所学科目,学号等等
要求a。编写程序将科目编号为×××的成绩增加××分
update student
set score = score + x
b。列出所有学生的班号,学号,所学科目等
selcet classno studyno course
from student
c。列出成绩高于80分的学生班号,学号等
select studyno classno
from student
where score > 80
2。关于C++中的引用
引用增加40,要求写出输出结果
引用所指向的变量增加60,要求写输出结果
四问答
1。如果你是测试人员你对客户需求的理解与开发人员不同,发生争执,主管来调解,要求你写一份书面报告给主管看
2。用英语写出来你适合这个职位的character
responsibility smart action focus fast study smart
3。有三条边,在不同的情况下分别组成等边三角形,等腰三角形,普通三角形,不组成三角形要求写出测试用例
4。写出你对软件测试的看法和理解,你是怎么以软件测试作为自己将来职业规划的1.首先是五道判断题,具体忘记了,我只对了三道。
记得的考点有1)JAVA变量名字的合法性,好像是$number是不是合法的2)在linux下查看隐藏文件的命令,ls –a
2.然后是十几道单选题,考点有数据库的范式,白盒测试,瀑布模型有什么缺点,面向对象的基本知识,软件工程的基本知识,LINUX的基本命令(都是很基本的知识)
3.动物都有咬的动作,其中猫和狗咬人的动作又有各自的特点,用面向对象的多态性来描述cat 和 dog 的 bit(JAVA 或 C++)
4.给出一段代码,请指出错误。具体代码忘记了,是考数组、数组指针的不同,还有传参的方法(做错了)
5.写出以下代码的输出
#define AREA(a,b)a+b
#include
void main()
{
cout<
}
6.写出以下代码的输出(代码忘记了,但是在C++的课本上有类似的题,考指针、引用的,如下)
#include
void main()
{
int a = 100;
int *b;
b= &a;
cout<<*b< a += 20; cout< cout<<*b< *b += 20; cout< cout<<*b< } 7.一道简单的计算题,移动的话费周一到周五9:00-23:00 1元/分钟,周一到周五 23:00 – 9:00 0.5元一分钟,周六周日全天0.8元/分钟,节日全天0.7元/分钟,小明9月30日晚上23:59:05 至第二天的 00:01:15,请问话费是多少?(不足一分钟按一分钟算,如有重合,按最低的优惠算) 8.智力题。一根材质不均的绳子,从头烧到尾要一个小时,给你若干跟一模一样的绳子,用烧绳子的方法计时一个小时十五分钟。找出使用绳子最少的方法。 9.写一篇英文文章,200+,描述大学生活中印象最深刻的一件事 10.职业生涯规划的目标是什么?如何实现?在今后3-5年的目标是什么? 第一题:翻译,不说了(注意词汇:电阻 resistors,阻抗:resistance 反馈feedback,电容capacitance,等吧) 第二题:填空,主要是模电的,功放管根据什么分类的?按功放中功放管的导电方式不同,可以分为甲类功放(又称A类)、乙类功放(又称B类)、甲乙类功放(又称AB类)和丁类功放(又称D类)。 1、甲类功放是指在信号的整个周期内(正弦波的正负两个半周),放大器的任何功率输出元件都不会出现电流截止(即停止输出)的一类放大器。甲类放大器工作时会产生高热,效率很低,但固有的优点是不存在交越失真。单端放大器都是甲类工作方式,推挽放大器可以是甲类,也可以是乙类或甲乙类。效率低,约为50%,功率损耗大。 2、乙类功放是指正弦信号的正负两个半周分别由推挽输出级的两“臂”轮流放大输出的一类放大器,每一“臂”的导电时间为信号的半个周期。乙类放大器的优点是效率高,缺点是会产生交越失真。B类功放的效率平均约为75%; 3、甲乙类功放界于甲类和乙类之间,推挽放大的每一个“臂”导通时间大于信号的半个周期而小于一个周期。甲乙类放大有效解决了乙类放大器的交越失真问题,效率又比甲类放大器高,因此获得了极为广泛的应用。 4、丁类功放也称数字式放大器,利用极高频率的转换开关电路来放大音频信号,具有效率高,体积小的优点。许多功率高达1000W的丁类放大器,体积只不过像VHS录像带那么大。这类放大器不适宜于用作宽频带的放大器,但在有源超低音音箱中有较多的应用。 问题三:电容C的阻抗表达式?电容阻抗计算公式是什么?q=UC;I=dq/dt=jwUC ;Zc=U/I=1/jwC ;|Zc|=1/wC ;C=εS/4πkd 式中k为静电力常量,介电常数ε由两极板之间介质决定。 问题四:容抗=-j/wc,j表示虚数部分,电容有无功分量,所以要用虚数表示。电容的容抗表达式:XC=1/(2*pi*f*C),电感的感抗表达式:XL=2*pi*f*L.f为交流频率,L,C分别为电感和电容。电感对交流的阻碍能力叫“感抗”。电容对交流的阻碍能力叫“容抗”。 问题三:PCB布线的规则?1 电源、地线的处理:众所周知的是在电源、地线之间加上去耦电容。尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线>电源线>信号线 2、数字电路与模拟电路的共地处理:现在有许多PCB不再是单一功能电路(数字或模拟电路),而是由数字电路和模拟电路混合构成的。电路和模拟电路混合 构成的。因此在布线时就需要考虑它们之间互相干扰问题,特别是地线上的噪音干扰。数字电路的频率高,模拟电路的敏感度强,对信号线来说,高频的信号线尽可能远离敏感的模拟电路器件,对地线来说,整人PCB对外界只有一个结点,所以必须在PCB内部进行处理数、模共地的问题。3手工布局自动布局a.布局的首要原则是保证布线的布通率,移动器件时注意飞线的连接,把有连线关系的器件放在一起b.数字器件和模拟器件要分开,尽量远离 c.去耦电容尽量靠近器件的VCCd.放置器件时要考虑以后的焊接,不要太密集e.多使用软件提供的Array和Union功能 第三题:选择,无线运行商有那几家?中国电信 中国联通 中国移动通讯 第六问:DMA的英文拼写是“Direct Memory Access”,汉语的意思就是直接内存访问,是一种不经过CPU而直接从内存存取数据的数据交换模式。在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率,可以大大节省系统资源。DMA模式又可以分为Single-Word DMA(单字节DMA)和Multi-Word DMA(多字节DMA)两种,其中所能达到的最大传输速率也只有16.6MB/s.第八问:分析二极管的作用?二极管最主要的特性是单向导电性; 1、正向特性 2、反向特性 3、击穿特性 4、频率特性 第七问:什么是线与(老题了)?硬件上实现有什么要求;?线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用oc门来实现(漏极或者集电极开路),由于不用oc门可能使灌电流过大,而烧坏逻辑门,同时在输出端口应加一个上拉电阻。(线或则是下拉电阻)将几个OC门结构与非门输出并联,当每个OC门输出为高电平时,总输出才为高,这种连接方式称为线与。第九问: 怎么用万用表量电流值? 1.选择量程:万用表直流电流档标有“mA”有1mA、1omA、100mA三档量程。选择量程,应根据电路中的电流大小。如不知电流大小,应选用最大量程。2.测量方法:万用表应与被测电路串联。应将电路相应部分断开后,将万用表表笔接在断点的两端。红表笔应接在和电源正极相连的断点,黑表笔接在和电源负极相连的断点.第十一问:第五题:翻盖手机的设计,器件(LCD:分辨率、响应时间、亮度)选择等(自由发挥的);还有就是检测到翻盖中断,怎么处理中断?滑盖手机的设计:(外观、尺寸、材质)面板的设计:材质LCD()、按键、电池盖、MIC(Receiver、Speaker)、耳机插孔、moter(震动)、蓝牙等等;(终于到我了,我交出简历,然后坐下说:“你好,我叫****,应聘的职位是网络工程师。”(后来这成了每一轮面试我都要说的一句话),他看了看,说:“你叫****,你的名字很有意思,哈。”我尴尬,他递给我一份明天面试的通知单。) 测试工程师面试笔试问题 你发现了一个软件缺陷,但开发人员认为不是,就是不改程序,你如何处理? --测试人员和开发人员所依据的需求和设计规格说明书的版本是否一致;把问题升级到各自的leader 你做的功能测试是怎么发现并提交bug的? --运行测试用例,测试实际结果与期望结果不同的就是BUG,记录到缺陷跟踪系统,指定对应程序模块的负责程序员 输入a,b,c,如果这三个数满足三角形的条件,则计算三角形的周长,否则输出提示错误。然后判断三角形是等腰三角形还是等边三角形,若是等腰三角形则打印输出等腰三角形,若是等边三角形则打印输出等边三角形,否则退出。请给出程序流程及控制流程,测试路径。试举一个测试用例。 --略 1.why do you want to be a tester? 性格适合做、专业契合、喜欢这个行业、喜欢这家公司 2.测试的分类和过程。 单元测试、集成测试、系统测试、验收测试 白盒测试、黑盒测试 动态测试、静态测试 安全测试、网站测试、负载测试、性能测试 3.如果你是一个测试组长,你将怎么做计划,去测试一个ICEBOX。列出KEY --参考 电梯的测试的案例 谈谈你找到的印象最深的一个bug。 --面试者试图通过这个问题看看你对测试的流程、测试问题的发现和处理等的了解的程度 比如运行测试用例没异常,即没发现BUG,但是对应去数据表中直接查询数据时,发现与实际结果不一样,说明有时不能单单凭借你看到的结果来判断是否是一个BUG 作为测试组长,当测试人员和开发人员发生意见不一致时,项目经理不在,你是如何处理的和解决的?--基于对规格书的共同理解、共同的版本和共同的流程来解决这个问题 谈谈smoke test。 --发布之前,对主要的功能进行大致的功能性验证,不是全面的、也不是细节的bug在你们公司如何流转的? --new, open, resolved, closed 测试可能很枯燥,你怎么看的? --同上为何做测试工程师的问题 软件测试主要有哪几个阶段,每个阶段都应用什么测试方法? --单元测试:白盒测试;集成测试:白盒黑盒;系统测试:黑盒测试;验收测试:黑盒测试 白箱测试和黑箱测试是什么?什么是回归测试? --白盒测试是对代码的逻辑结构的测试;黑盒是对整个程序的功能的测试;回归是在某个问题修改后,再次对程序所有的功能进行测试一遍 2.单元测试、集成测试、系统测试的侧重点是什么? --单元测试重点是代码的逻辑;集成测试的重点是组件及系统之间的接口;系统测试的重点是整个系统的功能及非功能性需求的验证 3.设计用例的方法、依据有那些? --单元测试用例:白盒测试方法,如路径法等;黑盒测试用例:场景法、等价类和边界值法 4.一个测试工程师应具备那些素质和技能? --职业素养(性格、纪律、忠诚度、细心、自我管理);专业技能(开发、测试、网络、系统、OA);英语;行业知识(具体的业务领域知识、软件工程行业知识) 5.集成测试通常都有那些策略? --集成的顺序,按照业务流程的先后依次进行集成6.你用过的测试工具的主要功能、性能及其他? --测试工具:TD,LOADRUNNER等;测试管理功能:TD,JIRA等 7.一个缺陷测试报告的组成--缺陷描述、状态、负责人、重现步骤、严重性等级和所属模块等 2:你认为理想的测试流程是什么样子? --测试策划、测试设计、测试执行和测试报告 01.为什么要在一个团队中开展软件测试工作? --这是质量控制的需要,防止缺陷流入到客户环节,提高产品质量和客户满意度 02.您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作? --举V模型的例子,讲讲测试和开发如何协调整个软件的开发流程 05.您认为做好测试计划工作的关键是什么? --测试环境的搭建、测试的策略、测试进度计划、测试的方法、测试工具的到位 06.您认为做好测试用例设计工作的关键是什么?请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。 --真正理解需求和设计;确定测试范围—整理需求(用例)--场景法设计测试用例—对每个测试步骤用等价类和边界值法进行补充设计—补非功能性需求的测试用例 07.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。 --评审的流程同技术评审流程。需求追踪性、功能覆盖率、完整性、相关性、可测性、优先级和符合性 11.您以往工作过的企业中,是否开展了软件配置管理工作?您能否描述一下这项工作的开展情况和您对这项工作的认识? --配置管理工具:VSS,SVN --发布流程、变更流程、版本管理、基线管理等 三、如果测试程序向打印机输送打印内容,应该选用那些破坏性测试用例。 答:用此程序打印大量的文件 长时间不停止的使用此软件进行打印操作 长时间不停止的打印大数量及大文件的操作; 在打印过程中断电、重启等破坏性操作 四、下图是windows保存对话框,如果为文件名建立测试用例,等价类应该怎样划分? 1长文件名 2短文件名 3特殊字符 /„。„;、=-等 4中文/英文等 五、假设由一个文本框要求输入10各字符的邮政编码,对于该文本框应该怎样划分等价类? 1 特殊字符是否可以输入英文字母是否可以输入汉字是否````````````````是否可以不输入字符就可以确定输入超过10个字符字符可以混合中英数字 5.有人说“测试程序就是测试它是否按预期方式运行”你怎么看待这句话--应该是是否满足需求和设计规格的要求 测试专业术语中英文互译 1.Catastrophic灾难的2.偏差Variance 3.黑盒测试black-box testing 4.代码评审code review 5.PPQA过程与产品质量保证 6.集成测试integration testing 7.验收测试acceptance testing 8.回归测试regression testing 9.负载测试 load testing 10.压力测试 stress testing 11.性能测试performance testing 12.Software Test Process软件测试过程 13.Software Quality Management软件质量管理 14.Test Environment测试环境 15.走查(Walkthrough)第四篇:硬件工程师笔试题目
第五篇:测试工程师招聘笔试题目汇总