腾讯互动娱乐、微软亚院IEG、华为优招面经
半年来陆续申请了谷歌、微软亚院、腾讯、百度(谢谢学姐的内推~)、阿里的实习以及华为的优招。谷歌、微软亚院和华为申的软件开发,bat申的数据分析师 (business analyst)。谷歌是第一个申请的,简历直接石沉大海。。。bat和华为得到笔试机会,微软亚院、腾讯、华为得到了面试机会。
腾讯和阿里的笔试基本上是数理统计基础+机器学习概念+SQL+脑子题(看脑子好不好使的智力题)。华为的笔试是三道比较简单的编程题。百度的笔试是sql加一堆 脑子题……百度的笔试体验是最糟糕的,阿里和华为的笔试体验最棒。
腾讯互动娱乐
在申请腾讯之后的第二天中午,腾讯互动娱乐平台便来了电话对我做了一个简短的面试。问的问题都不深,基本是对我的知识面做一个大致的了解。但有不少我没接触 过,答不上来。。。
- 你的专业及课程
- 课余做的与编程相关的事
- 你会哪些语言?
- Python的
*args
和**kwargs
的区别 - Python垃圾回收机制
- HashTable和HashMap的区别
- 你知道哪些数据结构?
- 单向链表如何实现?
- IO和NIO的区别
- TCP和UDP的区别
- 你了解IO复用吗?
- 你对存储这方面(数据库)有什么了解吗?
- 两个不同的对象会有相同的hash code吗?
- Google Code Jam是个怎样的比赛?(我简历里有提到这个比赛)
- 你能什么时候来实习?
- 你有什么要问的吗?
几天之后的笔试完就没有然后了(好凉。。。。)
微软亚洲研究院创新工程组
在我对微软亚院不抱任何希望的时候,创新工程组(Innovation Engineering Group)的一名软件工程师在晚饭前的时候突然给我打了个电话,问我一些简单问 题之后约了几天后的电话面试。看到他后来给我发的电子邮件都是使用英文后,我就以为面试会以英文的方式进行,然后做了不少这方面的准备。结果面试用的中文。 。。
面试是在一个在线编程网站进行的,我们共享一个编辑器,可以在上面互动。一开始面试官让我做一道编程题。判断两个矩形是否有重叠。我当时说如果其中一个矩形 的任一个顶点在另一个矩形之中,那么这两个矩形一定重叠。面试官暗示我这算法会有问题,然后我还是坚持自己的看法了。。。后来面试官让我用C++实现我的算法。 因为我对C++不是很熟,我就提议先用Java写一遍,再用C++写一遍(结果后面不够时间了……)。随后面试官给了一个测试用例:两个矩形像十字架一样交叉,但是没 有任何矩形的任何顶点在另一个矩形之中!当时我发现我考虑漏了,只考虑了我的算法的充分性没有考虑必要性。。。之后他针对我写的代码进行提问,问了static 关键字以及线程安全。然后又问了git和团队协作如何避免冲突的问题。最后是面试最终都会有的答疑环节,我估计自己八成凉了,就和他闲聊,问IEG为啥会去做深 度学习系统的底层优化。然后他的回答我也听不懂。。。
结束之后,我重新想了那道算法题,用逆向思维想到了一个非常简单优雅的算法。然后给他发了封邮件。过几天IEG的另一名面试官跟我约时间说可能面试。然后 就仅仅只是可能了。。。
华为优招
在过了华为笔试,填完测评之后,我参加了华为山东区优招的面试。面试是现场面的,在我们校区(山东大学中心校区)进行。
开始是业面,没有考算法题。面试官会根据我的回答不断深入提问。
- 自我介绍
- 搞编程是专业要求还是兴趣使然?
- 成绩如何?排名如何?
- 如何兼顾成绩和兴趣?
- 平时玩游戏吗?玩什么游戏?
- 觉得Java的哪方面自己擅长?(之前说了会Java)
- Java和Python的区别?
- Java的堆分为哪几块?(之前我提到了Java和Python垃圾回收机制的区别)
- Java的垃圾回收是如何进行的?
- full gc发生在哪个代上?对程序运行会有什么影响?
- 有试过jvm性能调优吗?
- 安卓和iOS我身边的人用哪个?为什么?
- 安卓和iOS的区别
- 有使用过Spring等框架吗?
- 现场写SQL,创建一个表并做简单的查找。
之后就是聊我的项目
- 这个项目是课程要求还是兴趣使然?
- 有用户吗?反馈如何?
- 如何实现的性能提升?
- 为什么使用标准库中的多线程库?有考虑过第三方的库吗?
我在面完第一轮后才知道要带简历。。。感谢热心的招聘人员帮我找打印机打印简历~
之后是综面,一开始聊我的项目和华为,后面聊过去谈人生谈理想,也对我未来的方向提了一些建议。