转自:http://blog.csdn.net/wangtengqiang/article/details/8061806

1.static用法

static 的成员函数和成员变量,可直接通过类名::函数名或类名::变量名直接访问,该函数名和变量名仅跟类相关联

在函数名里定义的static变量,改变它的存储结构,多次调用该函数时,该变量仅被初始化一次

全局变量与static的静态变量。改变它的作用域,全局变量的范围是整个程序,而static的静态变量的范围仅有该模块

1.1 .h 头文件和.cpp头文件的区别

2.多态的机制

编绎器会为继承体系上的每一个类创建一个虚函数表,表中的每一次指向虚函数的地址。

每个对象都会有一个虚指针指向虚函数表

通过父类指针就可以访问到子类的函数

3.引用跟指针

引用必须被初始化,且引用被初始化之后就不能再修改

4.vector<>缺陷,?vector.resize()与vector.reserve()?

vector添加数据的时候,有时需要重新申请一片空间,一般是2倍,然后把原来的数据复制过来,并回收原来的资源

vector.resize()会调用构造函数

5.虚析构

能让父类指针为了调用子类的析构函数

6.map的底层是?

红黑树

7.排序

8.仿函数类
9.智能指针 auto_ptr shared_ptr
10.C++的四种转换,dynamic_cast<>与普通的转换有什么不同

http://welfare.cnblogs.com/articles/336091.html

11.struct对齐

struct A

{

int a;

char b;

int c;

}

sizeof(A) = 12;

struct B

{

int a;

char b;

char c

}

sizeof(B) = 8

12.迭代器的五种类型

只读迭代器

只写迭代器

向前的可读可写迭代器

能向前能向后的可读可写迭代器

随机迭代器

13.二分查找
14.最长子序列和 ( O(n) )

15.i++与++i

++i的效率高

16.宏定义与内联函数区别,有什么缺陷

宏定义是在预处理时对代码替换

内联函数具有函数的性质,能进行内型检查,它在编译时对代码替换

17.寻找最大K个数

快速排序的思想

18.new与malloc有什么区别

new是操作符,可调用构造函数

malloc是C标准库函数,不调用构造函数

19.SOCKET通信

TCP:

服务端:

创建SOCKET对象

绑定地址

设置监听个数

等待监听(accept)

客户端:

创建SOCKET对象

connect服务器

开始通信

最后关闭SOCKET对象

UDP:

服务端:

创建SOCKET对象

绑定地址

设置异步监听或调用receive进行得等待

客户端:

创建SOCKET对象

绑定地址

调用send通信

最后关闭SOCKET对象

20.三次握手

第一次,客户端向服务器发送请求,序号SYN=i;,进入SYN_SEND状态

第二次,服务端接受请求并对客户端发出应答,序号SYN=i+1,同时服务端也发送请求,序号为SYN=j,服务端进入SYN_RECEIVE状态

第三次,客户端接受服务端的请求并发出应答,序号SYN=j+1,此包发送完毕后,进入establish状态

21.进程调度,进程通信,线程同步

进程通信方式:SOCKET,消息队列,共享内存,信号量,管道

进程调度:先来先服务,优先级调度,时间轮转片,多级反馈

线程同步:互斥锁,临界区,信号量,信号量

22.多线程有什么缺陷

对全局变量的访问有危险

23.a[100] ={a,b,c}       a[5] = 0

a[100]    a[5]未知

24. A GetA()   ,  A& GetA() , A * GetA() ,有什么区别,缺陷

A& GetA()返回的是引用,当返回一个局部变量的引用,对象在函数执行结束后就被释放了

A * GetA()返回的是指针,当返回一个局部变量的指针,对象在函数执行结束后就被释放了,当返回的数据是堆上的数据,则要考虑释放

A GetA()返回的是值,不需要担心前两个的影响,返回时会调用构造函数,降低效率

25.海量数据(比如找最大的IP访问量之类的)

网上有很多实例

26.推荐看看《编程之美》,不用全看.

27.《C++primer》(不需要全看,懂的就可以不用看),《Effective C++》,《Effecitve STL》,当然还有  数据结构与算法了

28.熟悉strstr,strcmp,strlen,strcpy之类的C 标准库函数源码.

百度百科上

29.char a[]="abc"与char *b = "abc"的区别

char a[] = "abc"是数组,在栈上的数组,并初始化为abc

char *b = "abc"在全局区内申请一块内存并初始化为abc,然后指针b指向它

C++面试问题总结的更多相关文章

  1. C++常见笔试面试要点以及常见问题

    1. C++常见笔试面试要点: C++语言相关: (1) 虚函数(多态)的内部实现 (2) 智能指针用过哪些?shared_ptr和unique_ptr用的时候需要注意什么?shared_ptr的实现 ...

  2. [Java面经] 关于面试的二三事.

    今天终于闲下来了, 那么也好总结下这几天面试的经历.四天的时间一共面了七家, 有一家是自己推迟了没有去.声明:如若转载请注明出处:http://www.cnblogs.com/wang-meng/p/ ...

  3. 在面试中忽然发现DateTime的一些...

    今天说说我面试中碰到的一个小问题,在我问起DateTime为什么无法赋值NULL值,一般第一反应都认为它是值类型,不是引用类型,但随后我查阅了度娘自我学习到它是结构类型,那么随之而然就无法赋值NULL ...

  4. 2016年8月ios面试问题总结

    1.app分发方式 所谓分发方式简单点讲就是你的app都可以通过哪些途径给用户使用. a:个人或者公司的开发者账号 可以上传appStore,用户通过appStore下载. b:企业账号:打包分发. ...

  5. 记2016腾讯 TST 校招面试经历,电面、笔试写代码、技术面、hr面,共5轮

    (出处:http://www.cnblogs.com/linguanh/) 前序: 距离  2016 腾讯 TST 校招面试结束已经5天了,3月27日至今,目前还在等待消息.从投简历到两轮电面,再到被 ...

  6. Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结

    2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...

  7. Android面试经验 -- 乐视

    此次投的是三年经验的Android开发,最后反而因为自己的失误,没有准备充分而导致结果很悲剧,以此告诫自己千万不能疏忽大意. 面试过程 第一次去大公司面试,心里不是一般的激动和紧张,来到乐视大厦门口, ...

  8. Android面试一天一题(1Day)

    写在前面 该博客思路源于在简书看到goeasyway博主写的Android面试一天一题系列,无copy之意,仅为让自己总结知识点,成长一点点.先感谢各位大神的无私分享~! 关于题目,大部分则出自And ...

  9. Java面试基础概念总结

    面向对象软件开发的优点有哪些? 答:开发模块化,更易维护和修改:代码之间可以复用:增强代码的可靠性.灵活性和可理解性. 多态的定义? 答:多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力. ...

  10. 【干货分享】前端面试知识点锦集04(Others篇)——附答案

    四.Others部分 技术类 1.http状态码有哪些?分别代表是什么意思? (1).成功2×× 成功处理了请求的状态码.200 服务器已成功处理了请求并提供了请求的网页.204 服务器成功处理了请求 ...

随机推荐

  1. SQL Server优化之SQL语句优化

    一切都是为了性能,一切都是为了业务 一.查询的逻辑执行顺序 (1) FROM left_table (3) join_type JOIN right_table (2) ON join_conditi ...

  2. G - Island Transport - hdu 4280(最大流)

    题意:有N个岛屿,M条路线,每条路都连接两个岛屿,并且每条路都有一个最大承载人数,现在想知道从最西边的岛到最东面的岛最多能有多少人过去(最西面和最东面的岛屿只有一个). 分析:可以比较明显的看出来是一 ...

  3. Java中List转换为数组,数组转List

    今天写代码遇到一个奇怪的问题,具体代码不贴出了,写一个简化的版本.如下: ArrayList<String> list=new ArrayList<String>();     ...

  4. 一个超级简单的node.js爬虫(内附表情包)

    之所以会想到要写爬虫,并不是出于什么高大上的理由,仅仅是为了下载个表情包而已-- 容我先推荐一下西乔出品的神秘的程序员表情包. 这套表情包着实是抵御产品.对付测试.嘲讽队友.恐吓前任的良品, 不过不知 ...

  5. [Angular 2] Managing State in RxJS with StartWith and Scan

    The scan operator in RxJS is the main key to managing values and states in your stream. Scan behaves ...

  6. [Redux] Writing a Todo List Reducer (Toggling a Todo)

    Learn how to implement toggling a todo in a todo list application reducer. let todo = (state = [], a ...

  7. In-Cell、On-Cell和OGS全贴合屏幕技术区别

    昨天刚发布的小米3用的是OGS全贴合屏幕技术,包括魅族MX3也是同样的技术,但是iPhone5是In-Cell屏幕技术,什么才是全贴合?它们之间到底有何区别?哪个好?小编今天就来普及一下全贴合屏幕技术 ...

  8. 逆拓扑排序 HDU2647Reward

    这个题如果用邻接矩阵的话,由于n比较大,会超内存,所以选用邻接表的形式.还有就是这个题有那个等级的问题,一级比一级的福利高,所以不能直接拓扑排序,而是反过来,计算出度,找出度为0的顶点,然后更新出度数 ...

  9. jquery插件--多行文本缩略

    1.webkit内核多行缩略样式 text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orie ...

  10. php获取某个目录下面文件的内容

    if(!defined('PATH'))define('PATH', dirname(dirname(__FILE__)).'/');ini_set ( 'include_path', '.:' . ...