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

面试题 相关文章推荐
c/c++某大公司的两道笔试题
Feb 02 面试题
我能否用void** 指针作为参数, 使函数按引用接受一般指针
Feb 16 面试题
Oracle性能调优原则
May 03 面试题
什么是数据库锁?Oracle中都有哪些类型的锁?
Aug 21 面试题
C#里面如何倒序排列一个数组的元素?
Jun 21 面试题
Linux文件系统类型
Feb 15 面试题
27个经典Linux面试题及答案,你知道几个?
Jan 10 面试题
山海经纬软件测试笔试题和面试题
Apr 02 面试题
广州喜创信息技术有限公司JAVA软件工程师笔试题
Oct 17 面试题
一些关于MySql加速和优化的面试题
Jan 30 面试题
Ruby如何进行文件操作
Jul 17 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
Oct 13 面试题
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下常用正则表达式整理
2010/10/26 PHP
php笔记之:AOP的应用
2013/04/24 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
JS日历 推荐
2006/12/03 Javascript
Javascript仿PHP $_GET获取URL中的参数
2014/05/12 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
jQuery实用技巧必备(下)
2015/11/03 Javascript
js微信分享API
2020/10/11 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
Django中对数据查询结果进行排序的方法
2015/07/17 Python
简单理解Python中的装饰器
2015/07/31 Python
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
给 TensorFlow 变量进行赋值的方式
2020/02/10 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
python 高阶函数简单介绍
2021/02/19 Python
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
观看信仰心得体会
2014/09/04 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
关于实现中国梦的心得体会
2016/01/05 职场文书
Apache Hudi 加速传统的批处理模式
2022/04/24 Servers