阿里云C++一面凉经
找实习的第六场面试
我人傻了我记得我没投阿里云啊
没问八股没问项目
他说“我们这个面试我尽量控制在一个小时到一个半小时之间”,结果半小时结束。
我凉透了
之前的几家一面感觉问的都挺基础的
这个好难,也确实因为我准备不够。
自我介绍
1. 问我项目都是课程大作业么?
对
2. 有没有跟导师做过那种一些产品啊一些项目那种?
没
3. C++平时用的多么?Java呢?
我说c++还好,和python用的差不多
(实际上除了leetcode就没用过c++)
Java一点不会
4. C++使用过程中有什么感受?难点?
我说对比C语言,它有许多封装好的容器,使用方便;还有类似sort( )这些方法;而且它是面向对象的。 运行速度比python快。
5. 写代码的时候有用到静态函数静态变量么?
(平时真的除了之前刷leetcode没怎么写过代码)我说用的比较少。
6. 多个编译单元需要引用同一个变量,你怎么做?
不会。我说在类中定义静态成员变量。
7. 他说“这个解决不了跨模块的问题,我问的是多个类,同时访问一个对象,这个时候你觉得该怎么做?”
不会。我说用global,设成全局变量。
8. 问我这种全局变量在使用过程中有没有遇到过什么问题?
我说平时用的不是很多
9. 那问个具体的吧,假设有两个全局变量,比如说A变量的构造依赖于B变量,他俩都是全局变量,你觉得这个代码我该怎么写啊?
???(我没说话,发懵)
10. 那我问得更具体一点吧,这俩对象的构造顺序我可以决定么?具体怎么做呢?
我说先构造B,再构造A。引出一个派生类,在派生类里构造A。
11. 额,他俩不是派生的关系,他俩是使用的关系。我怎么决定哪个先构造哪个后构造?
我说引用的对象必须要初始化,这样来保证一个全局变量构造的先后顺序。
(他无奈的说了句“OK”)
12. 我有一个静态的对象,他可以访问一个非静态的方法么?
(不太会)我一顿瞎编,我说需要传入一个引用或一个指针才能访问
13. 但是这个非静态的方法,它也是这个实例的一个方法啊,为什么不能访问呢?
我说静态成员函数是和类绑定的,不与该类的任何一个对象来绑定……
14. (被打断)额 我说的是 假设有一个A类,我构造了一个A的静态对象,就是A:xxx,然后我想访问A里面一个非静态的方法,可以么?
Emmm,我再学一下吧,不好意思。(面试官蒙了“emm,啊?”,我又重复一遍,说不好意思我晚上再学一下吧)。
15. 那行,静态的东西我就问到这,那我问一个更常用的:A类,B类是A的子类,他们分别有自己的成员,假设我构造子类的对象,那么类的构造函数和成员的构造函数的顺序?
我说先调用子类的构造函数,然后再定义父类的构造函数。(面试官:“啊,行”)
16. 构造函数可以抛异常么?
(不会)我瞎蒙了一个,说可以。
17. 那析构函数呢?为什么
(这个会)不可以,balabala
18. 用C语言模拟多态,怎么做?
(沉默)
(然后他发了一个共享白板,让我写代码)
没写出来(编代码的过程中,面试官时不时就“嗯?可以这样么”)
(救命啊我好菜啊真的不会)
19. 以前没写过是吧,那开源库有没有看过?
没
20. 那这题我们先跳过吧。你除了stl有没有用过其他的库?
没
21. 那我问一个标准库的问题。Vector的insert方法,是可以在任意位置插入的吧?时间复杂度?
可以任意插入。复杂度O(n);
不会,卡了好久,然后蒙的0,最后说一句“不好意思,我再学一下吧”
23. 假设我发现有大量的close_wait状态,你觉得是出了什么问题呢?
计网这学期才学,不会
24. 那有没有学过time_weight这种状态?
没
25. 数据库这块了解么?常用什么?
(没学过,但我嘴硬,说了句:)了解一点.用过mysql
(实际没用过)
26. Mysql的引擎你用的啥?
(不知道是啥,尴尬) Mysql的WorkBench
27. 啊?我问的是引擎。或者我直接说吧,innodb有了解么?我们主要用它的什么特性啊?比如说事务性?
(完全没听过)不会。
28. 事务隔离级别?Mysql默认的等级?
29. 怎么理解可重复读?
不会。
30. Emmm,要不,那个吧,这块可能,咱们这边还是要再熟悉一下。要不,今天就到这?可能我问的有点深了。Emmm,你是计算机专业的吧?(我说:“对”)我给你个建议吧:balabala。 分布式这块我还没开始问,可能你也不太会;算法题我还没出;就这些基础,开源的代码,回去多看一下吧。
结束了,有点迷茫。
确实c++基础不行,平时就只有leetcode用到c++,可是除了C++开发不知道该投什么了
计网和数据库没学,只能硬背八股,结果人家稍微问一点别的就不会了;
机器学习和深度学习倒是学过一些,但算法明显我也不够格,才大三,没论文没比赛的;