您的位置:首页 > 职场人生

一个小小研究生的华为面试之旅

2015-09-17 20:18 686 查看
自己是自动化学院的一名学生,当初为了不找工作,才决定的考研,如今又要找工作了,自动化是一门万金油,但是现在的热门专业却是软件,没有哪家公司可以离开计算机,离开软件。我从研一开始认真学习C,但是效果不是很理想。

所以我想给年轻的你一些忠告,多看书,多巧代码,要自己动手。

言归正传,华为笔试,这些网上很多可以自己找一下,当时我自己一个人做的,其实笔试你可以跟几个同学一起做,然后就是机试,第一道题,还比较简单,字符串的问题。

第二道题,环形链表的问题。第三道题,数独的问题。第三道题我不基本不会,都没怎看,把主要精力放在第二道题上,在规定时间里也没做对。华为的机试规矩是,第一题100分,第二题200分,第三题300分,100分就算通过,当然我也通过了。

专业面试,先问了一下我简历上的项目,然后喊我手写链表反向,我以前没注意看,就没写出来,第二道题是字符串比较的问题,比如abcde,那么abcde,bcdea,cdeab等都与abcde相等,我也没完全写对。第三道题,二分查找,我也没完全写对。

后面回学校自己写了下,虽然完成了,但是还是被淘汰了,希望大家能够早作准备。

二分查找:

#include "iostream"

using namespace std;

int find(int* a,int begin,int end,int x)

{

int s=(begin+end)/2;

if(a[s]==x)

return s;

if(a[s]>x)

{

end=s-1;

return find(a,begin,end,x);

}

if(a[s]<x)

{

begin=s+1;

return find(a,begin,end,x);

}

return -1;

}

void main()

{

int a[]={1,3,4,5,6,7,8,9};

cout<<find(a,0,7,9)<<endl;

}

注:没有加入边界啊,空啊等判断。严格说应该加上。

链表反向:

#include<stdio.h>

#include<stdlib.h>

#include"iostream"

using namespace std;

//链表定义

typedef struct node{

int data;

struct node *next;

}link;

//构造链表

link * create_link(link *head)

{

int data[5];

int i=0;

while(i<5)

{

scanf("%d",&data[i]);

i++;

}

link *p=head;//p为每次链表更新后的最后一个节点

for (i=0;i<5;i++)

{

link *q=(link*)malloc(sizeof(link));

q->data=data[i];

q->next=NULL;

p->next=q;

p=q;

}

return head;

}

//链表反向

#include"iostream"

using namespace std;

link* reserve_link(link *head)

{

link *last=head->next;//last为链表最后一个节点,反向后为第一个节点

int num=1;

while (last->next!=NULL)

{

num++;

last=last->next;

}

link *p,*q;//p为链表更新后反向那端开始的最后一个节点

p=last;

int i;

for (i=num-1;i>=1;i--)

{

int j=1;

q=head->next;

while (j<i)//找出原向的第i各节点p

{

q=q->next;

j++;

}

p->next=q;

q->next=NULL;//此时节点q的next域是空,不加此句最后的两个节点会成环

p=q;

}

head->next=last;

return head;

}

intmain()

{

link *head=(link*)malloc(sizeof(link));

head->data=0;

head->next=NULL;

link *li=create_link(head);

cout<<li->next->data<<endl;

link *relink=reserve_link(head);

cout<<relink->next->data<<endl;

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: