2016/10/1 国庆新更

很长时间没有更新博客了!因为最近都做完了笔试,大多是进行的都是面试,所以也没有什么干货可以写上来,只能写写阶段性的东西!

这期间还是进行了三个笔试,一个是联想的,SHL,内容很多,涉及到英语理解,还有数学计算、逻辑推理、图形规律,做的人直恶心;第二个是斐讯的,这个投的岗位是C语言工程师,但是不知道为什么做的题目感觉像是嵌入式的,可能需要的方向是基于linux的C语言工程师吧,这都不是关键,关键的是两道编程题居然需要自己手动缩进,这真是操了蛋了;第三个是TPLink的,TPLink的题目好像都忘记了!记了!了!妈的,这就充分说明应该及时的更新到博客上面来,要不是后立即望!

斐讯的编程题目写一写。

  • 第一道是完成一个下面的函数void* memset(void* dst,int c,unsigned int n)。我的理解是这道是写一个函数,实现从dst位置开始,把n个内存单元初始化为值c。

其实,我已经忘了我当时自己写了怎么样的代码,但是今天在写博客的时候,脑袋里一直萦绕着一个问题,他给出了起始的地址,那么:C语言中怎么在给定起始地址的情况下去申请内存呢?想了半天,好像没有遇到过这样的问题!再仔细想想,这个内存是不是已经申请完了呀?在查询了网上的说明之后,发现好像的确是这样的。那么另一个问题又来了,这个返回地址需要我返回什么呢?

  • 第二道题目是给你双链表节点的结构体,让你完成三个功能:1、查找第i个位置的值(忘了是不是这个);2、在第i个位置插入值为x的节点;3、删除第i个节点;4、查找值为x的节点(返回查找到的第一个找到的值还是位置?都没有说)

10月3日凌晨把部分的代码补上来,以后继续增加

#include<iostream>
using namespace std;
typedef struct biLink
{
    int val;
    struct biLink * prv;
    struct biLink * next;
}bink;
void insert_new_node(bink* hd,int i,int val)
{
    int j = 0;
    bink* p = hd;
    bink* front = NULL;
    bink* rear = NULL;
    if(p == NULL)
    {
        cout<<"Link is empty!Add in the after node"<<j<<endl;
        bink* n = (bink*)malloc(sizeof(bink));
        n->val = val;
        n->next = rear;
        n->prv = front;
    }
    else
    {
        if(i == 0)
        {
            rear = hd;
            bink* n = (bink*)malloc(sizeof(bink));
            n->val = val;
            n->next = rear;
            n->prv = front;
        }
        else if(i != 0)
        {
            p = hd;
            for(j = 0;j<i-1;j++)
            {
                if(p->next == NULL)
                {
                    cout<<"Length is not enough!Add in the after node"<<j+1<<endl;
                    break;
                }
                else
                {
                    p = p->next;
                }
            }
            front = p;
            rear = p->next;
            bink* n = (bink*)malloc(sizeof(bink));
            front->next = n;/这一行也很关键啊
            n->prv = front;
            n->val = val;
            n->next = rear;
        }
    }
}
int find_by_value(bink* hd,int val)
{
    if(hd == NULL)
    {
        cout<<"No NODE to find!"<<endl;
        return -1;
    }
    bink* p = hd;
    int i = 0;
    while(p->next != NULL)
    {
        i = i + 1;
        if(p->val == val)
        {
            return i;
        }
        p = p->next;
    }
    if(p->val == val)
    {
        return i+1;
    }
    return 0;
}
void main(void)
{
    typedef struct biLink blink;
    blink* rear;
    blink* front;
    blink* hd = (blink*)malloc(sizeof(blink));
    blink* p = hd;
    p->prv = NULL;
    p->val = 0;
    p->next = NULL;
    front = p;
    for(int i = 0;i < 5;i++)
    {
        p->next = (blink*)malloc(sizeof(blink));
        p = p->next;
        p->prv = front;
        front = p;
        p->val = i+1;
        p->next = NULL;
    }
    p = hd;
    insert_new_node(hd,2,10);///好了!!!
    while(p->next  != NULL)
    {
        cout<<p->val<<endl;
        p = p->next;//这一行啊!真实坑死爹了!
    }
    cout<<(find_by_value(hd,7))<<endl;///查找没有问题了!
    system("pause");
}

最近的另外一个烦心事情就是失去了很多机会。华为的薪资与同学的差距很大,导致自己不想签;607因为地点在无锡,对象不想去,但是其实607将来能过得十分的好,发展也是机会多多;14所也是同华为一样的结果,在面试的时候表现的不好,收到面试官的评价不高,感觉会在之后机会受限,犹豫要不要签;航天二院那边,25所没信儿,207直接说明白了不要;一汽大众面试到最后等消息,是否能够通过没有消息,而且,现在一汽大众降薪的传言四起,并且专业不是很对口;后面的TPLink工作地点在深圳,斐讯感觉不好过去,联想难于登天,中国移动杭州研究院与苏州研究院太晚!

当然,最让我心烦的还是我的那位导师啊,有一万件事情,项目、课题与项目、发论文,找完工作的人在玩耍,没有找到工作的人却在做着项目,这不摆明了是在坑人吗!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值