小米依然不刷简历,对非985,211的高校一视同仁,不像某易,哈哈。
到目前为止,做过的网上笔试也有十几家了,小米的题量出的还是比较合适的,10道选择题,3道编程题,还有两道不计分的附加题。
觉得小米的题难度不是很大吧(我应聘的职位是php后台开发),也是注重基础的考察,总结一下我那套卷考察到的知识点吧(题都是随机的)。
选择题(每道题对应考察的知识点):
1.指针数组(貌似笔试题考C语言指针的概率非常大~)
2.java(一段java代码,问你输出结果是什么,java没学啊啊啊,gg)
3.二叉树遍历(各大公司笔试必考题,给你前序和中序遍历的序列,让你求后序遍历序列,或者给你中序和后序,求前序and so on)
4.http请求状态码(给出了4个状态码,让选出哪个状态码是有两次http请求)
5.sql语句(这就不多说了)
6.忘了这道题考啥了
7.排序(总之把八大排序烂熟于心就没问题了,管他怎么考)
8.php操作mysql函数(基础!基础!基础!)
9.操作系统-磁盘的寻址方式(这里考到的是电梯调度算法。没记错的话,上次腾讯也考了这题,值得注意!)
10.计算算法时间复杂度和空间复杂度(计算斐波那契递归实现算法的时间和空间复杂度)
编程题,只做出一道水题。。。估计要拿到小米面试只有把三道题全A了吧,还是讲讲我那道水题。
做题的时候是能切换出浏览器的,所以才能截到图(当然也可以求助攻咯),应该能看清吧?
我想到用结构体数组做,先把输入的句子放到一个字符数组中,再把每个单词放到结构体数组中,最后逆序输出结构体数组中的元素(觉得这不是最好的方法吧,大神勿喷)。
#include
struct str{
char s[1001];
};
int main(){
struct str arr[1001];
char s2[1001];
int i,j,k;
while(gets(s2)){
i=0;j=0;k=0;
while(s2[i]!='\0'){
if(s2[i]!=' '){
arr[j].s[k++]=s2[i++];
}else{
arr[j].s[k]='\0';
k=0;i++;j++;
}
}
for(i=j;i>=0;i--){
printf("%s ",arr[i].s);
}
printf("\n");
}
return 0;
}