Skip to the content.

腾讯互动娱乐、微软亚院IEG、华为优招面经

半年来陆续申请了谷歌、微软亚院、腾讯、百度(谢谢学姐的内推~)、阿里的实习以及华为的优招。谷歌、微软亚院和华为申的软件开发,bat申的数据分析师 (business analyst)。谷歌是第一个申请的,简历直接石沉大海。。。bat和华为得到笔试机会,微软亚院、腾讯、华为得到了面试机会。

腾讯和阿里的笔试基本上是数理统计基础+机器学习概念+SQL+脑子题(看脑子好不好使的智力题)。华为的笔试是三道比较简单的编程题。百度的笔试是sql加一堆 脑子题……百度的笔试体验是最糟糕的,阿里和华为的笔试体验最棒。

腾讯互动娱乐

在申请腾讯之后的第二天中午,腾讯互动娱乐平台便来了电话对我做了一个简短的面试。问的问题都不深,基本是对我的知识面做一个大致的了解。但有不少我没接触 过,答不上来。。。

  1. 你的专业及课程
  2. 课余做的与编程相关的事
  3. 你会哪些语言?
  4. Python的*args**kwargs的区别
  5. Python垃圾回收机制
  6. HashTable和HashMap的区别
  7. 你知道哪些数据结构?
  8. 单向链表如何实现?
  9. IO和NIO的区别
  10. TCP和UDP的区别
  11. 你了解IO复用吗?
  12. 你对存储这方面(数据库)有什么了解吗?
  13. 两个不同的对象会有相同的hash code吗?
  14. Google Code Jam是个怎样的比赛?(我简历里有提到这个比赛)
  15. 你能什么时候来实习?
  16. 你有什么要问的吗?

几天之后的笔试完就没有然后了(好凉。。。。)

微软亚洲研究院创新工程组

在我对微软亚院不抱任何希望的时候,创新工程组(Innovation Engineering Group)的一名软件工程师在晚饭前的时候突然给我打了个电话,问我一些简单问 题之后约了几天后的电话面试。看到他后来给我发的电子邮件都是使用英文后,我就以为面试会以英文的方式进行,然后做了不少这方面的准备。结果面试用的中文。 。。

面试是在一个在线编程网站进行的,我们共享一个编辑器,可以在上面互动。一开始面试官让我做一道编程题。判断两个矩形是否有重叠。我当时说如果其中一个矩形 的任一个顶点在另一个矩形之中,那么这两个矩形一定重叠。面试官暗示我这算法会有问题,然后我还是坚持自己的看法了。。。后来面试官让我用C++实现我的算法。 因为我对C++不是很熟,我就提议先用Java写一遍,再用C++写一遍(结果后面不够时间了……)。随后面试官给了一个测试用例:两个矩形像十字架一样交叉,但是没 有任何矩形的任何顶点在另一个矩形之中!当时我发现我考虑漏了,只考虑了我的算法的充分性没有考虑必要性。。。之后他针对我写的代码进行提问,问了static 关键字以及线程安全。然后又问了git和团队协作如何避免冲突的问题。最后是面试最终都会有的答疑环节,我估计自己八成凉了,就和他闲聊,问IEG为啥会去做深 度学习系统的底层优化。然后他的回答我也听不懂。。。

结束之后,我重新想了那道算法题,用逆向思维想到了一个非常简单优雅的算法。然后给他发了封邮件。过几天IEG的另一名面试官跟我约时间说可能面试。然后 就仅仅只是可能了。。。

华为优招

在过了华为笔试,填完测评之后,我参加了华为山东区优招的面试。面试是现场面的,在我们校区(山东大学中心校区)进行。

开始是业面,没有考算法题。面试官会根据我的回答不断深入提问。

  1. 自我介绍
  2. 搞编程是专业要求还是兴趣使然?
  3. 成绩如何?排名如何?
  4. 如何兼顾成绩和兴趣?
  5. 平时玩游戏吗?玩什么游戏?
  6. 觉得Java的哪方面自己擅长?(之前说了会Java)
  7. Java和Python的区别?
  8. Java的堆分为哪几块?(之前我提到了Java和Python垃圾回收机制的区别)
  9. Java的垃圾回收是如何进行的?
  10. full gc发生在哪个代上?对程序运行会有什么影响?
  11. 有试过jvm性能调优吗?
  12. 安卓和iOS我身边的人用哪个?为什么?
  13. 安卓和iOS的区别
  14. 有使用过Spring等框架吗?
  15. 现场写SQL,创建一个表并做简单的查找。

之后就是聊我的项目

  1. 这个项目是课程要求还是兴趣使然?
  2. 有用户吗?反馈如何?
  3. 如何实现的性能提升?
  4. 为什么使用标准库中的多线程库?有考虑过第三方的库吗?

我在面完第一轮后才知道要带简历。。。感谢热心的招聘人员帮我找打印机打印简历~

之后是综面,一开始聊我的项目和华为,后面聊过去谈人生谈理想,也对我未来的方向提了一些建议。