今天下午2:50左右到3点钟的样子,在艾丽华酒店进行了腾讯暑期实习生的面试。
不出意外,跟之前的面试结果类似:挂了。
我呢,自然很伤心,可是伤心归伤心,还要继续面其他公司。只是希望本次的教训不要在面试其他公司时重犯了。主要的问题应该是我的问题,面试官人很和气,倒没有太过为难我。可是,我跟本科时候一样,过得了笔试(都是自己做的),但是很难通过面试。总不能再去读个博士,继续往后拖吧。
一上来,面试官就让做自我介绍。然后,就我简历上的项目webserver进行了提问,要求画出模块结构图,并说明select和epoll的区别,以及select和epoll是如何实现的。这个项目是大四上学期做的,时间比较久,自己也没怎么看,基本都忘了。表现的不是很好。
接着,面试官让编码实现m^n,我用o(n)复杂度实现后,面试官问能否进一步优化,给出了优化的思路,但是没有完成优化的代码。。
面试官接下来让我编码实现二分查找的代码,很快就写完了,代码也没有太大问题。也是从这里开始感觉自己可能是挂了。毕竟二分查找某种意义上太过教科书了,面试官大概是出于礼节性让我完成这个代码的吧。
接着面试官让实现在一个无序数组中找到和为k的子数组。给出了o(n^2)的解法。面试官让进一步优化,搞出一个O(n)的解法,想了一阵后,实在不知道怎么做。只好放弃了。然后面试就结束了。事后在网络上查这个问题的解法,原来是Leetcode上的原题。可我基本上没有刷过leetcode╮(╯▽╰)╭。。
经验教训:
1.leetcode刷题,刷题,刷题!本科读书时,每次考试的内容跟之前考试的内容多有重复,因此只需要复习往年的卷子就能得到不错的分数,至于是否真正掌握,竟然不重要了。感觉面试的题目跟这个差不多。既然这样,面试者为了得到一份心仪的工作,也只好采取捷径。自古真情留不住,从来套路得人心。。哎,╮(╯▽╰)╭好气。
2.对于简历上的项目和内容要认真复习,确保能回答出面试官可能的问题。这个是自己的短板,没什么太大的弥补方法。
话说面了这么三次C++的后台开发,没有一次问过我C++和C相关的内容。基本都是算法。。
祝自己接下来的面试好运吧。