interview_sangfor_2


深信服二面(C/C++软件开发工程师)

下午两点开始的面试

开局先进行自我介绍

1、说说你参与度最高的一个项目吧

2、你在项目中遇到的最大困难是什么

3、平常有用过linux吗?说说grep是干嘛的吧

答:grep是文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来

4、ps命令是拿来干嘛的?

答:进程查看命令。

参数:

  • -A :所有的进程均显示出来,与 -e 具有同样的效用;
  • -a : 显示现行终端机下的所有进程,包括其他用户的进程;
  • -u :以用户为主的进程状态 ;
  • x :通常与 a 这个参数一起使用,可列出较完整信息。

输出规则格式:

  • l :较长、较详细的将该PID 的的信息列出;
  • j :工作的格式 (jobs format)
  • -f :做一个更为完整的输出。

5、说说main函数之前有哪些步骤

答:去掉注释、展开define(预编译);词法分析;语法分析;语义分析(编译);将汇编代码生成目标文件(汇编;把多个目标文件链接成一个可执行文件(链接;

6、给两个升序链表,合并成一个非递减链表

答:

 struct ListNode{
    int var;
    ListNode *next;
    ListNode(int a) : var(a){next = NULL;}
};

ListNode* ansList(ListNode *pHead1, ListNode *pHead2)
{
    ListNode *p1 = pHead1, *p2 = pHead2, *p0 = pHead1, *p3 = pHead2 -> next;
    while(p1 != NULL && p2 != NULL){
        while(p1 && p1 -> var < p2 -> var)p0 = p1, p1 = p1 -> next;
        p0 -> next = p2;
        p2 -> next = p1;
        p0 = p2;
        p2 = p3;
        if(p3)p3 = p3 -> next;
    }
    while(p2 != NULL){
        p0 -> next = p2;
        p0 = p2;
        p2 = p2 -> next;
    }
    return pHead1;
}

文章作者: cfrost
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 cfrost !
  目录