2014年阿里巴巴研发工程师招聘笔试题
本来以为准备尚可,最后只能说句fu~ck
老早赶去本部,本来准备好好歇会认真笔试来着,谁知道晚上吃饭一不小心吃多了,撑得考试的时候血液直冲胃部,愣是一点都不给大脑,结果昏昏沉沉的考了个颜如玉。建议大家面试前千万不要吃太多,真的影响思考敏捷度。在一个就是,压力再大也别提前交卷,在我们考场中,起码有6个人在三十分钟刚过就交卷了,而那个时间我正好在做选择第8题到十几题的样子。废话不说了,跟你们说一下我印象中的笔试题吧。
1.主机Ip192.168.5.121,子网掩码255.255.255.248求主机网络号
answer:应该是192.168.5.120
2.64位系统中,int *Array[2][3]变量的sizeof是多少
answer:算一算就知道了,64位指针8字节8*6=48
3.linux中的一个问题,好像du -sh/home和df -sh/home区别
answer:绝壁不会
4.x,z是int型,y是shor型,x=127,y=-9,z=x+y用十六进制表示xyz的值
answer:
5.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray[3][2]=
answer:必然越界
6.快排时间复杂度:
answer:O(nlogn)
7.顺序表中删除第i个元素需要移动多少个元素,以及在i位置前插入一个数字需要移动多少个元素
answer:n-i,n-i+1
8.void foo(char *x)
{
x++;
*x='a';
}
main()
{
int hello="hello";
foo(hello);
cout<<hello;
}
求结果是什么:妈的居然忘了压栈的时候压入的是一个地址,虽然函数运行时会为这个指针添加一个临时变量,但通过指针临时变量改变的值是会存留下去的……所以脑子理所当然的写了个傻帽似得hallo
answer:hello
9.char foo(char x,char y)
{
if(x) return y;
}
main()
{
int a='1',b='2',c='3';
cout<<foo(foo(a,b),foo(b,c));
}
answer:2
10.int foo(int n)
{if(n<=2)
return n;
else
return foo(n-1)+foo(n-2);
}
answer:13
11.貌似是个什么主流计算机中运行一个递归调用foo(35),则计算机要运行多少分钟
按照印象写一下吧:
foo(itn n)
{
int a=0;
while(x-->=0)a+=foo(x);
return max(1,x);
}
A;几秒钟 B:几毫秒 C:几分钟 D:几个小时
当时看到那题就懵了,递归调用34!+33!+……1!次,妈的,老子怎么知道主流电脑什么东西,运算次数上亿?上千亿?更何况这几个阶乘也算不出来,所以怒空选%>_<%
answer:D(回来程序运行了下,20分钟电脑已经剧烈的喘息了)
12.度为4的树中,有20个度为4的节点,10个度为3的节点,1个度为2的节点,10个度为1的节点,求叶子节点数……节点数
我去,明眼人一看就是有公式的嘛,结果我就画图在那里找啊找啊,自以为找到规律了,算完后回来查算法,妈的居然错了
answer:82
13.一个进站出站问题,abcde进站,不可能的出站顺序……不解释
14.二分法查找有序数组x位置的时间复杂度……你记得吗?反正我不记得了
answer:O(logn)
15.求最大流最小割大家还记得吗?具体的图忘记了,只记得当时算了个46
16.有一天一个年轻人来王老板店里 买了一件礼物,这件礼物的成本是18元,标价是 21元,年轻人拿出100元要买这个礼物,王老板 当时没有零钱,用那100元向街坊换了100的零钱 ,找给年轻人79元,但后来街坊发现那100元是 假的,王老板无奈还了街坊100元,问这次交易 中王老板损失了多少?
(嘿嘿,类似这道题,不过不一样,这个答案是97)
answer:85
17. 2^100mod7=?
answer:2
18.某公司A,B两区月什么率(成为会员的人数/访问店铺的人数)分别提升5%和10%,然后后面一系列答案
answer:……具体的忘了
………………………………………………………………无耻的分割线……………………………………………………………………………………………………………………………