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

目一(大连、深圳站)

1.请分别给出世界杯开赛前、开赛期间、开赛后,世界杯这个关键词下的用户主需求,以及网页搜索结果展现页面。(50分)(如果对世界杯不熟悉,可用一个热门电影代替)

2.请设计一款地图和大数据相结合的产品,产品形态不限。(50分)注:需要说清楚包括但不限于一下内容:产品的功能,产品的主要界面框架图,产品的价值。产品形态可以是仪的独立产品,或一个承载于地图产品的模块等。

题目二(武汉站)

1、列举一款你常用的移动APP,并分析他的最核心功能、满足的需求、超预期的功能以及竞争优势和发展趋势。

2、如果让你设计一款相册APP,代替系统自带的相册功能,你会怎么设计,列举主要功能。分析原生相册的不足,用户需求痛点,画出相关页面的产品原型线框图(1-3个页面即可)。并分析为什么用户要使用你这款产品。

题目三(上海站、北京站)

1.从用户需求角度出发,设计中国好声音query的搜索结果页面,并详细说明你的设计思路。【50分】

2.一个社区有A、BZ共26个社区,每个社区有100位居民,每个居民有独一无二的身份编码,如:

A社区:A001、A002A100

B社区:B001、B002B100


③④⑤⑥四项消费的消费金额都有记录可以查询;

④顾客常去的餐馆有所记录;

⑤顾客常点的歌曲有所记录;

⑥顾客常看的电影及类型有所记录;

①顾客出门后不一定要搭公交车,可以出门在社区下个棋再回家;

③⑥④顾客进行各项活动的顺序不一定按上述顺序,且也不一定逛街、吃饭、唱歌和看电影都进行,可以逛街、看电影、吃饭然后直接回家。

问:1.如何确定单个居民的生活质量(还是其他一个**质量?)高低?如何确定促销价值最大的居民群体?【20分】

2.如何确定不同社区的促销价值?【30分】?m.ZC530.cOM

题目四(天津站)

1、目前在移动互联网领域,O2O产品发展很快,请任选一款你熟悉的O2O产品,例举它的核心功能,分析它们最大的优缺点各一个,并说明理由。(50分)

2、在你平时的学习生活过程中,是否存在某些事情效率低下,诱使你产品想提高此事效率的需求?

1)请简要描述该需求场景,指出相应的目标用户群及特征,用户规模,分析需求强度和使用频率等。

2)请设计一种解决方案,来满足这种需求,并简要阐述设计思路,给出产品使用流程图,并说明你的解决方案比原有方案高效在哪里。

注:解决方案可能包括但不限于一款产品,或一个页面,或一个模块;如果是一个模块,可以附属在已有的知名产品中。(50分)

题目五(杭州站)

1、请选一个熟悉的关键词(一款游戏、一个明星、一个体育比赛都可以),凭借着你对这个领域的了解

1)分析搜索这些词可能的用户群特征;

2)分析这些词可能的具体用户需求;

设计你认为理想的网页搜索结果页展现样式

2、为设计一款新产品,可以结合现有的优势和资源,专注解决大学生用户的某个需求痛点,请给出主要页面设计(1-2个页面)。

请说明你的产品解决了大学生在什么场景下的什么痛点,为什么选择这个痛点方向,并分析这个需求的强度和频率,如何保证你的竞争优势,如何推广给你的第一批启动用户。

zc530.COM编辑推荐

阿里巴巴15校招运营笔试经验


1、遇到一些你很不喜欢做,但是又不得不去做的事你怎么办?(请在5道题目中选取一道或几道作答)

2、随着O2O市场的发展,外卖成了O2O一个入口,外卖商家通过互联网制定出一整套围绕用户的营销体系、菜品管理体系。请就校园针对90后群体,做一个关于营销策划方案。(请在5道题目中选取一道或几道作答)

3、你觉得自己是互联网达人吗?为什么?请结合具体数据和案例来展示你是一个互联网达人。如:我对互联网产品感兴趣,对XX/XX等很多产品有比较深入的研究我喜欢玩论坛/社区/来往/XX,我运营了一个10w+粉的微博号/微信,账号是XX其他你可以想到的

(请在5道题目中选取一道或几道作答)

4、请说出3个(手机淘宝、手机天猫除外)你自己或身边朋友常用的导购类app,并说说他们的优缺点。(请在5道题目中选取一道或几道作答)

5、跟同龄人相比,你觉得你身上最突出的特点是什么?你的同学和老师怎么评价你的?你最喜欢和不喜欢的人的类型和最不喜欢的行为各是什么?(请在5道题目中选取一道或几道作答)

感觉自己每道题都答了,但每道都答得一般,求过啊啊啊啊。

第一题可能就是考你的性格跟职位匹配度吧,你这个人够不够积极等等。

第二题不知道怎么答。感觉有点偏活动运营。

第三题就是证明你爱好互联网吧。

第四题就是考产品和运营综合吧。

第五题还是跟职位匹配度吧。

五校联考笔试题目统一命题


小编整理而来五校联考笔试题目统一命题,欢迎阅读!

能力测试

能力测试共计64道题,多为文综类试题,涉及地理、历史、政治、语文方面的基础常识、时政热点、古典文学知识等内容。主要考察学生日常的知识积累,此部分文科生表示较容易,理科生相对吃力。此外,还有考察逻辑思维能力的题目,包含图形找规律题、数字运算等内容。

能力测试题目整理

(1)戒指戴在中指的含义是什么?

(2)电脑键盘上@符号的功能

(3)1978年邓小平的讲话内容是什么?

(4)足球比赛有哪些规则

(5)伦敦奥运会中国获得多少枚金牌

(6)奥数牛吃草问题

美的笔试题目


美的笔试,分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

?

腾讯技术综合笔试题


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

题型解析:

考试时间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;

}

中兴笔试题目


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分)

《校招产品经理笔试题》由编辑撰写而成,内容素材主要来源于网络,希望在您求职技巧过程中能帮到您!我们把大量的“产品经理求职面试技巧”内容汇集于专题再现给您,希望您喜欢!

相关文章

最新更新