职位类型:技术类
笔试时间:2014年8月
招聘公司:小米
楼主参加了小米校招的宣讲会,被圈粉了,感觉小米公司的前景不错,工作人员也很亲切。但是悲催的是,笔试就被鄙视了。。。
小米校招技术类笔试题目分享
下面是记得的一些笔试题,回忆版及供参考~
1.黑盒测试包括什么?(有好几个选项忘了)
2.正则表达式 x|(yx+) 选出不匹配的
A,x B,xyxx C,yx D,yxxx
3.将 abcde 入栈,不可能的出栈顺序
A.abcde
B.decba
C.decab
D.edcba
4.Struct S
{
int * p;
int * p2;
};
void main()
{
struct S mys;
int *p=&mys.p;
p[0]=1;
p[1]=2;
}
问程序的运行结果(有好几个选项,忘了,其中一个是程序已经崩溃)
5.5*4 的矩形,这里有几个长方形?(填空题)
6.(这一题很巧妙) x=5678 求函数返回数值(填空)
int foo(x)
{
int count=0;
while(x)
{
count++;
x=x&(x-1);
}
return count;
}
7.举办m个队(m>=3)单循环比赛,赢得3分,平2分,负0分,(前3名)有2个小组提前出线,(分数一样就抽签决定),那出线至少是几分?(填空题)
8.考察 C++的继承
# include “stdafx.h”
# include
using namespace std;
class A
{
public :
void virtual run()
{
cout<<”a”<
}
void disp()
{
cout<<”aa”<
}
};
class B :public A
{
public :
void run()
{
A::run();
cout<<”b”<
}
void disp()
{
cout<<”bb”<
}
};
void main(void)
{
B b;
b.run();
b.disp();
A * a=new B();
a->run();
a->disp();
}
结果:(填空题)
9.晚上过桥问题 有 5 个人,过桥时间分别是 1,3,6,8,12(S),桥每次最多 2 个人,灯只有 30S,怎么走?(填空题)
10.数字规律变化题(忘了, sorry)
11.编程题
有一个数组(非递减),旋转了不知道多少个位,在该数组中找一个数的下标。写出代码(用 C/c 或者 java)并分析时间空间复杂度,考虑效率(很重要)。(本人认为可以采用改进的折中查找法)
eg:数组 [6,7,1,2,3,4,4] 找 3,返回 4;
函数原型
C/C++:
int find(int * a,int n,int count) count 为 a 数组长度;n 为要查找的数
Java:
int find(int []a,int n)
总体上感觉小米的笔试还是比较有难度的,要有扎实的基础、熟练的算法、清晰的思维才能通过啊,要不然就要像我一样心碎啦。