2018秋招微策略软件开发C++提前批一面凉经(秋招第三家)
背景
这是我的第三次面试,非科班,基本刷完了《剑指offer》,计算机基础学习主要靠看别人的面经,在运气好的情况下可以应付面试,但一旦碰到了厉害的面试官(比如我微策略的一面)马上就会现出原形。当时在校内论坛看到了微策略的内推消息,一看965工作制立马报了名,很可惜学艺不精,错过了这次机会。
招聘流程
由于是提前批内推,流程比正式秋招简化了不少。
首先简历通过筛选后会收到4部分笔试题,分别考察数据结构,逻辑思维,UI审美,编程等方面,题不是很难,但要想通过最好编程题全部AC。
答案提交大概一周后收到了电话通知,告知笔试通过,邀请前往微策略杭州总部参加宣讲会及现场面试,那当然是愿意参加了。
说到这里要着重夸一下负责招聘的团队,整体的安排非常贴心,对外地同学安排酒店且报销来回路费,在整个参观面试的过程中也很热情,可以看出来这是一家很人性化的公司。
整个宣讲会+面试历时两天。
第一天上午是宣讲会,大概介绍微策略公司概况和一些前辈的经验分享,下午是两场行为测试,类似于群面,需要小组合作,整体参与下来感觉还是很愉悦的。公司中午还安排了午饭。
第二天是重头戏,面试。如果顺利的话应该是两轮技术面+一轮终面,据说通过率蛮高的,可惜我水平不够,倒在了一面- -
一面
面试前要求我们准备一份英文简历一份中文简历还有一份成绩单,但是在面试过程中发现其实只要一份中文简历就可以了,面试官小哥哥人还是很nice的。
进去之后首先寒暄了一会儿,小哥哥很和蔼,在讲话过程中一直面带微笑,然后要求我用英语做一个简单的自我介绍,介绍完后会根据简历进行一些英语对话,难度不大,但是我英语是六级飘过的水平,听倒是听得懂但是回答得很艰难,于是一阵尬聊:
小哥哥:你的项目我好像看不懂诶,不知道是做什么的?
我:(感觉需要用英语讲一下我的项目,但是一紧张前一晚准备好的话全忘记了)emmm就是一个优化项目,听起来可能挺无聊的。
小哥哥:我看到你简历上用过gdb,讲讲你都是怎么用它的?
我:(磕磕巴巴)如果程序运行过程中产生了bug,我会用gdb来查看一下错误出在什么地方,通过打断点等方式。
小哥哥:说说你为什么要报软件开发这个岗位?你有哪些能力是和这个相匹配的?
我:(内心???)我平时做项目都用C++开发。。。(羞愧)
又尬聊了一会儿,因为我口语实在捉鸡,小哥哥主动提出用中文对话
这个时候我心想,我看了那么多面经终于要派上用场了,come on,来问我进程线程TCP吧,在下无所畏惧!然后。。
- 你了解散列表吗?大概介绍一下?
(完全不了解啊只知道这个名字,别人的面经里也没出现过这种东西啊天哪!)不了解。 - 那优先队列呢?是怎样设计实现的?
(这个我之前看过但是没有深究,所以印象也不深,不清楚具体实现,其实面到这里我感觉这次面试大概率已经凉了。因为之前详细了解过LRU的实现,所以按照那个的思路讲了一下如果是我的话会怎样设计优先队列,但显然没有答到点子上,还浪费了不少时间,导致后面没有时间发挥我擅长的东西) - 讲一下怎样解决哈希冲突?
如果发生冲突就向后检索,找最近的一个空位插入。 - 这样设计会有什么问题?工业中实际上是怎样处理的?
(这个问题我就很懵了,因为之前在网上看到的哈希冲突都是这样解决的,没有更深层次考虑过,这次也是提个醒吧。然后就瞎扯了一通,又是一次很失败的回答,不擅长的东西应该尽快跳过,以后留意) - 数据库你了解吗?
不了解。 - 看起来你的分析能力还不错,但是计算机基础比较薄弱。
是的因为我没有系统地学过相关课程,所以了解不是很深入。 - 那问你一道分析题吧(然后出了一道智力题,分析一下列个方程可以很快求解,这里我又犯了错误,由于不够自信一直在征询面试官的意见,浪费了很多时间不说,也留下了不好的印象,以后要注意)
(这个时候因为我前面浪费了太多时间,导致面试官没有时间问我更多的智力题,而这方面本来是我的强项,整个面试我最失败的一点就是扩大了自己的弱项,没有发挥自己的长处。) - overload和override?
- overload是怎样实现的?
- override是怎样实现的?
- 你对继承和多态的理解?
(这里问了一些C++基础的问题,都不是很难,有一些问题我也忘记了,但可以看出来面试官是十分看重个人理解的) - 手写一下两个有序链表的合并
(这个算法并不是很难,我也很快写出来了,这里又犯了一个很蠢的错误,我写的本来是没问题的,但面懵了一直和面试官说我写错了,然后面试官一直说没错。。再次浪费了时间且拉低了印象)
到这里其实时间已经超出规定的一小时了,面试官也准备结束面试,但是他好像忽然想起来似的又问了我一个问题,不知道是不是想再给我一次机会,他的问题是“你对Stack overflow怎样理解?”但是我不知道什么情况把“栈”听成了“网站”,后来小哥哥和我说了中文,我就解释了一下对栈溢出的理解,但是因为紧张把局部变量说成了临时变量。。然后小哥哥一脸懵逼地问我“内存管理里有临时变量存储区这个东西吗?”我还一直坚持有。。到此也就彻底凉凉了。然后小哥哥很温柔地和我说去waiting room等一下结果。然后我就回去收拾东西准备走了。果然过不了多久hr小姐姐就通知我挂掉了。
面试总结
虽然挂掉了,但是这次面试的体验很好,微策略从hr到面试官再到高管都很和善,看起来也都很聪明能干,感觉这是一家会真正为员工着想的企业,很推荐大家应聘。另外不得不提的是,微策略的hr小姐姐们都很美,颜值气质俱佳,当然小哥哥们也都是很帅气的。
更重要的就是,通过对这次面试经历的总结,发现这次失败主要问题出在下面几点:
- 准备不够充分,由于8月份才开始准备秋招,需要学习的东西太多,而且压力太大导致效率不高,所以知识漏洞很大;
- 第一点原因直接导致了我在整个技术面过程中不够自信,给面试官留下了十分不好的印象,也浪费了很多时间;
- 准备面试的时候对知识点不能流于表面,那样可能会让我侥幸通过一些面试,但是碰到真正懂得考察你能力的面试官的时候,会一败涂地;
- 面试的时候要扬长避短,不擅长的部分宁可直接放弃,也不要强行回答错误答案;
- 当然最重要的一点,要放平心态,提高效率好好准备后面的秋招。其实我个人相当喜欢微策略的整体氛围和公司文化,但可惜技术方面的硬实力不够,没能把握住这次机会,后面要更加努力去准备。