大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《测试工程师实习生岗位笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
测试工程师:测试公司开发的各种软件(写测试计划、用例、执行、提交BUG),你知道了吗?小编提供一些测试工程师实习生岗位笔试题,希望对您有用。
第一题;简答题
1.externC的含义是什么,能解决什么问题?
2.写出至少两种经典的设计模式,阐明其使用场景,有伪代码更好。
3.TCP连接中time_wait状态是什么意思?说明其使用的场景,并指出它的好处和坏处分别是什么?
第二题:算法分析和设计题
1.有个任务定时器,每天要定时执行N个任务(N1000),其中有些任务的执行依赖于其他任务的执行,如A任务执行之后B任务才能执行,但这些任务之间不存在循环依赖。请用算法来说明任务的执行顺序,有伪代码更好。
2.编程求某一个英文文本中完整句子的数目,文本中只包含大小写字母、空格、,和.,完整的句子是指以.结束,且.号前必须出现至少一个字母。
第三题:系统设计题
设计一个系统,该系统记录用户的访问记录。每条记录包含访问的url、访问ip以及访问时间,系统每天至少要记录1000亿条记录,系统要对这些数据进行存储和维护,并提供实时的查询,至少满足下面两个查询:
1.给定任意一个时间段(精确到分)和URL,计算该时间段内访问这个url的访问量;
2.给定任意一个时间段(精确到分)和IP,计算该时间段内访问这个IP的访问量。
在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《腾讯WEB前端笔试题和面试题答案》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
能进入腾讯工作是多少人的梦想,下面小编为大家搜集的一篇腾讯WEB前端笔试题和面试题答案,供大家参考借鉴,希望可以帮助到有需要的朋友!
一、耐心填一填!(每空4分,共24分)
1.为span设置类a与b,应编写HTML代码_________。
2.设置CSS属性clear的值为_both___________时可清除左右两边浮动。
3.____li________标签必须直接嵌套于ul、ol中。
4.CSS属性_____margin_______可为元素设置外补丁。
5.设置CSS属性float的值为___none_________时可取消元素的浮动。
6.文字居中的CSS代码是____text-align:center________。
二、精心选一选!(每题4分,共16分)
1.下列哪个样式定义后,内联(非块状)元素可以定义宽度和高度(C)
A.display:inlineB.display:noneC.display:blockD.display:inheric
2.选出你认为最合理的定义标题的方法(C)
A.文章标题
B.
文章标题
C.
文章标题
D.文章标题
3.br标签在XHTML中语义为(A)
A.换行B.强调C.段落D.标题
4.不换行必须设置(AC)
A.word-breakB.letter-spacingC.white-spaceD.word-spacing
5.在使用table表现数据时,有时候表现出来的会比自己实际设置的宽度要宽,为此需要设置下面哪些属性值(AD)
A.cellpadding=0B.padding:0C.margin:0D.cellspacing=0
三、判断对或错!(每题4分,共24分)
1.CSS属性font-style用于设置字体的粗细。()
2.CSS属性overflow用于设置元素超过宽度时是否隐藏或显示滚动条。()
3.在不涉及样式情况下,页面元素的优先显示与结构摆放顺序无关。()
4.在不涉及样式情况下,页面元素的优先显示与标签选用无关。()
5.display:inline兼容所有的浏览器。()
6.input属于窗体元素,层级显示比flash、其它元素都高。()
在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《美的笔试题目》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
美的笔试,分A/B卷不分管理、财务、技术,只分A/B卷。试卷内容上虽然不分,但他们会让你注明是哪个类型的,毕竟三个类型参考的标准和方面都不一样。30分钟--20道选择题,5道填空题,1道分析问答题,时间比较紧,除非速度特别快,否则一般都作不完。
1、选择题:跟公务员行政能力测试几乎一模一样,可谓公务员行政能力测试的精简版,有文字逻辑推理题,阅读理解题,图形推理题,出乎意料的是没有数字题,所以那张草稿纸我连用都没用过--事实上,也没时间用。最后有一道题很狠,是一道推理题,有五个问题联系在一起,这种题目最麻烦,要嘛看完题后一个一个做,这样比较费时间,要嘛只能五个全不做,这样对分数又极其不利,两边难做人,只能看自己衡量了。我是跳过去先做了后面的填空题和分析题,后来再回来想做已经没时间了,乱填了几个上去的。现在想来这个策略还是比较好的,毕竟后来的填空题比较容易,且占的分数比较更大些。
2、填空题:这部分倒是比较简单,有两道是给出一个物件(记得第一个是回形钩)并给出三四种用途,要你再写出一种用途,或是给出一个情景(有一个是进入教室后黑板上写着不用上课的情景),同样给出几个原因,让你再说一个原因。最后一个是关于美的集团的标志的,要你把美的标志跟彩虹联系起来,进行联想作出比喻,原题中已经从形状、颜色两个方面作出比喻,要求你再写出一个比喻。整体上,这部分不是很难,只要反应快一些,抓紧时间都没有什么问题。
3、分析问答题:给出一段文字,大概是讲学校为了提高大学课堂的听课率,迫使学生多去上课,推行一个上课打卡制度,正反双方分别从自己的的角度论述了赞成与反对的原因云云。问问题时类似公务员的申论题,第一问问态度:赞成还是反对;第二问问总结:在你的表明态度后你觉得问题的症结在哪里;第三问问细节:问题症结的展开论述。这个情景其实比较简单,而且跟学生生活很贴近,按理说,稍微思考过后都可以答的合情合理,只是一般到了这个地方,时间都所剩无几,没有什么思考的时间,我也是快速浏览后来不及思考更多就写了几点上去,还没写完时间就到了,无奈试卷给收回去了。明天一面,应该小组无领导讨论,好好准备下吧!
最后,对美的这种选人方式做个简单评价:其实美的这种选择方式也挺好的,很多公司都是先笔试,笔试过了再给面试机会,这样一些笔试能力比较差或准备不足而实际表现能力又比较好的人就被筛掉了,可美的采取的做法是:既让你笔试同时也把一面的机会给你,这种可以综合两个方面的表现来确定人选,当然,这建立在他们已经通过性格测试的方式进行了第一轮筛选的基础上,另外,他们具体的操作和标准我不清楚,但如果但从形式上理解,在人力物力财力允许的情况下,这种方式无疑可具有合理性--这是值得肯定的。无论如何,先争取进了再说,加油!!
大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《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
?
大学生毕业后面临的第一件事情肯定就是面试求职了,那么相应的求职技巧就很重要。感谢阅读《华为上机笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
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;
}
queue
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经典笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
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
{
?
在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《中兴笔试题目》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
1.对数据库的一张表进行操作,同时要对另一张表进行操作,如何实现??
答案:将操作多个表的操作放入到事务中进行处理
2.TCP/IP建立连接的过程?(3-wayshake)
答案:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
3.ICMP是什么协议,处于哪一层?
答案:Internet控制报文协议,处于网络层(IP层)
4.触发器怎么工作的?
答案:触发器主要是通过事件进行触发而被执行的,当对某一表进行诸如UPDATE、INSERT、DELETE这些操作时,数据库就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则。
5.winsock建立连接的主要实现步骤?
答案:服务器端:socker建立套接字,绑定(bind)并监听(listen),用accept等待客户端连接。客户端:socker建立套接字,连接(connect)服务器,连接上后使用send和recv,在套接字上写读数据,直至数据交换完毕,closesocket关闭套接字。
服务器端:accept发现有客户端连接,建立一个新的套接字,自身重新开始等待连接。该新产生的套接字使用send和recv写读数据,直至数据交换完毕,closesocket关闭套接字。
6.动态连接库的两种方式?
答案:调用一个DLL中的函数有两种方法:
1.载入时动态链接(load-timedynamiclinking),模块非常明确调用某个导出函数,使得他们就像本地函数一样。这需要链接时链接那些函数所在DLL的导入库,导入库向系统提供了载入DLL时所需的信息及DLL函数定位。
2.运行时动态链接(run-timedynamiclinking),运行时可以通过LoadLibrary或LoadLibraryEx函数载入DLL。DLL载入后,模块可以通过调用GetProcAddress获取DLL函数的出口地址,然后就可以通过返回的函数指针调用DLL函数了。如此即可避免导入库文件了。
7.IP组播有那些好处?
答案:Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧消耗和网络拥挤问题。组播是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。所以说组播技术的核心就是针对如何节约网络资源的前提下保证服务质量。
2006年3月21日于华侨大学洪祖杭大楼,笔试分三部分,公共部分(都做),C++部分和JAVA部分选做。考试时间1小时!蜗牛自己打字好累啊!供涯友分享。
公共部分(50分)
1:作业调度程序从处于()状态的队列中选择适当的作业的作业投入运行。(3分)
A运行B提交C完成D后备
2:SQL语言中,删除一个表的命令是()(3分)
ACLEARTABLEBDROPTABLE
CDELETETABLEDREMOVETABLE
3:ATM采用的线路复用方式为()(3分)
A频分多路复用
B同步时分多路复用
C异步时分多路复用
D独占信道
4:数据库中只存放视图的()(3分)
A操作
B对应的数据
C定义
D限制
5:什么是虚拟设备?为什么在操作系统中引入虚拟设备?(10分)
6:TCP为何采用三次握手来建立连接,若采用二次握手可以吗,请说明原因?(16分)
7:什么是分布式数据库?(12分)
C++部分(50分)
1:设有intw[3][4];,pw是与数组名w等价的数组指针,则pw的初始化语句为________________(3分)
2:要使引用pr代表变量char*p,则pr的初始化语句为__________________(3分)
3:零值可以是0,0.0,FALSE或者空指针。例如int变量n与零值比较的if语句为:if(n==0),则BOLLflag与零值比较的if语句为______________;floatx与零值比较的if语句为:______________。(6分)
4:社有如下语句:(3分)
Intx;
*px=0;
则选择以下哪条语句可将x值置为0。
Aint*px;Bintconst*px=x;
Cintconstpx=x;Dconstint*px=x;
5:设viodf1(int*m,longn);inta;longb;则以下调用合法的是()(3分)
Af1(a,b)Bf1(a,b)
Cf1(a,b)Df1(a,b)
6:请写出如下代码的运行结果(6分)
Intmain
{inta,b,c,d;
a=0;
b=1;
c=2;
d=3;
printf(%d,a+++b+c+++d++);}
7:写出下面函数的功能(12分)
Template
VoidWE(Typea[],Typeb[],intn){
for(inti=0;i
8写一段代码判断一个单向链表中是否有环。(14分)
给出如下结构
Structnode
{steuct*next;
};
TypedefstuctnodeNode;
JAVA部分(50分)
1:判断下列对的是哪个()(3分)
Ashorts1=1;s1=s1+1
Bshorts1=1;s1+=1
Cshorts1=1;s1=s1-1
Dshorts1=1;s1=s1*1
2:main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的()(3分)
Apublicstaticvoidmain
Bpublicstaticvoidmain(Stringargs)
Cpublicstaticintmain(String[]arg)
Dpublicvoidmain(Stringargs)
3:设floatx=1,y=2,z=3,则表达式y+=z--/++x的值是()(3分)
A3.5B3
C4D5
4:Math.round(11.5)=_______
Math.round(-11.5)=_______(4分)
5:假设x=10,y=20,z=30;计算下列表达式的值(6分)
Ax10||x10__________
B!(x
Cz-y==xMath.abs(y-z)!=x_____________
6:方法重建Overload和方法的重写Overriding的区别。Overload的方法是否可以改变返回值的类型?(10分)
7:谈谈HashMap和Hashtable的区别(6分)
8:构造一个类来描述屏幕上的一个点,该类的构成包括点x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。(15分)
大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《发散性思维笔试试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
什么是发散性思维面试题?
发散思维又称辐射思维、放射思维、多向思维、扩散思维或求异思维,是指从一个目标出发,沿着各种不同的途径去思考。发散思维是创造性思维的最主要的特点,是测定创造力的主要标志之一。名企面试中也常用这种发散思维的面试题,以来考察求职者的素质及能力。同样这种面试题在公务员面试中也常常遇见。在公务员面试中,联想发散类面试题考核的比较多,除了国家公务员考试之外,在各省市公务员考试中湖南、云南、贵州、河北等公务员面试中出现最为频繁。发散思维性面试题在题目设置上,联想发散题可归结为三大类:第一类,极度发散思维题这类面试题的特点就是由你自由发挥。多角度的思考,是最典型的发散性思维。典型例题:1、给你一张纸你会画下什么。2、一个小老鼠掉进一个米缸里,有半缸米,小老鼠很高兴,就一直吃,结果后来米吃完了,由于缸太高,小老鼠出不去了,最后饿死在里面。谈谈你对这个故事的看法。【解读】解答这样的问题,思维一定要多元,展现出全面的思维能力。第二类,哲理性问题典型例题:1、一个跳蚤被放在玻璃杯子里面,一开始杯子的口是敞开的,跳蚤可以自由地跳出;过一段时间之后,用一个玻璃片封住杯子,跳蚤尝试了几次之后,都没有跳出去,跳蚤不再尝试了;随后工作人员把玻璃片移走之后,再过了一段时间,跳蚤也没有再尝试跳出杯子。请说明这一现象带来的启示。【解读】解答这类面试题要通过题目给定的信息,抽象出背后蕴含的哲理,才能更好地解读。第三类,串词、串故事题【解读】这其实是两种题型,如果是要求应试者将几个词语串联成一段话,那就没有什么特殊要求,只要传承紧密、主体积极、思想端正、有一定的深度即可;如果是要求应试者讲一个故事并把这些词语用上,那么注意,只要题目不做特殊要求,能串起来即可,不需要把词语作为固定的主要内容,而且既然是编故事就一定要有人物和情节,所以尽量使故事曲折。在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《阿里在线前端笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
一共13题,6个选择,1题是github地址或博客微博地址,6个大题。
选择题第一题:
vararr=[1,2,3,4,5];
arr.splice(1,2,3,4,5);
arr?
考察数组splice的用法。
后面几个选择题忘了(别打脸),选择题都不是很难。
大题:
1.考查css的基本知识,给出html基本代码。写css代码,每个div是一个盒子模型。中间文字水平垂直居中,三个盒子水平排列。(比较基础,代码就不上了)
2.多维数组转一位数组:原题:[1,[2,3]]==》[1,2,3]
vararr=[1,[[4,5,6],2,[[[7,8,9]]],3]];//转成一位数组:[1,4,5,6,2,7,8,9,3]
functionf(arr){
if(Object.prototype.toString.call(arr)!=[objectArray])//判断arr是不是数组
return;
varnewArr=[];
functionfn(arr){
for(vari=0;iarr.length;i++){//遍历数组
if(arr[i].length){//判断是不是多维数组
fn(arr[i]);//递归调用
}else{
newArr.push(arr[i]);
}
}
}
fn(arr);
returnnewArr;
}
console.log(f(arr));
当时在做试卷的时候没有考虑多维数组,只片面的为了解题,没有用递归。
3.数字类型转千分位表示
varnum=123456789.9;//结果转成千分位表示123,456,789.9
functionf(num){
if(typeofnum!=number)
return;
num+=;
if(num.indexOf(.)!=-1){//判断是否存在小数
returnfn(num.split(.)[0])+.+num.split(.)[1];
}else{
returnfn(num);
}
functionfn(newNum){
varstr=;
varl=newNum.length;
while(l3){
str=,+newNum.substring(l-3,l)+str;
l=l-3;
}
str=newNum.substring(0,l)+str;
returnstr;
}
}
console.log(f(num));
4.解析url:varstr=http://s.weibo.com/weibo/Aralic?topnav=1wvr=6获得参数名和参数值:
(以前做过类似的题目,解析url一系列的值,阿里这题感觉稍微简单一点)
functionf(url){
varl=url.indexOf(?);
if(l!=-1){
varobj={};
vararr=url.substring(l+1,url.length).split;
for(vari=0;i
obj[arr[i].split(=)[0]]=arr[i].split(=)[1];
}
returnobj;
}
}
console.log(f(http://s.weibo.com/weibo/Aralic?topnav=1wvr=6))
《腾讯实习生游戏策划笔试题》由编辑撰写而成,内容素材主要来源于网络,希望在您求职技巧过程中能帮到您!我们把大量的“实习生求职技巧”内容汇集于专题再现给您,希望您喜欢!
相关文章
最新更新