软件研发工程师笔试题目及答案分享

A.StringB.ErrorC.ThrowableD.RuntimeException

2、设floatx=1,y=2,z=3,则表达式y+=z--/++x的值是:(A)

A.3.5B.3C.4D.5

3、下列说法正确的是(B)

A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用

C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法

4、根据下面的程序代码,哪些选项的值返回true

publicclassSquare{

longwidth;

publicSquare(longl){

width=l;

}

publicstaticvoidmain(Stringarg[]){

Squarea,b,c;

a=newSquare(42L);

b=newSquare(42L);

c=b;

longs=42L;

A.a==b;B.s==a;C.b==c;D.a.equals(s)

equals()是Object类的一个方法,指示某个其他对象是否与此对象“相等”。由于类Object是类层次结构的根类。所以它是每个类的超类。所示每个类都可以重写equals()方法,如String类。如果没有重写(override)新类的equals(),则该方法和==操作符一样在两个变量指向同一对象时返回真,但是Java推荐的是使用equals()方法来判断两个对象的内容是否一样。考察“==”及方法“equals()”的用法。注意以下几点区别。

引用类型比较引用;基本类型比较值。

equals()方法只能比较引用类型,“==”可比较引用及基本类型。

用equals()方法进行比较时,对类File、String、Date及封装类(WrapperClass)来说,是比较类型及内容。

用==”进行比较时,符号两边的数据类型必须一致(可相互转换的基本类型除外),否则编译出错。

在此题中,因为a,b,c是三个对象面,但是c=b这条语句,将c的内存地址指向了b,所以c和b指向了同一个地址,相当于c和b是同一个对象,由于==操作符只有当两个变量指向同一对象时返回真,故C是正确的。

5.下面选项中,哪个选项的内容可以作为FilEinputStream类的构造方法的参数

A.FileB.StringC.InputStreamD.FileOutputStream

主要参考FileInputStream的构造方法,FileInputStream类的构造方法有3个,可接受的参数分别是:File、FileDescriptor、String类的一个对象

6.在下面程序标明的位置处插入哪条语句会导致编译错误

publicclassFinalUse{

publicstaticvoidmain(String[]args){

intx=0;

finalinty=1;

int[]z={2};

finalint[]n={3};

Use(x,y,z,n);

staticvoidUse(finalintx,inty,finalint[]z,int[]n){

//插入内容

请选择两个正确的答案:

A.x++B.y++C.y=xD.z[0]++E.n[0]++F.z=n

在Use方法中,x是final类型的,因此A选项中x++表示是可以改变x的值的,所以A会导致编译错误。y,n[0]是int变量,所以y,n[0]值是可以变化的,因此插入B和E选项都会编译通过的。C选项是把x的值赋给y,改变是y的内容,不会改变x的值,所以插入C选项会编译通过的。在D选项中,由于z是个int型数组,它是属于复合类型,在进行值传递的时候,传给形参的是地址值,而不是内容,因此finalint[]z就表示z数组不能在指向其他的数组对象,但是z数组中的内容是可以改变的,因此z[0]++表示的是内容上的改变,所以是没有错误的,可以编译通过的。F选项正好与D选项相反,同理,F就是错误的。

【参考答案】AF

7.下面程序运行后的结果是什么

PublicclassTest{

StaticBooleanfoo(charc){

System.out.print(c);

Returntrue;

Publicstaticvoidmain(String[]argv){

inti=0;

For(foo(‘A’);foo(‘B’)&&(i<2);foo(‘C’)){

i++;

foo(‘D’);

A.ABDCBDCBB.ABCDABCD

C.Compilationfails.D.Anexceptionisthrownatruntime.

二、代码查错

1.abstractclassName{

privateStringname;

publicabstractbooleanisStupidName(Stringname){}

解释何错误并更正

大括号错误

2.publicclassSomething{

Somethings=newSomething();

System.out.println("s.doSomething()returns"+doSomething());

publicStringdoSomething(){

return"Dosomething...";

答案:错。看上去在main里calldoSomething没有什么问题,毕竟两个methods都在同一个class里。但仔细看,main是static的。staticmethod不能直接callnon-staticmethods。可改成"System.out.println("s.doSomething()returns"+s.doSomething());"。同理,staticmethod不能访问non-staticinstantvariable。

三、简答题

1、谈谈Collection和Collections

2、请说出String与StringBuffer、StringBuilder的区别

String的`长度是不可变的,StringBuffer的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。

3、abstractclass(抽象类)和interface(接口)有什么区别

【试题分析】抽象类的特征如下:

抽象类和抽象方法都必须用abstract关键字来修饰。

抽象类不能被实例化,也就是不能用new关键字去产生对象。

抽象方法必须定义在抽象类中,抽象类的子类必须实现父类中的抽象方法,否则这个子类还是个抽象类。

接口的特征如下:

接口没有构造方法。

接口是定义的方法均为抽象的和公共的。

接口里的数据成员必须初始化,且数据成员均为常量。

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义staticfinal成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效

4、request.getAttribute()和request.getParameter()有何区别

5、简述下Servlet生命周期

6、谈谈你项目中用到的设计模式及如何使用的

7、你一般用spring、hibernate、struts做什么

四、代码实现

1、编写SQL语句

Student(S#,Sname,Sage,Ssex)学生表

Course(C#,Cname,T#)课程表

SC(S#,C#,score)成绩表

Teacher(T#,Tname)教师表

1)查询平均成绩大于60分的同学的学号和平均成绩

selectS#,avg(score)

fromsc

groupbyS#havingavg(score)>60;

2)查询所有同学的学号、姓名、选课数、总成绩;

selectStudent.S#,Student.Sname,count(SC.C#),sum(score)

fromStudentleftOuterjoinSConStudent.S#=SC.S#

groupbyStudent.S#,Sname

3)查询没学过“叶平”老师课的同学的学号、姓名

selectStudent.S#,Student.Sname

fromStudent

whereS#notin(selectdistinct(SC.S#)fromSC,Course,TeacherwhereSC.C#=Course.C#andTeacher.T#=Course.T#andTeacher.Tname=’叶平’);

2、第1个人10,第2个比第1个人大2岁,依次递推,请用递归方式计算出第8个人多大

用java语言实现,,请编一段程序实现!

packagecn.itcast;

importjava.util.Date;

publicclassA1{

publicstaticvoidmain(String[]args)

{

System.out.println(computeAge(8));

publicstaticintcomputeAge(intn)

if(n==1)return10;

returncomputeAge(n-1)+2;

publicstaticvoidtoBinary(intn,StringBufferresult)

if(n/2!=0)

toBinary(n/2,result);

result.append(n%2);

3、实现一个快速排序

本人只研究过冒泡排序、选择排序和快速排序,下面是快速排序的代码:

publicclassQuickSort{

/**

*快速排序

*@paramstrDate

*@paramleft

*@paramright

*/

publicvoidquickSort(String[]strDate,intleft,intright){

Stringmiddle,tempDate;

inti,j;

i=left;

j=right;

middle=strDate[(i+j)/2];

do{

while(strDate[i].compareTo(middle)<0&&i

i++;//找出左边比中间值大的数

while(strDate[j].compareTo(middle)>0&&j>left)

j--;//找出右边比中间值小的数

if(i<=j){//将左边大的数和右边小的数进行替换

tempDate=strDate[i];

strDate[i]=strDate[j];

strDate[j]=tempDate;

j--;

}while(i<=j);//当两者交错时停止

if(i

quickSort(strDate,i,right);//从

if(j>left){

quickSort(strDate,left,j);

*@paramargs

String[]strVoid=newString[]{"11","66","22","0","55","22","0","32"};

QuickSortsort=newQuickSort();

sort.quickSort(strVoid,0,strVoid.length-1);

for(inti=0;i

System.out.println(strVoid[i]+"");

一、编程语言类

题目1:以下C++代码输出结果是什么?

#include

usingnamespacestd;

intmain(){

inta=10;

int&b=a;

b=20;

cout<

return0;

答案:20。因为b是a的引用,对b的操作就是对a的操作。

题目2:在Java中,以下代码有什么问题?

java

publicclassMain{

int[]array=newint[5];

System.out.println(array[5]);

答案:这段代码会抛出ArrayIndexOutOfBoundsException,因为数组索引是从0开始的,长度为5的数组最大索引为4。

二、数据结构类

题目1:简述二叉搜索树(BST)的特点。

答案:

若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值。

若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值。

它的左、右子树也分别为二叉搜索树。

题目2:请用代码实现一个简单的栈(以数组实现为例,使用Java)。

classStack{

privateint[]stackArray;

privateinttop;

publicStack(intcapacity){

stackArray=newint[capacity];

top=-1;

publicvoidpush(intelement){

if(top

stackArray[++top]=element;

}else{

//可以选择扩展数组或抛出异常表示栈满

System.out.println("Stackisfull.");

publicintpop(){

if(top>=0){

returnstackArray[top--];

//可以选择抛出异常表示栈空

System.out.println("Stackisempty.");

return-1;

三、算法类

题目1:用Python实现快速排序算法。

python

defquick_sort(lst):

iflen(lst)<=1:

returnlst

pivot=lst[0]

less=[elementforelementinlst[1:]ifelement<=pivot]

greater=[elementforelementinlst[1:]ifelement>pivot]

returnquick_sort(less)+[pivot]+quick_sort(greater)

classSolution{

public:

intmajorityElement(vector&nums){

intcount=0;

intcandidate;

for(intnum:nums){

if(count==0){

candidate=num;

if(num==candidate){

count++;

count--;

returncandidate;

};

四、操作系统类

题目1:进程和线程的区别是什么?

进程:是资源分配的'基本单位,拥有独立的地址空间、代码段、数据段等资源。进程间通信相对复杂,如管道、消息队列等。不同进程间相互独立,一个进程崩溃一般不会影响其他进程。

线程:是CPU调度的基本单位,共享所属进程的资源,如内存空间、文件描述符等。线程间通信相对简单,可通过共享变量等方式。一个线程崩溃可能会导致整个进程崩溃。

题目2:什么是虚拟内存?

答案:虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。这种技术可以让系统运行比实际物理内存大得多的程序,提高内存利用率和系统的多任务处理能力。

THE END
1.大学题库软件哪个好?大学题库练习软件大学题库app推荐大学题库软件是很多大学生都在使用的教育学习类app,不仅题库资源丰富,还提供各种各样的干货和资料,方便大学生在线浏览发现,学习更多知识。大家可以在这里尽情练习,不断强化提高,解决各种难题,掌握考点技巧,可谓是方便又好用!http://www.downcc.com/k/daxuetikuapp/
2.在线答题软件排行榜前十名偏玩手游盒子分享十大在线答题软件排行榜前十名手机应用,编辑为您推荐手机在线答题软件排行榜第一名到前5名到前十名的应用。找在线答题软件有哪些、在线答题软件哪个好用,上偏玩手游盒子https://m.pianwan.com/s/zj-1481237
3.c语言考试搜题软件?4个受欢迎的搜题分享了#知识分享#媒体特色功能:可以文字、语音及截图搜题,妙出答案解析。同时也满足有考证需求的人使用。 下方附上一些测试的试题及答案 1、会议室天棚的主要作用有()方面。 A.根据会议室的不同区域,提供合理的照明环境 B.照亮 C.通过造型的变化,虚拟空间,强化空间感和向心力 D.美化 https://blog.csdn.net/2401_83390717/article/details/139799564
4.嵌入式软件工程师面试题嵌入式软件工程师面试题 2012最新的嵌入式软件工程师面试题笔试并且含答案随着科技信息的进步,在某个领域的突破发展也是大势所趋,就像各个企业对嵌入式软件工程师 的要求也是随着需求的变化不段变化,所以2012最新的嵌入式软件工程师的面试题还是有必要了 解熟悉下的。1.https://www.360wenmi.com/f/filekvyze5fn.html
5.自考计算机基础与程序设计专业真题(四)19.软件工程的3个要素是:方法___和工具。 110.基本路径测试属于软件动态测试中的___测试技术。 (三)简答题 (本大题共5小题。每小题4分。共20分)请在答题卡上作答。 21.在C#中,数据类型转换主要有哪几种方式?整型数和string之间的转换可以采用哪种方式? 22.简述private、https://www.eol.cn/ceici/e2-zikao-234141.shtml
6.面试笔试题(Delphi工程师数据分析技术支持C#工程师软件C#软件工程师笔试题(.net) 笔试时间:40分钟答题人:___开始时间:___ 注:请将答案答于答题纸上,题目做擅长的即可,不必全部答完 1.值类型和引用类型分别有什么区别?System.ValueType是一个什么类型? 2.System.String类型是引用还是值类型?其最大特点是?在字符串连加处理中,最好采用 什么方式,理由是什么? https://max.book118.com/html/2024/0716/7065040001006134.shtm
7.10款大学生搜题必备软件,题库超全超好用!今天送10款大学生搜题必备软件送给你们,可一键智能解题、答案步骤妙出,有了这些软件,网课、期末考试挂科什么不存在的! 01 网课搜题酱(小程序) 网课搜题酱是一款网课搜题工具,采取对话的形式,输入题目,即可大快速的得到网课答案。 这里不仅有学习通答案、云青书学堂、知到、智慧树、中国大学慕课等平台的答案都有。https://zhuanlan.zhihu.com/p/375259505?ivk_sa=1024609w
8.C#程序员笔试题内容提示: 文档备案号(070620ZBS) 机密级 3 第 - 1 - 页共 5 页 2009-8-24 程序员笔试试题 A 卷 试卷类型 C# 笔试对象 C#程序员 招募人员 C#软件开发人员 笔试时间 30 分钟 页面统计 共 5 页 印刷份数 20 一、概念理解 1. 术语解释 请解释下列术语 ①.类型,引用类型,值类型 ②.OO,过程 ③.类https://www.doc88.com/p-599542402077.html
9.GitHub学习强国挑战答题神器 成品下载https://qg.zyqq.top 受国家政策影响,目前暂不提供下载使用,已下载的软件正常使用(如果我还有钱续费服务器的话),当然,你也可以自己编译部署自己服务器 软件使用C#编写,实现连接数据库查找题库 部署自己服务器请修改login.cs main.cs中的字符串server=IP;user=user;password=passwd;dahttps://github.com/summerlotus513/xxqg
10.河北软件职业技术学院2021年招生简章河北软件职业技术学院坐落于历史文化名城保定,是直属于河北省教育厅的全日制公办普通高职院校,是国家优质专科高等职业院校、河北省重点建设示范性高等职业院校、国家示范性软件职业技术学院、河北省“双高计划”高水平专业群建设单位,是河北省规模最大、专业覆盖最全的培养T技术技能人才的高职院校,现有在校生11561人,2021年https://www.hbsi.edu.cn/info/1004/3004.htm