c++工程师面试问题


Posted in 面试题 onAugust 04, 2013

   C++软件工程师面试问题

  1、 c++是面向对象的编程语言吗?C++中虚函数(virtual) 是什么?有什么好处?

  (1)C++不是纯面向对象的语言,C++是面向对象和过程的,因为C++支持类和过程。

  (2)虚函数(virtual)具有传递性,即子类中对父类的虚函数的重写,也是一个虚函数 ,不过函数的参数表也要一样。

  (3)可以让成员函数操作一般化,用基类的指针指向不同的派生类的对象时,基类指针调用其虚成员函数,则会调用其真正指向对象的成员函数,而不是基类中定义的成员函数(只要派生类改写了该成员函数)。若不是虚函数,则不管基类指针指向的哪个派生类对象,调用时都会调用基类中定义的那个函数。

  2、 谈谈指针和引用的区别?

  指针用操作符“*”和“->”,引用使用操作符“&”.

  相同点是:指针与引用都是让你间接引用其他对象。

  区别:(1). 指针是一个实体,指向一块内存,它的内容是所指内存的地址;而引用仅是个别名,是某块内存的别名。

  (2). 引用使用时无需解引用(*),指针需要解引用;

  (3). 引用只能在定义时被初始化一次,之后不可变,“从一而终”;指针可变;

  (4). 引用没有 const类型,指针有 const类型,const 的指针不可变;

  (5). 引用不能为空,指针可以为空;

  (6). “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;typeid(T) == typeid(T&) 恒为真,sizeof(T) == sizeof(T&) 恒为真,但是当引用作为成员时,其占用空间与指针相同(没找到标准的规定)。

  (7). 指针和引用的自增(++)运算意义不一样;

  3. int m = 100,n = 101;

  int &k = m;

  k = n; //此时K,m值分别是多少 ?

  k和m的值都是101,因为k是对m的引用,k值发生变化,m值也发生着变化。

  4、 c++中 const修饰符一般用于那几种情况,具体作用是什么?

  (1).用常量定义 const int n = 100;

  用于常量参数 即 fn(const int & a)

  用于常量函数,即类的该函数不修改其状态。

  用于返回值

  (2).可以定义const常量,具有不可变性; 便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患; 可以保护被修饰的东西,防止意外的修改,增强程序的健壮性;为函数重载提供了一个参考; 可以节省空间,避免不必要的内存分配;提高了效率。 编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。

  5、 你在程序代码中用assert吗?assert一般用于做什么?

  (1) 是我常用。

  (2)主要用于DEBUG下断言,即假设一定是这样的,否则就是错误的。例如 asser ( a > 100 );

  6、 i++ 相比 ++i 哪个更高效?为什么?

  答:(1)++i 比 i++效率高。

  (2)i++要多调用一次类的构造和析够函数

  7、 windows平台下网络编程有哪几种网络编程模型?你最熟悉的是哪种?并对他们作个比较?

  (1)有阻塞,,基于窗体的事件模型,事件模型,重叠模型,完成端口模型。

  (2)我最熟悉的是事件模型。

  (3)除了阻塞模型外,其他都是非阻塞模型,其中效率最高的是完成端口模型,尤其在windows下服务器最合适了。

  做客户端一般用事件模型了,,在window和like unix都可以使用。

  8、 tcp进行传输时,接收方怎么告诉发送方“我已经处理不过来了,先不要再发数据给我。”

  答:接受方给发送方发一个通知数据包,该通知包让发送方暂停数据的发送,或方慢发送。等接受方处理完毕后,再发一个恢复的通知数据包。

  9、 设计udp网络协议包设计 包多大合适,为什么?

  答:最好设计成MTU的大小,MTU是Maximum Transmission Unit的缩写。意思是网络上传送的最大数据包。这样的话传输速度会快。

    10、win2000/win2003个有几个版本,每个版本最新系统补丁包是什么?

  11、DNS的实现方法?

  12、WEB服务器的负载均衡?

  13、请问目前市面上常用几种网络操作系统的优缺点?

  14、请问你用过那些服务器?请讲述raid0、1、5的特点和优点?

  15、请列出下列协议的段口号:HTTP、HTTPS、DNS、FTP、TELNET、PPTP、SMTP、POP3?

  16、请问局域网内想要通过UNC路径或者NETBIOS名称访问对方计算机,需要在对方计算机上开放什么协议或者端口?

  17、OSI七层模型?TCP/IP模型?

  18、能否将WIN2000P升级成WIN2000S?



Tags in this post...

面试题 相关文章推荐
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
May 24 面试题
Java如何格式化日期
Aug 07 面试题
如何设置Java的运行环境
Apr 05 面试题
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
Jul 16 面试题
浙大网新C/C++面试解惑
May 27 面试题
C#实现启动一个进程
Oct 01 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
May 03 面试题
同步和异步有何异同,在什么情况下分别使用他们?
Dec 28 面试题
如何写一个自定义标签
Dec 28 面试题
设置器与访问器的定义以及各自特点
Jan 08 面试题
关键字throw与throws的用法差异
Nov 22 面试题
Structs界面控制层技术
Oct 11 面试题
2019年c语言经典面试题目
Aug 17 #面试题
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
Dec 07 #面试题
请写出char *p与"零值"比较的if语句
Sep 24 #面试题
iostream与iostream.h的区别
Jan 16 #面试题
经典c++面试题六
Jan 18 #面试题
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
Aug 09 #面试题
下面关于"联合"的题目的输出是什么
Aug 06 #面试题
You might like
php面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
php简单实现快速排序的方法
2015/04/04 PHP
PHP中余数、取余的妙用
2015/06/29 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
jQuery实现倒计时按钮功能代码分享
2014/09/03 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
windows环境下tensorflow安装过程详解
2018/03/30 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
机械专业毕业生推荐信范文
2013/11/25 职场文书
小学防溺水制度
2014/01/29 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
Java基础之this关键字的使用
2021/06/30 Java/Android
Python使用永中文档转换服务
2022/05/06 Python
ECharts transform数据转换和dataZoom在项目中使用
2022/12/24 Javascript