2018深信服醒狮计划面试题以及经验

20人阅读 评论(1) 收藏 举报
分类:

版权声明:本文为博主原创文章,未经博主允许不得转载

  突然收到面试通知搞得我猝不及防。现在分享一下自己的面试题目和感想。希望对大家有所帮助。由于楼主比较水,又没有时间好好复习,所以感觉面试不是很好,结果还没有出来,并不知道,能不能收到offer。所以,大家勿喷。

  刚一进门,面试官让自我介绍。我就巴拉巴拉说了一堆自己会什么啊,学过什么啊,做过什么项目的,至于获得过什么奖项啥的根本没说,其实说了也没多大用,最主要的原因是我紧张,忘了说,哈哈。

来来来,进入正题

1、什么是内联函数啊,什么是宏啊?

内联函数:是函数,可以重载。是C++为了提高程序的运行效率做的一种改进。就是在编译阶段将编译代码和其他的程序代码“内联”起来。我个人觉得内联函数是借助空间换时间。内联函数,就是使用相应的函数代码替换函数调用。如果执行这段函数代码的时间超过函数调用的时间,使用内联函数就显得苍白无力了。只有在代码执行很短的时候,才能显示出内联函数的优越性。

宏定义不是函数,只是使用起来像函数。用复制宏代码的方式代替函数调用。宏定义在预编译时候使用宏名代替宏体,就是字符串替换。宏定义没有类型检查,无论对错,直接替换。

2、什么是构造函数、析构函数

构造函数:专门用于创建新对象的函数。构造函数名和类名相同,没有返回值,没有声明类型。构造函数用new分配内存。

析构函数:用构造函数创建对象后,程序负责跟踪该程序,直到过期为止。对象过期后会调用特殊的成员函数--析构函数。析构函数完成清理工作,用delete释放内存。

3、什么是拷贝构造函数

拷贝构造函数是一种特殊的构造函数。它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。

拷贝构造函数通常用于:

1.通过使用另一个同类型的对象来初始化新创建的对象。

2.复制对象把它作为参数传递给函数。

3.复制对象,并从函数返回这个对象。

4、堆和栈

这个概念应该可以说好多好多。我当时激动的只说了一点。

堆:可以是不连续的,释放由程序员控制,容易产生memory leak。堆只能动态分配;

栈:是连续的,是由编译器自动管理,无需人工控制。在计算机底层实现,效率比较高。还有就是栈既可以动态分配,也可以静态分配。

5、设计模式你知道那几个,实现一种

 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模 式、状态模式、访问者模式、中介者模式、解释器模式。

其实还有两类:并发型模式和线程池模式。

我只说了单例模式,然后让我实现。

6、strcpy底层如何实现的(手写代码)

巴拉巴拉写了一堆,不知道,自己写对了没,我用的for循环放到一个新的数组里面实现的。各位大神有知道的,可以评论区留言一下,共同进步。

7、虚函数和纯虚函数

  虚函数的作用:运行时多态。既有定义,也有实现。

  纯虚函数,只定义没有实现,就是“抽象类”。

还有就是我同学问到了冒泡排序的算法手写,掌握排序算法也是必须的啦。最后还问了linux的简单命令,还有就是自学了什么,个人觉得,面试官是想了解你的自学能力吧。

   基本上就记得这么多了,昨天面试完,很累就没写,今天发现有的问题都忘记了,我总共面了30多分钟,其他人也有时间少点的,希望对于初次面试的人儿有点帮助。因为我也是第一次面,超级紧张(ps:基础有点差原因吧)。

 

查看评论

深信服2018笔试瞎写版

第一题:堆排序 #include <iostream> using std::cin; using std::cout; using std::endl; voi...
  • Biopunk
  • Biopunk
  • 2018-03-14 23:26:03
  • 176

第一个offer-深信服&面试经验

出来混迟早还是要还的,这句话我是深深体会到了,也许是以前的三年时光不够努力吧,或许是没有重视成绩的原因,一些课程比如操作系统,网络原理,数据库专选没有选,学的不是很好,所以笔试面试bat京东都失败了。...
  • libi_rong
  • libi_rong
  • 2016-10-18 23:54:12
  • 8547

深信服笔试题1

1  char   *p   =   "hello   world";       p存储在()  //堆栈     char   p[ ]   =   "hello   world";     p存...
  • ali_dongdong
  • ali_dongdong
  • 2017-08-25 15:53:08
  • 2981

深信服 linux软件开发面试题整理

1、结构体可以进行比较 int memcmp ( const void * ptr1, const void * ptr2, size_t num ); Compare two blocks of...
  • callinglove
  • callinglove
  • 2013-03-04 00:09:23
  • 8422

深信服软件开发面试---体无完肤

心里有预期,没有很难过,第一次面试,打击很大,  问了7个问题,没一个回答好的,只有最后一个面试官问可以了吗, 非常确定回答可以了,然后跑了。 前面进去首先把你的笔试试卷找了出来,然后热身的问了几个小...
  • ccityzh
  • ccityzh
  • 2015-09-25 17:35:46
  • 4925

深信服 一面 2018 秋招

深信服 一面 2018 秋招 1.自我介绍 2.计算一个文件的大小
  • xfhy_
  • xfhy_
  • 2017-09-23 23:04:42
  • 460

深信服测试工程师面试题

  • 2009年05月23日 13:46
  • 119KB
  • 下载

深信服面试linux开发工程师总结

1.malloc和new的区别 2.解释一下位域 3.c语言的地址对齐是怎么回事 4.写一个类似于printf的函数,可以接受任意多个参数 5.使用memcp函数的时候,有什么要注意的 6....
  • TopicDev
  • TopicDev
  • 2014-02-15 16:09:26
  • 2063

深信服面试题,变量指向内存区域的问题

今天面试深信服,char p[]="hello",p指向内存的那个区域?数据区,代码区,堆,栈 char *q="world" q指向内存的那个区域?数据区,代码区,堆,栈 #include ...
  • linxizi0622
  • linxizi0622
  • 2017-03-29 23:49:24
  • 170

深信服科技C/C++开发实习生2018年春招电话面试面经

早上一觉醒来,迷迷糊糊,接到人生中第一个电话面试。他们主要是C++,MFC方面的要求,我已经转了Java快一年。再加上第一次有点小紧张,自我感觉不是很满意但是想想就当锻炼吧,然后就跟面试官怼了半个小时...
  • qq_29606255
  • qq_29606255
  • 2018-01-23 18:45:53
  • 213
    个人资料
    等级:
    访问量: 449
    积分: 65
    排名: 161万+
    文章分类
    文章存档
    最新评论