欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 教学文档 > 试题>小米校园招聘笔试题

小米校园招聘笔试题

2024-08-19 08:15:25 收藏本文 下载本文

“藍杺”通过精心收集,向本站投稿了12篇小米校园招聘笔试题,下面是小编为大家整理后的小米校园招聘笔试题,以供大家参考借鉴!

小米校园招聘笔试题

篇1:小米校园招聘笔试题

小米校园招聘笔试题

1奇偶排序

在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在偶数的左边

例如输入a={8,4,1,6.7,4,9.6,4}

2叉数降维

设计一个算法,把一个排序二叉树,转化成一个排序的双向链表,要求不能创建任何新的节点,只调整指针指向

java:

class Node{

int key;

Node left,right;

}

Node flatten(Node){

,。。。。。

}

二叉树转双向链表

3 四则运算

现有一四则运算表达式,仅包含+-*/和0~9数字,请设计一个算法,计算该表达式的'值,其中+-只能作为运算符出现,不作为正负号出现在表达式中

请完成calc的代码实现

已有字符串和数字的转换方法(Str2num,num2Str)可直接调用,无须实现

C++:

float str2num(char[] str){....}

char[] num2str(float num){}

float calc(char[] exp){

''''''''

}

java

float str2num(String str){....}

String num2str(float num){.......}

float calc(String exp){

''''''''''''

}

例如输入“1+2*(3-4)”

输出-1

设计测试用例测试Calc函数

篇2:小米春季校园招聘电商方向笔试题

小米春季校园招聘电商方向笔试题

一 不定向选择题 18分

1. 一个栈的入栈队列 a,b,c,d,e 则栈的不可能的输出序列是______,

A. edcba

B. dceab

C. decba

D. abcde

E. 以上都不是

2. 在定点二进制运算器中,减法运算一般通过______来实现。

A 原码运算的二进制减法器

B 补码运算的二进制减法器

C 原码运算的`十进制加法器

D 补码运算的二进制加法器

3. 主存贮器和CPU之间增加cache的目的是______。

A 解决CPU和主存之间的速度匹配问题

B 扩大主存贮器容量

C 扩大CPU中通用寄存器的数量

D 既扩大主存贮器容量,又扩大CPU中通用寄存器的数量

4. CRT的分辨率为1024×1024像素,像素的颜色数为256,则刷新存储器的容量为______。

A 512KB B 1MB C 256KB D 2MB

5. 文法G:S ->xSx | y 所识别的语言是______。

A.xy*x B.(xyx)* C.xx*yxx* D.x*yx*

6.每个进程在操作系统中用进程控制块(process control block,PCB)来表示,请找出以下不属于进程控制块中的信息______。 A. 进程PID

B. 进程优先级

C. 进程间通信方式

D. 进程的执行时间

二 简答题 30分

1. 使用大O标记法写出下列算法的时间复杂度,

(6分)

(1)冒泡排序;O(n2 )

(2)选择排序;O(n2 )

(3)插入排序;O(n2 )

(4)快速排序;O(nlogn)

(5)堆排序;O(nlogn)

(6)归并排序:O(nlogn)

2. 以知cache 命中率 H=0.98,cache的存取速度是主存的4倍,以知主存存取周期为200ns,求平均访问时间。(4分)

3.有1000个苹果,分别装在10个箱子里。任意给出1到1000之间的一个整数,都可以用某几个箱子中的苹果数量相加获得此数。请列出这10个箱子中分别有多少个苹果: (5分)

4. 有一种体育竞赛共含M个项目,有运动员A,B,C三人参加,在每一项目中,第一,第二,第三名分别得X,Y,Z分,其中X,Y,Z为正整数且X>Y>Z。最后A得22分,B与C均得9分,B在百米赛中取得第一。

求M的值( )(5分)

在跳高中谁得第二名( ) (5分)

5. 以A、B表为例,主外键为id。简述INNER JOIN、LEFT JOIN和RIGHT JOIN的区别(5分)

A INNER JOIN B:返回A和B中符合on条件式的记录

A LEFT JOIN B:返回A中的所有记录和B中符合on条件式的记录

A RIGHT JOIN B:返回B中的所有记录和A中符合on条件式的记录

篇3:新浪校园招聘笔试题

新浪校园招聘笔试题

一、综合部分 (所有人都要做的)

单选25个,包括法国现任总统、十七大闭幕时间、嫦娥飞升时间、好男儿首届年份、新浪的收费业务、GDP增幅、阿拉法特逝世年份等等,

简答两道:

1、讲述大学入学以来最令你自豪的一件事,原因。

2、(2选一)你最喜欢的三位节目主持人,分析他们的主持风格和你为什么喜欢他们;谈谈报纸和网络的区别

二、专业部分(主观题)

(由于我报的是博客编辑,所以涉及的都是与博客有关的'内容)

1、谈谈新浪、网易、搜狐、腾讯四家博客各自的特点,你最喜欢哪个,为什么。

2、你认为新浪博客最好和最坏的功能分别是什么,为什么,

你认为最应该增加的功能是什么。

3、说说促进大学生写博客热情的措施。

4、列举本年度博客5件大事。

5、网络新闻的选择标准。

6、给了一篇某网友的博客,让你根据内容重新给起个标题,并说明新闻标题的要求。

7、给出两对标题,指出你认为适合网络的标题,说原因。其中一对是“北京第一大姓是什么”“北京第一大姓是王”

8、如今《色戒》上映正火,请你做下这部片子的博客首页专题。

9、策划一个专题。

10、(计算机题)第一道给出了一份网页编程的截图,让你说明效果是什么;第二道列举常用网页编辑软件和图片格式。

11、(翻译题)新浪想邀请英国某名人来开博,请你给她写封邀请信,先写中文再翻译成英文。

12、新浪想请李素丽来开博,写出你所想到的所有措施。

13、网络编辑应该具备的职业素质。

篇4:网易校园招聘笔试题

网易校园招聘笔试题

15道单选 5道多选 11道简答

一、单选

数据库的基本查询,概念以及MYSQL的一些概念

二、多选

1.事务的.详解(笔试中多项选择 可以消除覆盖更新的隔离级别)

2.OLAP与OLTP的区别(笔试中多选 面向主题与应用,。。)

3.两段锁协议的概念(多选)

4.MYSQL的概念题目

5.如何提高数据库的性能?

三、简答

1.什么是快速排序?

2.写简单的SQL语句,包括group by ,limit order by 并添加什么索引比较好?

3.数据库的字段误删后,如何进行回复(数据库业务设计,数据库恢复考虑)

4.什么是组合索引,组合索引与单键索引的区别?

5.什么是Hbase,与关系型数据库的区别?

6.shell命令编程(不会做)

7.查看系统资源的shell命令(iostat,top,free...)

8.RAID0,RAID1,RAID5是什么?那个读取更快

9.数据库的高可用和可扩展分别是什么?如何让数据库高可用、可扩展等?

10.为什么建立索引,索引的优缺点?

11.集中式数据库与分布式数据库的区别?

篇5:网站校园招聘笔试题

网站校园招聘笔试题

笔试题目:

1.请举一个你印象最深刻的热点新闻事件并分析网络媒体在其中所起的作用,

2.目前房价、股价下跌,市场出现希望政府 的.呼声,请谈谈你对 的看法,

3.有人说美国大选是“金钱政治”,请谈谈你的看法。

4.你认为网游是否在毒害青少年?

5.有人说“星座对自己的运势预测和性格描述很准”,请谈谈你的看法。

6.如果你是网易编辑,独家拿到了最新的陈冠希和某女星艳照(此女星之前未卷入“艳照门”**),你会发布出来吗?为什么?

7.如果网易新闻要选一位名人作为代言人,你建议选择哪位名人?请说明理由

篇6:google校园招聘笔试题

google校园招聘笔试题

1、单项选择题

1.1如果把传输速率定义为单位时间内传送的信息量(以字节计算)多少,关于一下几种典型的数据传输速率:

1.使用USB2.0闪存盘,往USB闪存盘上拷贝文件的数据传输速率

2.使用100M以太网,在局域网内拷贝大文件时网络上的数据传输速率

3.使用一辆卡车拉1000块单块1TB装满数据的硬盘,以100km/h的速度从上海到天津(100km)一趟所等价的数据传输宽带

4.使用电脑播放MP3,电脑的pci总线到声卡的数据传输速率

在通常情况下,关于这几个传输速率的排序正确的是:

A. 4<1<2<3

B. 1<4<2<3

C.4<1<3<2

D.1<4<3<2

1.2.#define SUB(x,y) x-y

#define ACCESS_BEFORE(element,offset,value) *SUB(&element, offset) =value

int main{

int array[10]= {1,2,3,4,5,6,7,8,9,10};

int i;

ACCESS_BEFORE(array[5], 4, 6);

printf(“array: ”);

for (i=0; i<10; ++i){

printf(“%d”, array[i]);

}

printf(“\n”);

return (0);

}

A.array: 1 6 3 4 5 6 7 8 9 10

B.array: 6 2 3 4 5 6 7 8 9 10

C.程序可以正确编译连接,但是运行时会崩溃

D.程序语法错误,编译不成功

1.3 在区间[-2, 2]里任取两个实数,它们的和>1的概率是:

A.3/8

B.3/16

C.9/32

D.9/64

1.4 小组赛,每个小组有5支队伍,互相之间打单循环赛,胜一场3分,平一场1分,输一场不得分,小组前三名出线平分抽签。问一个队最少拿几分就有理论上的`出线希望:

A.1

B.2

C.3

D.4

1.5用二进制来编码字符串“abcdabaa”,需要能够根据编码,解码回原来的字符串,最少需要多长的二进制字符串?

A.12

B.14

C.18

D.24

1.6 10个相同的糖果,分给三个人,每个人至少要得一个,

有多少种不同分法

A.33 B.34C.35D.36

1.7 下列程序段,循环体执行次数是:

y=2

while(y<=8)

y=y+y;

A.2

B.16

C.4

D.3

1.8下面哪种机制可以用来进行进程间通信?

A.Socket B.PIPEC.SHARED MEMORYD.以上皆可

1.9 下列关于编程优化的说法正确的是:

A. 使用编译器的优化选项后程序性能一定会获得提高

B. 循环展开得越多越彻底,程序的性能越好

C. 寄存器分配能够解决程序中的数据依赖问题

D. 现代主流C/C++编译器可以对简单的小函数进行自动Iinline

1.10 一下程序是用来计算两个非负数之间的最大公约数:

long long gcd(long long x, long long y){

if( y==0) return 0;

else return gcd (y, x%y);

}

我们假设x,y中最大的那个数的长度为n,基本运算时间复杂度为O(1),那么该程序的时间复杂度为:

A.O(1)

B.O(logn)

C.O(n)

D.O(n^2)

2 程序设计与算法(2.1,2.2为编程题,2.3为算法设计题,只需设计思路和关键步骤伪代码)

2.1 写函数,输出前n个素数。函数原型:void print_prime(int N); 不需要考虑整数溢出问题,也不许使用大数处理算法。

2.2 长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他书的swap,请设计并实现排序( 必须采用交换实现)。

2.3 给定一个原串和目标串,能对原串进行如下操作:

1 在给定位置插入一个字符

2 替换任意字符

3 删除任意字符

要求写一个程序,返回最少的操作数,使得原串进行这些操作后等于目标串。原串和目标串长度都小于.

篇7:埃森哲校园招聘笔试题

考试时间为100分钟,40+23+13=76题

第一部分:职业匹配度测试

40题,25分钟,等时间到了才可以翻下一单元,不可以回看题目

每题给出4个描述,每组选最符合和最不符合的,比如接受新信息,激励他人实现目标,有创新意识,等等等,反正翻来覆去的出现,不同搭配,记得前后不要矛盾,

第二部分:推理题&中文阅读题

可以标记持怀疑态度的题(但建议不要标记太多,自己记在草稿纸上比较好),全部完成可以回看回做之前的题

1、图形推理,主要有重叠、旋转、立体图展开为平面图等等,和P&G差不多,难度适中

2、数字&数列(忘记具体数量了><)

如(1)老王和小李今年加起来60岁;几年前,当老王的岁数是现在的小李的岁数时,他的岁数是当时小李岁数的2倍,问老王现在几岁

(2)2,5,10,17,(),选项是21,22,19,还有一个忘记了……

(3)A、B厂商为某公司提供材料,A提供每件产品单价为30元外加400元/每笔交易,B公司每件产品10元没有额外加价,最后A公司总报价比B贵8400元,问某公司一共需要多少件产品(具体数字记不太清楚咯,所以就凑了个是当时答案的数字,希望大家知道计算方法就好……)

(4)2、?、12、20、30,问号是6 OR 8 OR 10 OR 23

(5)1236715*1236719-1236714*1236718=?

3、文字推理:

(1)ABC各说一句话,每句话对一半,A:B是公务员,C是银行家;B:A是公司职员,C是公务员;C:B是公司职员,A是银行家,问下列个人职业是什么(具体顺序不一定是这样…抱歉@@)

(2)一段文字描述一家公司的刷卡系统是联网的,被一个病毒入侵后会蔓延整个网络,公司作出微调后可以有效预防病毒的入侵,问一下句子哪句最贴近文章的意思,

等等

4、中文阅读:读一篇描述校园生活的文章,然后问文章主旨,细节,以及句子填空,很简单的,都能很快在原文找到,细心点就OK

第三部分:英文阅读

13题,25分钟,包括语法,近义词、图表和阅读理解,阅读理解每篇算一题,每一大题下有5个小题,所以这部分其实不止13题

简单说下几篇阅读,(1)广告的作用--帮助公司宣传产品(2)人均GDP与高中低收入国家,给出收入分层的定义,会问XX国用几年从低收入变高收入,XX国在XX年表现等(3)讲计算机系统的,个人感觉比较难理解,专业性较强,讲了IEEE8032系统,DA,SDF,prental等分支,对每个分支提个小问题

总体上时间还是够的,没有想象中恐怖,希望能对大家有帮助~~

如果您对面试有任何疑问可以参看58求职助手。

篇8:中国银行校园招聘笔试题

中国银行校园招聘笔试题

一、英语,

英语的考试时间一个半小时,95道题,时间相当紧张,我最终是有两篇阅读一眼都没看。

第一部分,同义词替换,大约是10个。单词的难度相当于六级单词,我挨个看了下来,觉得都比较眼熟,只是考过六级也有三四年了,所以会做的没有几个。

第二部分,单选,20题。题目难度不大,主要还是词意辨析,词汇难度仍旧相当于六级。

第三部分,改错,10题。每句话给出四个选项,选一个错的即可,不需要改,难度也不算大,平时有点联系英语的话,应该都没问题。

第四部分,完形填空。20题,难度大于六级,甚至略微高于考研英语。不过也可能是因为本人许久没有看英语的关系。

第五部分,阅读理解。35题,这35题又分为四种题型:第一种题型是常规阅读,给了四篇文章,每个文章五个题目,共二十个题目,选择正确答案。难度我觉得高于六级低于考研英语。(不过这么说并不准确,毕竟考研英语跟六级的要求不同,但是文章的难度就我而言觉得是肯定高于六级的,高不了很多,只是句子复杂些,文章长些。)。第二种题型是排序题,一篇文章,给出了第一段(A)和最后一段(G),然后将B-E段的顺序打乱让你重新排序,文章很长,没有一定的速度练习和解题技巧练习的话,完全可以最后瞎蒙。第三种题型,是选择合适的句子填入。给一篇文章,也是相当的长,每段话中基本上都缺一句,从后面的答案选最合适的填入,大约有5道。这个我完全就蒙的了,没有时间做。第四种题型,是快速阅读,两篇超长的文章,五道题。做过专四的同学都应该很会做快速阅读,我本人也认为快速阅读是最简单的,我花了五分钟全部做完。

接下来要说说如何克服时间不足的问题了。第一部分至第三部分没什么好说的,顺序做下来就可以了,是整份卷子难度最小的部分,不要轻易放弃。完形填空根据个人英语水平,水平高的自然顺序做下来就好了,像我这样,过了六级好几年了,考研也过了两年多了,对英语已经是那种若即若离的状态的,最好选择先做阅读,后面来蒙。当然我今天很失败,先做了完形,所以写个总结给大家。最重要是阅读理解的时间安排。我的经验和忠告是:一定要先做快速阅读。这次快速阅读的文章超长,题目只有五道,从文章的长度来说,是高于英语专四的,但是题目却非常简单,找到关键词,马上可以选出答案,不需要思考推理。而且找关键词也很快的,不用通篇阅读。这样的题,是稳拿的,不拿白不拿。做完快速阅读之后,就可以根据自己的英语水平选择顺序了,

我的建议是先做常规阅读,再做选句子填充,最后做排序。我最后做排序的理由是文章比较长,而且我们的思维与外国人思维方式不同,全做对并不容易。而且在那种时间很紧张的情况下,很容易自己心理紧张就不容易做对,而一个错基本上意味着全错,不如到最后做,有时间就看一下,没时间都选一个答案,肯定能对一个。

二、综合。

综合考了两部分,一部分是行测,一部分是综合知识(涵盖多个专业)校园招聘,大学生求职,公司待先说行测。行测不难,一个小时,70道题。做过国家公务员考试,再做这个,觉得很愉快,所以不用怎么担心。至于专业,经济和金融类的我就完全不懂了,纯粹瞎猜。

1、世界汇率的基准(四个选项,日本什么银行、美国纽约银行、伦敦银行,我选的`伦敦银行,大家自己找答案吧);

2、布雷顿森林体系(大约是问的什么时候脱钩,我选的70年代,还是大家自己找下正确的);

3、巴塞尔协议规定的银行资本充足率(不低于8%);

4、营销什么的核心环节(生产、消费、交换、促销,这题我不会);

5、国内母公司和海外子公司合并产生什么风险(汇率风险、会计风险、财务风险、交易风险);

6、股票指数期货空投 什么的(这题完全没懂,给了四个答案,A,买入短期期货,卖出远期期货,B、买入远期期货,卖出短期期货,C,短期远期全部买入,D、短期远期全部卖出);

7、增值税的性质(原题不是这么说的,四个选项分别是:A、国家专项税收 B、地方专项税收 C、归入国家共享税收收入 D、归入地方共享税收收入 ;

8、给了速动比率和流动比率,还给了流动资金好像,算什么忘记了。。。这个非本人专业,完全不会,还有几道类似的计算题,比如什么周期次数啊之类,都比较专业了,应该是会计专业的;

9、影响现金流量的什么什么(A、用固定资产还债——偶就选的这个了,所及就记住了这么一个答案,可能也是会计专业的,不会);

10、中国外汇交易的中心(北京、上海、深圳——还有个忘记了,偶选的上海);

11、证券投资和对外借贷是什么性质的投资(国家投资、私人投资、直接投资、间接投资)

12、泰勒被称为

13、我国在日本发行的债权叫什么

篇9:百度校园招聘笔试题

百度校园招聘笔试题

一:简答题(30)

1:数据库以及线程发生死锁的原理及必要条件,如何避免死锁

答:

产生死锁的原因主要是:

(1) 因为系统资源不足,

(2) 进程运行推进的顺序不合适。

(3) 资源分配不当等。

产生死锁的四个必要条件:

(1)互斥条件:一个资源每次只能被一个进程使用。

(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。

(3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。

(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

避免死锁:

死锁的预防是通过破坏产生条件来阻止死锁的产生,但这种方法破坏了系统的并行性和并发性。

死锁产生的前三个条件是死锁产生的必要条件,也就是说要产生死锁必须具备的条件,而不是存在这3个条件就一定产生死锁,那么只要在逻辑上回避了第四个条件就可以避免死锁。

避免死锁采用的是允许前三个条件存在,但通过合理的资源分配算法来确保永远不会形成环形等待的封闭进程链,从而避免死锁。该方法支持多个进程的并行执行,为了避免死锁,系统动态的确定是否分配一个资源给请求的进程。

预防死锁:具体的做法是破坏产生死锁的四个必要条件之一

2:面向对象的三个基本元素,五个基本原则

答:

三个基本元素:

封装

继承

多态

五个基本原则:

单一职责原则(Single-Resposibility Principle):一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。

开放封闭原则(Open-Closed principle):软件实体应该是可扩展的,而不可修改的。也就是,对扩展开放,对修改封闭的。

Liskov替换原则(Liskov-Substituion Principle):子类必须能够替换其基类。这一思想体现为对继承机制的约束规范,只有子类能够替换基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基础。

依赖倒置原则(Dependecy-Inversion Principle):依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。

接口隔离原则(Interface-Segregation Principle):使用多个小的专门的接口,而不要使用一个大的总接口。

3:windows内存管理的机制以及优缺点

答:

分页存储管理基本思想:

用户程序的`地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等,

可将用户程序的任一页放在内存的任一块中,实现了离散分配。

分段存储管理基本思想:

将用户程序地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。存储分配时,以段为单位,段与段在内存中可以不相邻接,也实现了离散分配。

段页式存储管理基本思想:

分页系统能有效地提高内存的利用率,而分段系统能反映程序的逻辑结构,便于段的共享与保护,将分页与分段两种存储方式结合起来,就形成了段页式存储管理方式。

在段页式存储管理系统中,作业的地址空间首先被分成若干个逻辑分段,每段都有自己的段号,然后再将每段分成若干个大小相等的页。对于主存空间也分成大小相等的页,主存的分配以页为单位。

段页式系统中,作业的地址结构包含三部分的内容:段号 页号 页内位移量

程序员按照分段系统的地址结构将地址分为段号与段内位移量,地址变换机构将段内位移量分解为页号和页内位移量。

为实现段页式存储管理,系统应为每个进程设置一个段表,包括每段的段号,该段的页表始址和页表长度。每个段有自己的页表,记录段中的每一页的页号和存放在主存中的物理块号。

二:程序设计题(40)

1:公司里面有1001个员工,现在要在公司里面找到最好的羽毛球选手,也就是第一名,每个人都必须参赛,问至少要比赛多少次才能够找到最好的羽毛球员工。

答:两两比赛,分成500组剩下一人,类似于归并排序的方式,比出冠军后,让冠军之间再比,主要是要想想多余的那一个选手如何处理,必然要在第一次决出冠军后加入比赛组。

2:现在有100个灯泡,每个灯泡都是关着的,第一趟把所有的灯泡灯泡打开,第二趟把偶数位的灯泡制反(也就是开了的关掉,关了的打开),第三趟让第3,6,9....的灯泡制反.......第100趟让第100个灯泡制反,问经过一百趟以后有多少灯泡亮着

答:

1.对于每盏灯,拉动的次数是奇数时,灯就是亮着的,拉动的次数是偶数时,灯就是关着的。

2.每盏灯拉动的次数与它的编号所含约数的个数有关,它的编号有几个约数,这盏灯就被拉动几次。

3.1——100这100个数中有哪几个数,约数的个数是奇数。我们知道一个数的约数都是成对出现的,只有完全平方数约数的个数才是奇数个。

所以这100盏灯中有10盏灯是亮着的。

它们的编号分别是: 1、4、9、16、25、36、49、64、81、100。

3:有20个数组,每个数组有500个元素,并且是有序排列好的,现在在这20*500个数中找出排名前500的数

答:TOP-K问题,用个数为K的最小堆来解决

4. 字符串左移,void *pszStringRotate(char *pszString, intnCharsRotate),比如ABCDEFG,移3位变DEFGABC,要求空间复杂度O(1),时间复杂度O(n)

篇10:百度校园招聘笔试题

百度校园招聘笔试题精选

一、简答题

1. 动态链接库和静态链接库的优缺点

2. 轮询任务调度和可抢占式调度有什么区别?

3. 列出数据库中常用的锁及其应用场景

二、算法设计题

1. 给定N是一个正整数,求比N大的最小“不重复数”,这里的不重复是指没有两个相等的相邻位,如1102中的11是相等的两个相邻位故不是不重复数,而12301是不重复数,

2. 设N是一个大整数,求长度为N的字符串的最长回文子串。

3. 坐标轴上从左到右依次的点为a[0]、a[1]、a[2]……a[n-1],设一根木棒的长度为L,求L最多能覆盖坐标轴的几个点?

三、系统设计题

1. 在现代系统的设计过程中,为了减轻请求的压力,通常采用缓存技术,为了进一步提升缓存的命中率,同常采用分布是缓存方案。调度模块针对不同内容的用户请求分配给不同的缓存服务器向用户提供服务。请给出一个分布式缓存方案,满足如下要求:

1) 单台缓存服务器故障,整个分布式缓存集群,可以继续提供服务。

2)通过一定得分配策略,可以保证充分利用每个缓存服务的存储空间,及负载均衡。当部分服务器故障或系统扩容时,改分配策略可以保证较小的缓存文件重分配开销。

3)当不同缓存服务器的.存储空间存在差异时,分配策略可以满足比例分配。

下面给出我自己的一些解答,不保证100%正确,欢迎批评指正。

一、简答题1. 动态链接库和静态链接库的优缺点

解答:(1)动态链接库(Dynamic Linked Library):Windows为应用程序提供了丰富的函数调用,这些函数调用都包含在动态链接库中。其中有3个最重要的DLL,Kernel32.dll、User32.dll和GDI32.dll。有两种使用方式:一种是静态加载,即在应用程序启动时被加载;一种是动态加载,即是该动态链接库在被使用时才被应用程序加载。优点如下:

a. 共享:多个应用程序可以使用同一个动态库,启动多个应用程序的时候,只需要将动态库加载到内存一次即可;

b. 开发模块好:要求设计者对功能划分的比较好。

缺点是不能解决引用计数等问题。

(2)静态库(Static Library):函数和数据被编译进一个二进制文件(通常扩展名为.LIB)。在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件(.EXE文件)。静态链接库作为代码的一部分,在编译时被链接。优缺点如下:

代码的装载速度快,执行速度也比较快,因为编译时它只会把你需要的那部分链接进去,应用程序相对比较大。但是如果多个应用程序使用的话,会被装载多次,浪费内存。

2. 轮询任务调度和可抢占式调度有什么区别?

解答:(1)轮询调度的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。只有在当前任务主动放弃CPU控制权的情况下(比如任务挂起),才允许其他任务(包括高优先级的任务)控制CPU。其优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。但不利于后面的请求及时得到响应。

(2)抢占式调度允许高优先级的任务打断当前执行的任务,抢占CPU的控制权。这有利于后面的高优先级的任务也能及时得到响应。但实现相对较复杂且可能出现低优先级的任务长期得不到调度。

3. 列出数据库中常用的锁及其应用场景

解答:数据库中的锁是网络数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库完整性和一致性,

各种大型数据库所采用的锁的基本理论是一致的,但在具体实现上各有差别。目前,大多数数据库管理系统都或多或少具有自我调节、自我管理的功能,因此很多用户实际上不 清楚锁的理论和所用数据库中锁的具体实现。在数据库中加锁时,除了可以对不同的资源加锁,还可以使用不同程度的加锁方式,即锁有多种模式,SQL Server中锁模式包括:

1)共享锁

SQL Server中,共享锁用于所有的只读数据操作。共享锁是非独占的,允许多个并发事务读取其锁定的资源。默认情况下,数据被读取后,SQL Server立即释放共享锁。例如,执行查询“SELECT * FROM my_table”时,首先锁定第一页,读取之后,释放对第一页的锁定,然后锁定第二页。这样,就允许在读操作过程中,修改未被锁定的第一页。但是,事务 隔离级别连接选项设置和SELECT语句中的锁定设置都可以改变SQL Server的这种默认设置。例如,“ SELECT * FROM my_table HOLDLOCK”就要求在整个查询过程中,保持对表的锁定,直到查询完成才释放锁定。

2)修改锁

修 改锁在修改操作的初始化阶段用来锁定可能要被修改的资源,这样可以避免使用共享锁造成的死锁现象。因为使用共享锁时,修改数据的操作分为两步,首先获得一 个共享锁,读取数据,然后将共享锁升级为独占锁,然后再执行修改操作。这样如果同时有两个或多个事务同时对一个事务申请了共享锁,在修改数据的时候,这些 事务都要将共享锁升级为独占锁。这时,这些事务都不会释放共享锁而是一直等待对方释放,这样就造成了死锁。如果一个数据在修改前直接申请修改锁,在数据修 改的时候再升级为独占锁,就可以避免死锁。修改锁与共享锁是兼容的,也就是说一个资源用共享锁锁定后,允许再用修改锁锁定。

3)独占锁

独占锁是为修改数据而保留的。它所锁定的资源,其他事务不能读取也不能修改。独占锁不能和其他锁兼容。

4)结构锁

结构锁分为结构修改锁(Sch-M)和结构稳定锁(Sch-S)。执行表定义语言操作时,SQL Server采用Sch-M锁,编译查询时,SQL Server采用Sch-S锁。

5)意向锁

意 向锁说明SQL Server有在资源的低层获得共享锁或独占锁的意向。例如,表级的共享意向锁说明事务意图将独占锁释放到表中的页或者行。意向锁又可以分为共享意向锁、独占意向锁和共享式独占意向锁。共享意向锁说明事务意图在共享意向锁所锁定的低层资源上放置共享锁来读取数据。独占意向锁说明事务意图在共享意向锁所锁定 的低层资源上放置独占锁来修改数据。共享式独占锁说明事务允许其他事务使用共享锁来读取顶层资源,并意图在该资源低层上放置独占锁。

6)批量修改锁

批量复制数据时使用批量修改锁。可以通过表的TabLock提示或者使用系统存储过程sp_tableoption的“table lock on bulk load”选项设定批量修改锁。

二、算法设计题1. 给定N是一个正整数,求比N大的最小“不重复数”,这里的不重复是指没有两个相等的相邻位,如1102中的11是相等的两个相邻位故不是不重复数,而12301是不重复数。

算法思想:当然最直接的方法是采用暴力法,从N+1开始逐步加1判断是否是不重复数,是就退出循环输出,这种方法一般是不可取的,例如N=11000000,你要一个个的加1要加到1101,一共循环百万次,每次都要重复判断是否是不重复数,效率极其低下,因此是不可取的。这里我采用的方法是:从N+1的最高位往右开始判断与其次高位是否相等,如果发现相等的(即为重复数)则将次高位加1,注意这里可能进位,如8921D>9021,后面的直接置为010101...形式,如1121D>1201,此时便完成“不重复数”的初步构造,但此时的“不重复数”不一定是真正的不重复的数,因为可能进位后的次高位变为0或进位后变成00,如9921D>10001,此时需要再次循环判断重新构造直至满足条件即可,这种方法循环的次数非常少,我认为不超过3次就能满足条件。

篇11:迅雷校园招聘笔试题

迅雷校园招聘笔试题

一、单选题(20题,每题2分)

1、有变量int i = 0; int a = i++; int b=++a; int c = a+b; 请问表达式 a?b:c 的值是

A、0B、1C、2 D、3

2、32位环境下,int *p=new int[10];请问sizeof(p)的值为()

A、4B、10 C、40 D、8

3、有语句char str[] = “abcde”;请问表达式sizeof(str)的值是() 后面还有\0

A、1 B、4 C、5D、6

4、有函数int func(int i)的实现为()

int func(int i)

{

if(i >1)

return i*func(i-1);

else

return 1;

}

int func(int i)

{

if(i >1)

return i*func(i-1);

else

return 1;

}

请问函数调用f(5)的返回值是多少()阶乘计算

A、5 B、15 C、20D、120

5、请问以下说法,哪个是正确的()

A、每个类都有一个无参数的`构造函数

B、每个类都有一个拷贝构造函数

C、每个类能有多个构造函数

D、每个类能有多个析构函数

6、用class关键字定义的类,其成员默认的访问属性为()

A、privateB、protected C、public D、无定义

7、类的成员有三种访问属性,分别是public、protected、private,子类能够访问的成员是()

A、都能访问

B、public和protected

C、public和private

D、protected和private

8、请问对一个排好序的数组进行查找,时间复杂度为()

A、O(n)B、O(lgn)C、O(nlgn) D、O(1)

9、以下二叉树:

后序遍历的结果是()

A、丙乙丁甲戊己 B、甲乙丙丁戊己C、丙丁乙己戊甲D、丙丁己乙戊甲

10、看以下代码:

A *pa = new A[10];

delete pa;

则类A的构造函数和析构函数分别执行了几次()

A、1 1 B、10 10 C、1 10D、10 1

篇12:微软校园招聘笔试题

1、Suppose that a selection sort of 80 items has completed 32 iterations of the main loop. How many items are now guaranteed to be in their final spot (never to be moved again)?

A、16 B、31 C、32 D、39 E、40

2、Which synchronization mechanism(s) is/are used to avoid race conditions among processes/threads in operating system?

A、Mutex B、Mailbox C、Semaphore D、Local procedure call

3、There is a sequence of n numbers 1,2,3,...,n and a stack which can keep m numbers at most. Push the n numbers into the stack following the sequence and pop out randomly . Suppose n is 2 and m is 3,the output sequence may be 1,2 or 2,1,so we get 2 different sequences . Suppose n is 7,and m is 5,please choose the output sequence of the stack.

A、1,2,3,4,5,6,7

B、7,6,5,4,3,2,1

C、5,6,4,3,7,2,1

D、1,7,6,5,4,3,2

E、3,2,1,7,5,6,4

4、Which is the result of binary number 01011001 after multiplying by 0111001 and adding 1101110?

A、0001010000111111

B、0101011101110011

C、0011010000110101

转化为10进制操作以后,再转化为二进制就可以了,

5、What is output if you compile and execute the following c code?

[cpp] view plaincopyprint?void main()

{

int i = 11;

int const *p = &i;

p++;

printf(“%d”,*p);

}

void main()

{

int i = 11;

int const *p = &i;

p++;

printf(“%d”,*p);

}A、11

B、12

C、Garbage value

D、Compile error

E、None of above

6、Which of following C++ code is correct ? C

A、

[cpp] view plaincopyprint?int f()

{

int *a = new int(3);

return *a;

}

int f()

{

int *a = new int(3);

return *a;

}B、[cpp] view plaincopyprint?int *f()

{

int a[3] = {1,2,3};

return a;

}

int *f()

{

int a[3] = {1,2,3};

return a;

}C、[cpp] view plaincopyprint?vectorf()

{

vectorv(3);

return v;

}

vectorf()

{

vectorv(3);

return v;

}D、[cpp] view plaincopyprint?void f(int *ret)

{

int a[3] = {1,2,3};

ret = a;

return ;

}

void f(int *ret)

{

int a[3] = {1,2,3};

ret = a;

return ;

}E、None of above

7、Given that the 180-degree rotated image of a 5-digit number is another 5-digit number and the difference between the numbers is 78633, what is the original 5-digit number?

A、60918 B、91086 C、18609 D、10968 E、86901

8、Which of the following statements are true

A、We can create a binary tree from given inorder and preorder traversal sequences.

B、We can create a binary tree from given preorder and postorder traversal sequences.

C、For an almost sorted array,Insertion sort can be more effective than Quciksort.

D、Suppose T(n) is the runtime of resolving a problem with n elements, T(n)=O(1) if n=1;

T(n)=2*T(n/2)+O(n) if n>1; so T(n) is O(nlgn)

E、None of above

9、Which of the following statements are true?

A、Insertion sort and bubble sort are not efficient for large data sets.

B、Qucik sort makes O(n^2) comparisons in the worst case.

C、There is an array :7,6,5,4,3,2,1. If using selection sort (ascending),the number of swap operations is 6

D、Heap sort uses two heap operations:insertion and root deletion (插入、堆调整)

E、None of above

10、Assume both x and y are integers,which one of the followings returns the minimum of the two integers?

A、y^((x^y) & -(x

B、y^(x^y)

C、x^(x^y)

D、(x^y)^(y^x)

E、None of above

x

11、The Orchid Pavilion(兰亭集序) is well known as the top of “行书”in history of Chinese literature. The most fascinating sentence is “Well I know it is a lie to say that life and death is the same thing, and that longevity and early death make no difference Alas!”(固知一死生为虚诞,齐彭殇为妄作).By counting the characters of the whole content (in Chinese version),the result should be 391(including punctuation). For these characters written to a text file,please select the possible file size without any data corrupt.

A、782 bytes in UTF-16 encoding

B、784 bytes in UTF-16 encoding

C、1173 bytes in UTF-8 encoding

D、1176 bytes in UTF-8 encoding

E、None of above

12、Fill the blanks inside class definition

[cpp] view plaincopyprint?class Test

{

public:

____ int a;

____ int b;

public:

Test::Test(int _a , int _b) : a( _a )

{

b = _b;

}

};

int Test::b;

int main(void)

{

Test t1(0 , 0) , t2(1 , 1);

t1.b = 10;

t2.b = 20;

printf(“%u %u %u %u”,t1.a , t1.b , t2.a , t2.b);

return 0;

}

class Test

{

public:

____ int a;

____ int b;

public:

Test::Test(int _a , int _b) : a( _a )

{

b = _b;

}

};

int Test::b;

int main(void)

{

Test t1(0 , 0) , t2(1 , 1);

t1.b = 10;

t2.b = 20;

printf(“%u %u %u %u”,t1.a , t1.b , t2.a , t2.b);

return 0;

} Running result : 0 20 1 20

A、static/const

B、const/static

C、--/static

D、conststatic/static

E、None of above

13、A 3-order B-tree has 2047 key words,what is the maximum height of the tree?

A、11 B、12 C、13 D、14

解析:m阶B-树的根节点至少有两棵子树,其他除根之外的所有非终端节点至少含有m/2(向上取整)棵子树,即至少含有m/2-1个关键字。根据题意,3阶的B-树若想要达到最大的高度,那么每个节点含有一个关键字,即每个节点含有2棵子树,也就是所谓的完全二叉树了,这样达到的高度是最大的。即含有2047个关键字的完全二叉树的高度是多少,这也是为什么这种题只出3阶的原因吧,就是为了转化成求完全二叉树的深度。很明显求得高度是11,但是由于B-树还有一层所谓的`叶子节点,可以看作是外部结点或查找失败的结点,实际上这些结点不存在的,指向这些结点的指针为空。所以不考虑叶子节点信息的时候,最大高度是11,考虑叶子节点信息的时候,最大高度就是12了。

14、In C++,which of the following keyword(s)can be used on both a variable and a function?

A、static B、virtual C、extern D、inline E、const

15、What is the result of the following program?

[cpp] view plaincopyprint?char *f(char *str , char ch)

{

char *it1 = str;

char *it2 = str;

while(*it2 != '\0')

{

while(*it2 == ch)

{

it2++;

}

*it1++ = *it2++;

}

return str;

}

int main(void)

{

char *a = new char[10];

strcpy(a , “abcdcccd”);

cout<

return 0;

}

char *f(char *str , char ch)

{

char *it1 = str;

char *it2 = str;

while(*it2 != '\0')

{

while(*it2 == ch)

{

it2++;

}

*it1++ = *it2++;

}

return str;

}

int main(void)

{

char *a = new char[10];

strcpy(a , “abcdcccd”);

cout<

return 0;

}A、abdcccd

B、abdd

C、abcc

D、abddcccd

E、Access violation

16、Consider the following definition of a recursive function,power,that will perform exponentiation.

[cpp] view plaincopyprint?int power(int b , int e)

{

if(e == 0)

return 1;

if(e % 2 == 0)

return power(b*b , e/2);

else

return b * power(b*b , e/2);

}

int power(int b , int e)

{

if(e == 0)

return 1;

if(e % 2 == 0)

return power(b*b , e/2);

else

return b * power(b*b , e/2);

}Asymptotically(渐进地) in terms of the exponent e,the number of calls to power that occur as a result of the call power(b,e) is

A、logarithmic

B、linear

C、quadratic

D、exponential

17、Assume a full deck of cards has 52 cards,2 blacks suits (spade and club) and 2 red suits(diamond and heart). If you are given a full deck,and a half deck(with 1 red suit and 1 black suit),what is the possibility for each one getting 2 red cards if taking 2 cards?

A、1/2 1/2

B、25/102 12/50

C、50/51 24/25

D、25/51 12/25

E、25/51 1/2

18、There is a stack and a sequence of n numbers(i.e. 1,2,3,...,n), Push the n numbers into the stack following the sequence and pop out randomly . How many different sequences of the n numbers we may get? Suppose n is 2 , the output sequence may 1,2 or 2,1, so wo get 2 different sequences .

A、C_2n^n

B、C_2n^n - C_2n^(n+1)

C、((2n)!)/(n+1)n!n!

D、n!

E、None of above

19、Longest Increasing Subsequence(LIS) means a sequence containing some elements in another sequence by the same order, and the values of elements keeps increasing.

For example, LIS of {2,1,4,2,3,7,4,6} is {1,2,3,4,6}, and its LIS length is 5.

Considering an array with N elements , what is the lowest time and space complexity to get the length of LIS?

A、Time : N^2 , Space : N^2

B、Time : N^2 , Space : N

C、Time : NlogN , Space : N

D、Time : N , Space : N

E、Time : N , Space : C

20、What is the output of the following piece of C++ code ?

[cpp] view plaincopyprint?#include

using namespace std;

struct Item

{

char c;

Item *next;

};

Item *Routine1(Item *x)

{

Item *prev = NULL,

*curr = x;

while(curr)

{

Item *next = curr->next;

curr->next = prev;

prev = curr;

curr = next;

}

return prev;

}

void Routine2(Item *x)

{

Item *curr = x;

while(curr)

{

cout<

curr = curr->next;

}

}

int main(void)

{

Item *x,

d = {'d' , NULL},

c = {'c' , &d},

b = {'b' , &c},

a = {'a' , &b};

x = Routine1( &a );

Routine2( x );

return 0;

}

#include

using namespace std;

struct Item

{

char c;

Item *next;

};

Item *Routine1(Item *x)

{

Item *prev = NULL,

*curr = x;

while(curr)

{

Item *next = curr->next;

curr->next = prev;

prev = curr;

curr = next;

}

return prev;

}

void Routine2(Item *x)

{

Item *curr = x;

while(curr)

{

cout<

curr = curr->next;

}

}

int main(void)

{

Item *x,

d = {'d' , NULL},

c = {'c' , &d},

b = {'b' , &c},

a = {'a' , &b};

x = Routine1( &a );

Routine2( x );

return 0;

}

A、c b a d

B、b a d c

C、d b c a

D、a b c d

E、d c b a

【小米校园招聘笔试题】相关文章:

1.百度校园招聘笔试题

2.中国银行校园招聘笔试题及答案

3.某银行招聘笔试题

4.中国银行校园招聘笔经

5.大众点评校园招聘助理产品经理笔试题

6.TCL集团校园招聘C/C++方向笔试题

7.德勤招聘的笔试题

8.笔试题

9.笔试题University

10.CPMP笔试题

下载word文档
《小米校园招聘笔试题.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

  • 返回顶部