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...

面试题 相关文章推荐
接口中的方法可以是abstract的吗
Jul 23 面试题
SQL Server提供的3种恢复模型都是什么? 有什么区别?
May 13 面试题
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
Dec 13 面试题
创建索引时需要注意的事项
May 13 面试题
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
Dec 12 面试题
端口镜像是怎么实现的
Mar 25 面试题
如何开启linux的ssh服务
Feb 14 面试题
Linux开机引导的步骤是什么
Feb 26 面试题
Why we need EJB
Oct 20 面试题
Ajax的优点和缺点
Nov 21 面试题
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
May 30 面试题
Java面向对象面试题
Dec 26 面试题
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
mysql总结之explain
2012/02/27 PHP
PHP下载生成的csv文件及问题总结
2015/08/06 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
分享php多功能图片处理类
2016/05/15 PHP
适合PHP初学者阅读的4本经典书籍
2016/09/23 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
简介JavaScript中的setTime()方法的使用
2015/06/11 Javascript
jQuery实现html元素拖拽
2015/07/21 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
2015/08/08 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
Python实现二维数组输出为图片
2018/04/03 Python
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
python实现关键词提取的示例讲解
2018/04/28 Python
python读取ini配置的类封装代码实例
2020/01/08 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
简单叙述一下MYSQL的优化
2016/05/09 面试题
小学端午节活动方案
2014/03/13 职场文书
服务质量承诺书
2014/03/27 职场文书
和睦家庭事迹
2014/05/14 职场文书
完整版商业计划书
2014/09/15 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
买卖合同协议书范本
2014/10/18 职场文书
颐和园导游词400字
2015/01/30 职场文书
解除合同协议书范本
2016/03/21 职场文书
matlab xlabel位置的设置方式
2021/05/21 Python
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript