26道选择题,说是多选,可就没有发现一个多选。基本上没有智力题,全是逻辑和c语言的题目。
1道编程题,判断一个单链表中是否存在环。
1个英文问答题,饥饿与死锁的异同,要求用英文回答
选择题有一个typedef的题目以前没有碰到过:
using namespace std;
typedef char * constchar;
void main(int argc, char *argv[])
{
char s[] = "asdf";
const constchar a = s;
*a = ‘b’;
cout << s;
}
说明const constchar与constchar const 是一样的,都是一个指向char的常指针
还有一个sizeof的
union u{
int a[4];
char b;
double c;
};
struct s{
int a;
u b;
};
void main(int argc, char *argv[])
{
cout << sizeof(s) << endl;
}
在vc上结果是24,在gcc上是20
EMC的题目分三部分,第一部分是32道单项选择题,这一点就比CISCO厚道多了,主要是智力题和读程序判断输出的题目,以及一些计算机的基础知识,如二进制的换算什么的。第二部分是5道Information题,问申请Software Engineer 还是 Technical Solution Associate,将来希望在什么地方工作,等等。第三部分是两道大答题,第一题是编程题,我没做,第二题问 5 年职业规划是什么。下面详细讲。
先说智力题。EMC的智力题不是特别难得那种,也不是特别简单,牛人也不可能一眼看出答案来,除非做过,一般人做10分钟,也肯定不会算不出来。
记得比较清楚的大概有这样几道(当然原题都是英文的,我就自己的理解在这里拿中文写出来,可能会跟原题有偏差,所以仅供参考,有谁知道的话帮忙补充):
1. 有一个村庄,村庄里各户人家直到生出女孩来就不再生小孩了,而生男孩女孩的概率各是1/2。请问这个村庄男孩女孩的比例是多少
a. 2:3
b. 3:2
c. 1:1
d. 2:1
e. 1:2
c这个题目迷惑性很大,可以从这个思路解答:第一胎男女比例为1:1,同理第2到n胎比例都为1:1,所以总的比例是1:1
2. 有一家人,老公、老婆、儿子还有老公的妈妈,其中有一个是律师,一个是医生
如果医生比律师年轻,则医生与律师没有血缘关系
如果医生的女的,那么医生和律师有血缘关系
如果律师是男的,医生也是男的
请问我们能确定这家人里的那一个人
a. 老公是医生
b. 老婆是医生
c. 儿子是医生
d. 老公的妈妈是医生
e. 以上都不对
3. 实验室里有1000个一模一样的瓶子,但是其中的一瓶有毒。可以用实验室的小白鼠来测试哪一瓶是毒药。如果小白鼠喝掉毒药的话,会在一个星期的时候死去,其他瓶子里的药水没有任何副作用。请问最少用多少只小白鼠可以在一个星期以内查出哪瓶是毒药
a. 9
b. 10
c. 32
d. 999
e. 以上都不对
b每个瓶子用10位的二进制表示,白鼠编号为0-9,瓶子的某位为1表示给这个编号的白鼠喝这个瓶子的药
4. 有ABCDEF六个城市,每一个城市都和其他所有城市直接相连,问从A——B有多少种连接方式。路径不允许在两个城市之间往返。(这题的选项可能有的数记错了)
a. 78
b. 84
c. 65
d. 43
e. 以上都不对
c 1+P(1,4) +P(2,4) +P(3,4) +P(4,4)=65
然后说一下读程序题。就程序本身来说都是很简单的程序,基本学过C语言的话,读懂语句应该没有问题的。有好几道都是算数列的,还有几道是 char 型数组,还有算循环次数的题目。只有两道题记得比较清楚,题目都是以程序形式给出的,我就把程序的大概意思按照我的理解写出来,可能有错,所以仅供参考。
1. 菲波那契数列 1,1,2,3,5,8,13……的第40位除以第39位得多少?即,N40/N39=?
a. 1.666666
b. 1.618xxx(后面几位记不清了)
c. 1.600000
d. 以上都不对
b. Fabonacci数列连续两项之余好像是黄金分割点
2. 数列 0,1,3,6,10,15,21……从a0加到a10000得多少?
a. 50005000
b. 50000000
c. 49995000
d. 50000
e. 以上都不对
计算机基础知识的题目也不少,主要考点有B-tree,冒泡排序,堆栈,dual-link和单向link,小数点后的数十进制到二进制的转化,ox进制,按位异或,C 和C++ 的 struct有什么区别,什么样的排序算法效率高,什么样的排序算法节省空间,还有一些网络存储磁盘阵列的很基础的题目。都不难,只可惜没学过什么,或者说学了都忘了,所以就凭感觉了,看那个选项顺眼就选那个。
第二部分的编程题是要把N5 ->N4 ->N3 ->N2 ->N1的序列用一种自己熟悉的编程语言转化成N1 ->N2 ->N3 ->N4 ->N5。看起来是要用到指针的,由于我都忘干净了,所以啥也没写。
差不多客观题就这些了,不是特别难,也不简单。希望对大家有帮助^_^
转载请注明:在路上 » 【转】emc的笔试题及其解答