面试约在周四晚上7:00~8:00的时间段。面试准时进行。
(简单寒暄之后,说了自己接下来的询问方向:考虑到我没有什么项目经历,所以问点基础知识)
1、平时课程开发的话,用什么语言比较多?
2、为什么会想到用C++呢?这种语言写起代码来很复杂,按理说调试难度会很大才对。(说说你用C++的理由)
3、你在用C++写代码调试的时候,有遇到过什么典型的问题吗?
4、如何通过有效的代码格式来避免内存泄漏之类的代码问题?
5、从类的析构、构造这些方面来考虑代码格式呢?
6、操作系统里面的信号量学过吗?介绍一些它的基本概念、实际功能。
7、从生产者消费者的代码编写角度来看,信号量应该如何通过代码来实现功能?具体操作有哪些?
8、在你的编译纠错的“生涯”中,有没有遇到过特别难忘的纠错经历?为什么觉得这段经历很难忘呢?
9、数据库的存储使用B+树,为什么要使用B+树呢?
10、笔试环节(我怀疑阿里每轮面试都要有笔试环节。。。)
给定一个数组,数组内大多数元素都是成双成对出现的,只有一个元素是单个的,如何在最快的时间复杂度内设计算法实现这个特殊元素的查找?
【提示:折半查找】
11、上一轮面试的时候,面试官认为你对“界面开发”模块比较感兴趣,能说说为什么吗?
12、你对计算机方面哪一方面比较感兴趣?
13、询问个人的职业规划。
之后我询问了面试官对我面试表现的一些反馈,主要有两个方面:
- 打好基础
- 结合自己的个人兴趣,这样才是更好的选择
面试的感受:
这轮的面试官和我最后就属于聊天的范畴了,因为这个我觉得这个面试官还算比较亲切的。
之前有关基础部分的面试提问,面试官也比较温和,提问的方式是循循善诱式的,虽然我回答得比较不让人满意,但是最后面试官也还是很有礼貌。
至于面试暴露的个人问题,我也觉得自己在基础方面存在着硬伤,所以很庆幸自己又一次意识到了这一点,未来的路还很长,我会继续走下去。