跨专业考研也能拿到微软的Offer

最近,春招已经基本接近尾声了,我找了几位拿到名企Offer的粉丝,请他们总结了面试经验,近期会分批的推送给大家。希望给那些正在准备秋招的同学提供些帮助。

今天给大家分享的面经作者本科物理专业,跨专业考研到计算机。18年春招拿到了微软的实习Offer。以下是他总结的面试经验及准备思路。Hollis只做了简单的格式修改。希望对你有帮助。

本科是某 211 物理专业,然后考研到了本校计算机专业。 从年后开学正式准备暑期实习,java 后台开发岗位,基础很差,所以一直在看各种面经。 刚开始面的几家,面啥啥崩,从网络到操作系统再到数据库、Linux 命令,基本上啥也不会, 实验室的项目也用不到这些。所以只能在网上找面经,各种死记硬背,有些即使能回答上来, 但是面试官问的一深,就懵了。

面试准备


这几个月学的东西比研一整年学的都多,下面是我看的书的清单: 1、《深入理解 Java 虚拟机》,这本书真的写的特别好。 2、《Java 多线程编程核心技术》 3、《Java 并发编程的艺术》 4、《图解 TCP/IP》 5、《鸟哥的私房菜》,这个看的有点晚,拿到 offer 之后才看的。 6、《mysql 必知必会》 7、《高性能 mysql》只看了关注的几章。 8、各种面经、博客(Hollis 系列文章真的很不错),感觉这种总结的更好,更能面向面试学习。

PS:但是并没有拿到 java 相关的 offer,阿里捞了我三次,挂了我三次,已经绝望了,还是 基础太差了,感觉短时间内看了那么多书也是囫囵吞枣,根本没有了解原理。 运气比较好,拿到了微软的 offer。微软面试只问算法。因为从研一下学期,就有一直坚 持刷算法。到目前为止,leetcode 刷了 340+,牛客网 100+ 算法书看过: 1、《算法导论》(只看了一部分,推导太多了,看不下去) 2、《剑指 offer》(对于面试来说,真的是利器) 3、《编程之美》 4、《算法》(橘黄色) 5、《程序员代码面试指南》 6、各种博客 上面的书就《剑指 offer》完整的看了两遍,其他的都是当成工具书了。遇到相似的问题,就都查看对比一下。

面试流程


一面

先介绍一下项目,介绍完也没怎么细问,直接开始做题。 第一题:找出一个数组中出现次数大于等于数组长度一半的数字。

很套路的一个题, 但是以前做过的题是没要求等于的。所以没注意到这个,直接按照大于做的,结果面试官指 出来了,然后又想了两个方法,用 hashmap 和排序做。 第二题:在直角坐标系给一个正方形,然后给一个点的坐标,将正方形按照水平和竖 直两条对称线分成四份,依次标上序号 0 1 2 3,观察一下这个点落在哪一部分,记下来,比如说落在 1 区,然后将 1 区继续分成四份,还是标上序号 0 1 2 3,观察点落在哪一部分。最后输出一个字符串,形如 1202331 这种的。

这个题出的有问题,没有终止条件,或者说没给 精度要求,告诉面试官之后,面试官增加了一个输出字符串长度为 10 的约束。然后用递归 解决了。 每面 50 分钟,两道题。到了 50 分钟面试官会立马停止,如果做完了时间还不到, 就会跟你聊天。然后就问了一下面试官项目组主要做什么,用什么语言 二面

先介绍一下项目,介绍完直接做题。

第一题:在直角坐标系上给两个矩形,判断是否有交集。做出来之后,面试官又加 了一个要求,求出该交集。用了最笨的方法,分类讨论。然后面试官说可以这样做,但不是 最优的。想了一会没想出来,这个题就结束了,最后问了一下面试官,面试官还给我讲了讲。

第二题:全排列。

用了回溯和字典序生成法两种方法。面试官给了一个例子:12345, 要求我不动手画,只用脑子想,把用回溯生成的前几个数按照顺序说出来,一直说了七八个才停止。最后比较了一下字典序生成法和回溯的时间复杂度。

做完之后又跟面试官聊了一会,问了一下为什么微软面试只问算法。(感觉问面试官问题这个环节真的很尴尬,都不知道问啥,但是又不能不问,不问的话,感觉空气都凝固了。) 三面

介绍项目完,做题。

第一题:找一个数组中最大数、最小数、中位数。

用了一下快排。然后叫我设计测试用例,来验证这段代码。

第二题:大致意思就是,客户端要调用后台的服务,整个过程都有哪些地方可以优化。 当时听完懵了一会,不懂这个。就按照设计模式中的工厂模式说了一下,面试官又接着问还 有哪些地方,然后又瞎说了一会,就跟她说,不太了解这个,然后结束了这个问题 最后聊天,给我系统的介绍了一下微软在中国各个项目组,每个项目组主要做啥的。 问了一下职业规划。 整个面试全是手写代码,感觉微软最关注的就是 0 Bug。

作者建议


1、 常用的基础算法一定要扎实,自己可以多在纸上练练,争取做到 0 bug,

2、 同一个问题尽量学会多种解法。 3、 不要一直只刷算法,不看其他基础知识。我从研一下学期开始,基本上只看算法,其他啥也没看,现在找实习感觉太吃亏了,大部分公司基本上每面只问一个算法,其他全是 基础知识,临时抱佛脚感觉也不懂原理,还是要平时多积累,多用。 最后祝大家都能拿到理想的 offer!

PS:至此,校招季的面经分享已经分享了四篇: 本想试试看,结果却拿到了京东的Offer 拿到阿里巴巴的实习生Offer就是这么简单。 做到我这样,你也能拿到京东Offer。

如果还有其他小伙伴拿到了名企的Offer(校招、社招都要),欢迎给我投稿(稿件发送至hollischuang@gmail.com),一经采用,稿酬丰厚。同时,也欢迎原创技术文章投稿。

- MORE | 更多精彩文章 -

  • 对象并不一定都是在堆上分配的
  • 乐观锁的一种实现方式——CAS
  • Spring Boot自动化配置原理
  • 常用的Git命令清单

如果你看到了这里,说明你喜欢本文。

那么请长按二维码,关注Hollis