C++ 面试问题&资料整理

(1)TCP三次握手过程, 与为啥需要采用三次握手; 
(2)TCP TIME_WAIT状态的原因; 
http://blog.youkuaiyun.com/whuslei/article/details/6667471/
http://blog.youkuaiyun.com/oney139/article/details/8103223


(3)C++ 虚函数机制(C++对象模型); 
http://blog.youkuaiyun.com/jiangnanyouzi/article/details/3720807


(4)C++ Static关键字; 
http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/08/2542315.html


(5)Select/Poll/Epoll的异同(使用与内部实现方面); 


http://www.cnblogs.com/Chentc/archive/2011/05/19/2050818.html
http://www.cnblogs.com/Anker/p/3258674.html
http://www.cnblogs.com/Anker/p/3261006.html
http://blog.youkuaiyun.com/turkeyzhou/article/details/8504554


http://www.360doc.com/content/14/0102/11/12892305_342001086.shtml


(6)C++迭代器失效问题(iterator原理); 
http://blog.youkuaiyun.com/scyatcs/article/details/9003295
http://liyinlei.iteye.com/blog/2037795


iterator这里就相当于指向节点的指针,内存没有变,指向内存的指针怎么会失效呢(当然被删除的那个元素本身已经失效了)。相对于vector来说,每一次删除和插入,指针都有可能失效,调用push_back在尾部插入也是如此。因为为了保证内部数据的连续存放,iterator指向的那块内存在删除和插入过程中可能已经被其他内存覆盖或者内存已经被释放了。即使时push_back的时候,容器内部空间可能不够,需要一块新的更大的内存,只有把以前的内存释放,申请新的更大的内存,复制已有的数据元素到新的内存,最后把需要插入的元素放到最后,那么以前的内存指针自然就不可用了。特别时在和find等算法在一起使用的时候,牢记这个原则:不要使用过期的iterator。


(7)map/set容器的实现原理(红黑树知识+STL容器内部原理);
http://blog.youkuaiyun.com/dodolzg/article/details/6127938
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值