zoukankan      html  css  js  c++  java
  • 第一次面试总结

    人生第一次面试,还是有点紧张面试,前一天晚上两点左右才睡着,一直在脑子里不断说着自我介绍,哈哈;

    我坐下之后想着先来个自我介绍吧,就跟面试官说,我要不先来个自我介绍吧;然后就把我凌晨想的自我介绍按部就班说了一遍;哈哈

    说完之后就开始发问了

    1、首先让我写一个双向链表,然后就写了个双向链表的结构;

    struct dlist{
        int val;
        dlist *next;
        dlist *last;
    }

    这道题应该主要考察next和last指针是什么型的,这里应该是dlist类型;

    2、然后面试官让我写一个函数指针,瞬间感觉有点蒙了,以前写过,但是好久没用一时真想不起来;

    回来查了下才回忆起来,函数指针就是一个指针,但是这个指针指向的是函数,简单的不是定义成数据类型的定义如下:

    #include<stdio.h>
    
    int (*func)(int a, int b);        // 声明函数指针 
    
    int max(int a,int b){
        return a > b ? a : b;
    }
    
    int main(){ 
        func = max;                   //将max函数的地址赋给func
        printf("%d
    ",(*func)(1,2));  //先使用*解引用,然后使用该函数
        return 0;
    }

    上面函数指针定义为一个返回值为int型,包含两个int型参数的函数,在使用函数指针的时候,先给指针func赋值,然后解引用函数指针;

    还有一种就是定义一个函数指针类型:

    #include<stdio.h>
    
    typedef int (*PTRFUN)(int , int);    //定义一个新的函数指针类型,PTRFUN,这种类型的变量为指向返回值为int型,有两个int型参数的指针
    PTRFUN func2;                        //然后就可以想使用int、char一样使用PTRFUN,func2就是一个函数指针
    
    int max(int a,int b){
        return a > b ? a : b;
    }
    
    int main(){ 
        func2 = max;                   //将max函数的地址赋给func2
        printf("%d
    ",(*func2)(1,2));  //先使用*解引用,然后使用该函数
        return 0;
    }

    3、第三个问题,面试官问我什么是static:

    这道题还好,之前看过很多遍所以回答的挺快:

    第一个作用:限定作用域。当同时编译多个文件时,所有未加static前缀的全局变量都具有全局可见性。例如在两个不同的cpp文件中,在a.cpp中定义的变量int A如果是全局变量,那么在b.cpp中可以加上依据extren int A,然后就可以直接使用了;

      但是定义变量A的时候加上static int A;那么a中定义的静态全局变量就不可以在b中可见;当然,static也可以作为函数的前缀,也是用来限定作用于,在当前文件内可见;

    第二个作用:保持变量内容持久化,只初始化一次。如果函数内局部变量是非静态的话,每次进入调用函数,操作系统会自动在栈中开辟一个地址用于保存这个变量,然后让函数结束时,该变量由系统自动注销。

      当定义的是局部静态变量时,该局部变量只初始化一次,然后保存在静态数据区(保存在静态存储区的变量只有两种,static变量和全局变量),函数结束改变量不注销,下一次调用函数的时候,该变量依旧存在,并且值不变;

      当结构或类中定义静态成员变量时,该变量属于所有对象,而不是某一变量私有成员变量;

    第三个作用:默认初始化为0.静态存储区内的所有字节默认值都是0x00,包括静态static变量和全局变量;

    4、第四个问题,问我int*占几个字节,char*呢?答案是跟随系统,如果是32位系统的话就是4字节,如果是64位系统的话就是8字节,不管是什么类型的指针都一样;因为指针就是一个地址,跟随着系统的寻址空间走,系统寻址空间是32位,指针的大小就是2^32,也就是4个字节;

    5、最后一个问题:一个很普通的问题,但是提前没准备也是有点蒙。。。问我有什么要问面试官的吗?我愣了几秒钟,就说我本科不是通信方向的,硕士阶段也不是哪个方向,如果以后可以进中兴的话,有什么需要重点补习的吗?然后面试官说这个根据以后分的不同岗位而定,现在把自己的课题搞好就行了;一面就这么结束了

    技术面的时候大概就问了这么五个问题,总体还算简单,都比较基础,但是函数指针那个确实有点遗憾,中兴的面试一般都比较基础;

    除了这些基础的问题,还问了项目上的问题主要问项目的难点在哪里,我是怎么解决的;这个就因人而异了

    技术面结束后,在外面等了没多久,hr小哥就过来说一面过了,直接带我去综合面那里;

    综合面:

    综合面记得聊得挺久的,问了好多问题,有的想不起来了,就说些能想起来的;、

    你觉得你是一个什么样的人?

    你研究生阶段有什么遗憾?

    课题组有多少人,项目分工如何?

    怎么跟课题组的博士交流?

    老师有没有夸过你?

    遇到老师不理解的时候会怎么样?

    平时有什么爱好?

    平时会看什么书?鬼知道我为什么答得是算法导论

    研究生阶段有没有组织过什么活动?

      慢慢求职高峰期就要来了,希望大家能找个好工作,加油,学习很重要;

  • 相关阅读:
    C#操作SQLite 报错 (Attempt to write a readonly database)
    JS判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
    JueryUI插件的简单应用(一):介绍及第一个示例
    在VS2008(Winform)中使用WebService
    Oracle触发器使用
    C# 创建Windows服务。服务功能:定时操作数据库
    aspnet前后台条件下根目录的读取
    xshell实现端口转发
    (转)使用FreeType实现矢量字体的粗体、斜体、描边、阴影效果
    D3D坐标系统和几何DirectX Griaphic学习
  • 原文地址:https://www.cnblogs.com/jhmu0613/p/6884866.html
Copyright © 2011-2022 走看看