page contents

面经||【阿里巴巴】C++岗-杭州站 c++研发面试小记

今天下午面试,从一点半持续到5点。晚上把今天面试的内容整理下,问的东西很多,有些问题记不起来了,下面是我记得比较清楚的。 一面 (面试官非常懂c++,你说你看过什么书,他就拿书上的东...

attachments-2022-02-HkIEg0lE620474106c27f.png

今天下午面试,从一点半持续到5点。晚上把今天面试的内容整理下,问的东西很多,有些问题记不起来了,下面是我记得比较清楚的。

一面

(面试官非常懂c++,你说你看过什么书,他就拿书上的东西问你,问的很深,问很多为什么,直到你不会,再引导你)

  • 说一说项目
  • 网络了解吗?网络编程用的多吗?数据库用过哪些?数据库优化有经验吗?
  • stl中的list中的size函数是如何实现的?是遍历还是设置一个变量来保存?让你实现,你倾向哪一种,为什么?如果采取设置变量来保存size,当执行链表拆分操作(比如给出一个中间节点,以此拆分链表)时,怎么实现?怎么更新size?(只能遍历更新,如此就相当于之前设置的变量无用)
  • 子类a多重继承于b和c,b和c都有虚函数,此时a中有几张虚函数表?有几个虚函数指针?当依次调用分属b和c的虚函数时,虚函数指针怎么变化?
  • new一个对象涉及几个步骤?其中哪个步骤可以通过重载new操作符来修改。
  • int a[100]; delete a; 上述代码是否有问题,会内存泄漏吗?(不会)

    class A {public: int a[100]; }; A* pa = new A[100]; delete pa;上述代码是否有问题?会内存泄漏吗?(不会)
    delete 跟 delete []到底内在有何区别?什么情况下必须用delete [],否则内存泄漏。

  • c++中string的赋值函数怎么实现?浅拷贝还是深拷贝?浅拷贝会有什么问题?(一个string delete后,另一个string持有的数据也被清了)深拷贝会有什么问题?(重复,耗费内存)所以,较好的实现应该怎样?(执行浅拷贝,设置一个引用计数,计数减少为0时delete)这样会有线程安全问题吗?怎么解决?

  • 写一个单链表逆置函数。
  • 我想一个类只有一个实例,怎么实现?(单例模式)这个模式c++里怎么实现?(通过静态局部变量或者全局静态实例)谈谈各自优缺点)

二面

(面试官是个搞java的,整体面试气氛有点怪,他不知道问啥好,但又不得不问,挤出了几个问题)

  • 说一说项目,挑个最有特色的,说说架构怎么设计的。
  • c++如何防止内存泄漏,有哪些方法?(只想到了智能指针)
  • 既然提到了智能指针,你给我实现一下,这个应该是最基本的了。
  • 父类中有一个静态变量a,两个局部变量b和c,b在构造函数里初始化,c是声明时直接赋值初始化。子类跟父类完全类似,有一个静态变量d,两个局部变量d和e。当new一个子类实例时,上述6个变量的初始化顺序是怎样的?
  • 最后问他的问题,c++开发在阿里的情况,他说阿里用c++的很少,招c++很少,只招厉害的。他最开始也搞c++,然后搞着搞着就搞java去了。。。

hr面

  • 你觉得你最挫败的事是什么?最有成就的是什么?
  • 生活或学习中有没有什么事让你特别有激情?
  • 同学眼里你是怎样的,用三个词来描述?你自己认为呢?也用三个词
  • 你觉得你最大的特点是什么?怎么证明?
  • 来阿里想去什么部门?今后的职业规划是怎样的?

​ 5月22日更新,已收到录用通知。

以上就是本次分享内容,更多大厂Shopee工程师面试经验持续关注六星社区

想要高效学习,指路微信公众号——【python编程学习圈】每日分享学习干货,关注即可免费领取整套Python零基础到入门资料及学习教程,走过路过,千万不要错过!!快行动起来!!

attachments-2022-05-ZwUUz0Co628f2e3079c7b.jpeg

0 条评论

请先 登录 后评论
小柒
小柒

1470 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章