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

面试题 相关文章推荐
大整数数相乘的问题
Jul 22 面试题
编写函数,将一个3*3矩阵转置
Oct 09 面试题
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
Jan 05 面试题
如何查询Oracle数据库中已经创建的索引
Oct 11 面试题
以思科路由器为例你写下单臂路由的配置命令
Aug 03 面试题
C#如何调用Windows程序打开一个文档
Dec 26 面试题
EJB的基本架构
Sep 22 面试题
Python如何实现单例模式
Jun 03 面试题
Python面试题集
Mar 08 面试题
Java中会存在内存泄漏吗,请简单描述
Dec 22 面试题
String、StringBuffer、StringBuilder有区别
Sep 18 面试题
Exception类的常用方法
Jun 16 面试题
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中路径问题的解决方案
2006/10/09 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
php三维数组去重(示例代码)
2013/11/26 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
PHP实现表单提交时去除斜杠的方法
2016/12/26 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
php + ajax 实现的写入数据库操作简单示例
2020/05/16 PHP
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
jQuery中:lt选择器用法实例
2014/12/29 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
js禁止表单重复提交
2017/08/29 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
nodejs搭建本地服务器并访问文件操作示例
2019/05/11 NodeJs
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
Python复制目录结构脚本代码分享
2015/03/06 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
python实现局域网内实时通信代码
2019/12/22 Python
通俗讲解python 装饰器
2020/09/07 Python
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
html5读取本地文件示例代码
2014/04/22 HTML / CSS
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
大二自我鉴定范文
2013/10/05 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
英文道歉信
2015/01/20 职场文书
个人总结格式范文
2015/03/09 职场文书
家长会感言
2015/08/01 职场文书
基于Redis过期事件实现订单超时取消
2021/05/08 Redis