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

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

1. C++常见笔试面试要点:

  C++语言相关:

(1) 虚函数(多态)的内部实现(C++虚函数实现多态原理(转载)

(2) 智能指针用过哪些?shared_ptr和unique_ptr用的时候需要注意什么?shared_ptr的实现原理是什么? (智能指针shared_ptr的用法智能指针unique_ptr的用法

(3) 特化和泛化(算法的泛化过程(摘自《STL源码剖析》)

(4) 为什么不能在构造函数中调用虚函数?

     当实例化一个派生类对象时,首先进行基类部分的构造,然后再进行派生类部分的构造。当在构造基类部分时,派生类还没被完全创建,从某种意义上讲此时它只是个基类对象。所以在构造函数中调用虚函数,执行的是基类的虚函数,而非派生类的虚函数。

  STL:

(1) vector、list、set、map内部实现以及异同,迭代器插入删除后vector、list、set、map的迭代器是否会失效?

(2) STL除了序列式容器和关联式容器,还有哪些值得学习的?

  TCP/IP:

(1) TCP、UDP异同;

(2) TCP、UDP发送一段字符串,其中的发送过程有什么区别?本人理解:TCP有滑动窗口,流量控制,超时重传等机制。

  数据结构:

(1) 链表的逆置(又称反转)

(2) 链表有无环的检测,两个链表相交有无可能?相交的形态是什么样的?如何确定相交点?

(3) 如何求出数组中最小(或者最大)的k个数(least k问题)

(4) 如何求出树中两个结点的最低公共祖先?

  本人理解:以上要点必须从根本上明白,理解,不能有糊涂的地方,因为面试官往往会由浅入深的提问,当你不明白一点后,面试官就无需再往下问了,直接确定你的水平了。

2. 常见问题:

(1) 你平时都看过一些什么专业相关的书籍?

(2) 项目中你解决问题最深刻的一次,怎么解决的,用了多长时间?

(3) 说说观察者模式(也可能是代理模式,单例模式,装饰模式等等)怎么用,以及你项目中哪些场合用到了?

(4) 你对我们目前所做的项目有什么想要了解的吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值