EMC校招笔试题目
-------------------------------------------------
1,7×(1/7) = 1是什么率?
乘法运算满足结合律,交换律和分配率。这个题目用的应该是交换律。
2,what's database view?
视图是根据用户需求从一个表或者多个表构建的虚表。
视图与表的区别:视图不存储数据,只存储定义。
视图与查询的区别:视图存储为数据库设计的一部分,查询则不是。
3,4*(3*2) = (4*3)*2是什么率?
结合律
4,ABCDEF六城市两两相连,问从A到B路径有多少个(路径上不能出现环)?
这是个很简单的排列组合问题。
经过0个城市的路径:1
经过1个城市的路径:4
经过2个城市的路径:4*3=12
经过3个城市的路径:4*3*2=24
经过4个城市的路径:4*3*2*1=24
共1+4+12+24+24=65
5,问要进行stable的sorting,会避免使用哪种算法?
常用的排序算法中,稳定排序有:冒泡排序,插入排序,归并排序,基数排序
不稳定排序有:堆排序,快速排序,选择排序,希尔排序
6,0.15625写成二进制是什么?
0.00101
7,问1,2,3,5,8,13...这个数列,第58个除以第57个得多少?
这是个斐波那契数列。如果是个选择题,可以用估计法,至少这个数大于1.5的。
8,Raid0的作用
A RAID 0 splits data evenly across two or more disks without parity information for speed. RAID 0 was not one of the original RAID levels and provides no data redundancy. RAID 0 is normally used to increase performance, although it can also be used as a way to create a large logical disk out of two or more physical ones.
9,火星上到处是硬币,随便拿起一个,如果是头朝上的就翻成字朝上的,如果是字朝上的就抛出,落地后有各一半的机会头朝上或字朝上。再随便拿起包括刚才那个在内的所有硬币中的一个,重复前述步骤。问,很多很多次后字朝上和头朝上的硬币比例?
这个题目真心有点难,是个极限概率的问题,用我这已经忘得差不多的概率论的知识姑且推导如下:
一开始星球上的硬币可以假设是随机分布的,但是这点不重要,因为我们要求的是无限情况,无论初始情况什么样子,无限扔了之后,都会达到一个稳定的状态。那么这时候,求所有硬币字朝上的与字朝下的比例,与求一个硬币扔了无限次之后字朝上的概率与字朝下的概率比是一样的。
p(字朝上,n)表示操作了n次之后字朝上的概率,p(头朝上,n)表示操作了n次之后字朝下的概率,那么有:
p(字朝上,n)=p(字朝上,n-1)*(1/2)+p(投朝上,n-1)
p(头朝上,n)=p(字朝上,n-1)*(1/2)
那么,
lim(p(字朝上,n)/p(头朝上,n))=lim((p(字朝上,n-1)*(1/2)+p(投朝上,n-1))/(p(字朝上,n-1)*(1/2)))
a=1+2(1/a)
可得到a=2
9,raid5
是一种存储性能,数据安全和存储成本兼顾的解决方案;他使用的是DISK striping(硬盘分区)技术,raid5至少需要3个硬盘,raid5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息组成raid5的各个磁盘上,并且奇偶校验信息和相应的数据分别存储于不同的硬盘上,raid5的一个硬盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
10,问又要考虑安全又要充分利用带宽的网络中,是先加密后压缩,还是先压缩后加密?
这题不知道。至少,认为压缩后产生的加密数据变小所以先压缩后加密,是不对的。别忘了,即使对原始数据先加密,产生的多余数据也会被压缩,数据量不一定比前种方法多。
11,问要使一群人存在2人同月出生概率不低于50%的最小人数是多少?
P(k,12)/12^k<0.5
P(k,12)/12^k是k个人生日各不相同的概率,P(k,12)是4从12个月取k的月的排列。
k的最小值是4.
13 写一个画圆的函数
int drawCircle(int x, int y, int radius);
要求:要让圆看起来连续圆滑,要画多余4×radius个点。
这个关键是要计算出圆弧上点的位置,如果1度一个点,那么需要画360个点,如果圆心的坐标是(x,y),从最上面的点为第0个点,顺时针,第i的点的x,y坐标为:
xi=x+sin(i/2pi)
yi=y+cos(i/2pi)
然后把相邻点用直线连接起来。
画4*radius的点也同样。
14, 函数声明如下
int func(int i ,int N);
其中i <= N,功能输出i递增到N再递减到i的整数,每行输出一个数。比如func(1,5)就是
1
2
3
4
5
4
3
2
1
要求是只用一条语句(函数体就一个分号)完成功能。要求:
不能有逗号,不能有新变量声明,不能用?:,不能用循环,不能用char int 什么什么的保留字符。
这题只能有一句变态还形容了。
经过测试,这么一句
int func(int i,int N){
return printf("%d\n",i) && (i<N && ((func(i+1,N)) || !printf("%d\n",i)));
}
是对的。
这利用了&&和||运算的性质还做出选择,利用递归实现了循环的输出。
------------------------------------------------------------------------------
1,求=?
这里利用了一个费马小定理,这个定理是初等数论四大定理之一。
费马小定理:如果a是一个整数,p是一个质数,那么有。也就是说a的p次方与a对p同余。
所以97的59次方对59取余=97%59=38
如果a不是p的倍数,这个定义也可以写成:
如果a与p互质,那么a的p-1次方对p取模的结果是1.
2,int a=1000000000, b=2000000000; a=a+b;b=a-b;a=a-b; 最后a,b是多少?
a=a+b;b=a-b;a=a-b是交换a与b的算法。
所以,现在a=20000000000,b=10000000
3,如何判别一个数是unsigned
a>=0 && ~a>=0,如果a不是unsingned那么a>=0必有最高位为0,取反必为1,那么肯定变为负值,矛盾,所以a为unsigned。
无符号数最高位不代表符号位。
a>=0 && -a>=0 不满足,可以举一个反例0.
4,100层楼,两个鸡蛋。某层之上扔鸡蛋就会碎。最坏情况下,问至少要测试多少次才能试出这个层数。
它是问最坏情况下的最小测试次数。要想明白两个问题,一是怎么测试,二是怎么才是最坏情况。
加入在50层楼扔第一个鸡蛋,碎了,那就只能从1层逐层扔,这是最坏的情况是在49层第二个鸡蛋碎了,这就扔了共50次鸡蛋。如果50层的没碎,最坏情况就是第100层第二个鸡蛋才碎或是没碎,这也需要扔50次。
如果先在第10层扔,碎了从第1层开始扔第2个鸡蛋,没碎在从第20层扔第一个鸡蛋,然后30层,40层,也就是每次卡在一个10层的区间测试,这样做的最坏情况在第99层,共扔了10+9=19次鸡蛋。
10层10层的卡区间,问题就在于每往上走一个区间,扔的次数就会比上一次多一个,所以要想每个区间扔的次数一样多,那么区间值就必须每次减少1。假设开始是x层,下次就到x+(x-1)层...,最后x+(x-1)+(x-2)+...1>=100。这个和应该大于等于100,应该找这个最小的x,这个值是14.
5,25匹马,每次比赛可选5匹马赛出次序(无法计时)。问至少要比赛多少次才能确定跑得最快,次快和第三快的三匹马。
7次。首先分为5组,每组进行一次比赛,然后每组的头一名共五匹马比赛一次。假设第一组快于第二组快于第三组依次。最后一次安排第一组的二三名和第二组的一二名和第三组的第一名。
6,上台阶,每次可走一台阶和两台阶,问上10个台阶有多少种走法
f(10)=f(8)+f(9)=89
---------------------------------------
1,经过最少多少次比较能找出1000个元素中second smallest的一个?
“
用n个节点作为树叶建立竞赛树,两两比较,谁小谁胜出。最后的胜者为smallest,内部节
点的次数为n-1,即为比较次数。 因为在比较的过程,second smallest的只可能输一次,这一次就是跟smallest元素比较时
的产生的。所以把跟smallest比较的过的数拿出来,一共是 ceiling(lgN) (树的高度),这
些数中最小的就是second smallest.我们可以用前面同样的办法,用这ceiling(lgN)个数
建立竞赛树,求得最小的,比较次数为ceiling(lgN)-1 所以总的比较次数最多为 n+ceiling(lgN)-2
”
2,10个口袋每个有100个金币,其中一个口袋每个金币9grams,其余正常的金币都是10grams。有个天平,问最少几次可以找出那个口袋
10个口袋依次取 0 1 2 3 4 5 6 7 8 9 个金币,称一次看看比 9*10/2*10 缺多少就知道了
这题目的解法真妙!
3,实验室里有1000个一模一样的瓶子,但是其中的一瓶有毒。可以用实验室的小白鼠来测试哪一瓶是毒药。如果小白鼠喝掉毒药的话,会在一个星期的时候死去,其他瓶子里的药水没有任何副作用。请问最少用多少只小白鼠可以在一个星期以内查出哪瓶是毒药
这题真够经典的,就今年校招,我都见过好多次了。
1000个瓶子,用二进制编码,即0000000001~11111101000。然后给老鼠编号1-10,1号老鼠喝瓶子编号第一位是1的瓶子。2号老鼠喝瓶子编号第二位为1的瓶子,以此类推。假设3,4,5号老鼠死了,即第0000011100=28号瓶子有毒。因为只有28号瓶子被3,4,5号老鼠同时喝了。
EMC校招笔试题目的更多相关文章
- [实战演练]蜻蜓FM2014年校招笔试题目 - 规则二叉树
题目:某规则二叉树的定义是:对于树中任意两个叶结点A.B,他们与根结点的距离分别是d1和d2,|d1-d2|<=1.请写出函数 bool isRuledTree(Node *root)的代码实现 ...
- # C/C++的笔试题目
p,li { white-space: pre-wrap } # C/C++的笔试题目 + include<> 和include"" 的区别 + sizeof操作符与字 ...
- 汇顶科技&&硬件类笔试题目
汇顶科技硬件类笔试题目,每年都有变化,但是题目类型都差不多.汇顶科技17年在南京地区大概招了20个左右吧,给的待遇还是不错的,工作地点上海深圳
- C/C++笔试题目
1. C语言中无符号数与有符号数 unsigned ; ; printf( printf( ? 有符号数和无符号数在进行比较运算时(==,>=,<=,>,<),有符号数隐式的转 ...
- 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目
题目地址:http://ac.jobdu.com/problem.php?pid=1525 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串 ...
- 某IT校招笔试
前言 博主明天上午9点还有面试,今天突然看到某大牌IT公司笔试题目,必须做一下了 题目 1.假设把整数关键码K散列到N个槽列表,以下哪些散列函数是好的散列函数 A: h(K)=K/N; B: h(K) ...
- [笔试题目]使用Stringbuffer无 参的构造函数创建 一个对象时,默认的初始容量是多少? 如果长度不够使用了,自动增长多少倍?
[笔试题目] 使用Stringbuffer无 参的构造函数创建 一个对象时,默认的初始容量是多少? 如果长度不够使用了,自动增长多少倍? StringBuffer 底层是依赖了一个字符数组才能存储字符 ...
- 美团点评2017校招笔试真题-算法工程师A
美团点评2017校招笔试真题-算法工程师A 1.下面哪种STL容器的实现和其它三个不一样 A. set B. deque C. multimap D. map 正确答案: B STL的容器可以分为以下 ...
- 美团点评2017校招笔试真题-算法工程师B
美团点评2017校招笔试真题-算法工程师B 1.以下关于经典的k-means聚类的说法哪个是错误的? A:k-means聚类算法是全局收敛的 B:k-means的聚类结果和初始聚类中心点的选取有关 C ...
随机推荐
- js验证手机号码,邮箱,qq号
function validateMail(str:String) { var re_m = /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2} ...
- Eclipse git插件使用
1.Eclipse git插件使用 1)配置提交用户名和邮箱 2)在eclipse中选择Show View 搜索git 3)点击clone按钮 选择代码保存路径 4)导入项目 5)git插件功能介绍 ...
- 【Leetcode 371】Sum of Two Integers
问题描述:不使用+是或-操作符进行整数的加法运算 int getSum(int a, int b); 我的思路:把整数化成二进制进行运算,注意类型是int,也就是要考虑负数.关于负数的二进制表示可见之 ...
- 20165226 2017-2018-4 《Java程序设计》第8周学习总结
20165226 2017-2018-4 <Java程序设计>第8周学习总结 教材学习内容总结 第十二章 创建线程的方式有三种,分别是: - 继承Thread类创建线程,程序中如果想要获取 ...
- nginx 作为反向代理实现负载均衡的例子
以下我们就来举例说明如何使用 nginx 实现负载均衡.因为nginx在处理并发方面的优势,现在这个应用非常常见.nginx 这个轻量级.高性能的 web server 主要可以干两件事情: 〉直接作 ...
- 第四章 Kubernetes 架构
4.1 Master节点:Master是大脑,运行如下Daemon服务: API Server(kube-apiserver) API server提供了HTTP/HTTPS RESTful ...
- 使用Ajax异步上传文件
之前上传文件都是用表单form设置post请求和enctype类型: <form id="upload_form"action="" method=&qu ...
- JAVA构造函数在超类和子类调用注意事项
1.构造函数: 当子类继承一个父类时,构造子类时需要调用父类的构造函数,存在三种情况 (1),父类无构造函数或者一个无参数构造函数,子类若无构造函数或者有无参数构造函数,子 ...
- OD 实验(三) - 破解程序的文件验证
需要破解的程序 双击程序,提示需要许可证文件 逆向程序 用 OD 打开 LoadIconA 为加载图标 LoadCursorA 为加载鼠标 F8 走一下程序 走到了这里,调用了 CreateFileA ...
- Julia - 复合表达式
复合表达式是用一个表达式按照顺序对一系列子表达式求值,并返回最后一个子表达式的值 有两种方法:begin 块和 “;” 链 begin 块 begin 块的多行写法 julia> a = beg ...