【面经】微软苏州+腾讯PCG
最近刚完成微软苏州的面试,微软面试体验非常的好,微软办公楼也很漂亮。
这次面试完成后相当于我的实习也尘埃落定。这期间在牛客网上看了不少面经,也来回馈一下。
微软苏州
微软从网申、笔试再到面试,均通过邮件发送通知,邀请现场面试会负责来回路费。
面试前一周邮件通知3.23下午3点面试,期间HR还电话联系最终确认了一下。
提前半小时签到,3点带我们一批人(大概十几个)上楼,稍等不多久面试官就来挨个叫了。
15.00 - 15.40 一面
简单自我介绍之后聊了两句就开始做题了。好像问了一下 Java 反射机制。
第一题是按序输出格雷码。输入的参数是格雷码长度N。
刚上来可能紧张,没什么思路。面试官问了我一下,就提示我是不是可以从前一个序列中找到规律。我一下子反应过来,就跟他说了我的想法。
一般在交流后如果觉得你的思路没问题,就开始在白板上写代码。要求是能运行的代码。
第二题是最长递增子序列。Longest Increasing Subsequence - LeetCode
我首先想到动态规划方法,就跟面试官说了一下。他说可以的,你想一下方程吧。
想好后和他交流了一下,这次没让我写代码,但让我继续优化。不过这次始终没想起来。
16.00 - 16.50 二面
二面的面试官非常和蔼,上来先英文自我介绍了一下,他说是2分钟左右。
因为我自我介绍中提到了Java,于是他开始问Java的知识,包括GC、运行时栈帧、与C++相比有何不同等。
也就几分钟之后开始做题。这次题目是求二叉树中任意两点形成的路径上节点(每个节点有个值)之和的最大值。
我想到方法后也是先跟他确认,然后开始写代码。写的时候我还问他节点值是否可能为负。
写好代码之后他会仔细看代码。(一面面试官也很仔细)几乎是一行一行地读。
这次读代码解释代码的时间比较久。就没有第二题。
17.20 - 18.20 三面
三面应该是个Leader?也是先聊天,还说之前去南大宣讲我记不记得他。哈哈,我说你这么一说我才想起来。
他就空着手过来,不像一二面面试官(顺带一提,二面面试官用的 MacBook + macOS)。
就闲聊了几句,我就记得问我觉得自己的优势是什么。然后问了前两面问了啥题,然后开始做题。
这次这个题目罗里吧嗦的:
有三个转盘(A-Z),处于某一个状态start,比如MSF。求出将start转到另一个状态target所要转动转盘而形成的字符串序列。比如MSF->OFC:[MSF,NSF,OSF,OSE,...,OFC
。此外,有另一个参数BlockList,是个字符串列表,输出的序列不能包含BlockList中的字符串,即转动时不能经过这些状态。
问我有没有问题他就出去了,我就开始写,我就组合了一个BFS和递归写了一个,有点乱,白板上也不好改。没过多久他就回来了。开始也像前两面一样逐行读代码,解释。我也不知道对不对🤦♂️。看他的表情也不知道对不对。
不过这次因为快到下班时间了,就很快结束了。
三面结束后出去没多久(大概2分钟)HR就过来跟我说通过了,但是可能还要后续比较,回去等邮件通知。
腾讯PCG
这个时间过去的比较久,我就根据手里当时记得几个关键词回忆一下。
3/13 一面
- C/C++
- C语言结构体字节对齐
- 申请空间、释放空间
- Java
- 列举异常
- 反射 私有属性能否修改
- 继承 私有属性是否继承
- 网络编程
- Android
- 四大组件。重点讲讲Broadcast
- Layout
- 实现微信底部导航栏用到什么。
- 智力题:五条线连十个点。(五角星)
其他就是聊了一下项目。
3/18 二面
一面当晚打电话约二面时间。二面面试时间长一点,什么都问,太可怕了。
- 计算机体系结构
- 虚拟地址空间
- 内存泄漏和内存溢出
- 线程和进程/多线程和多进程
- Java
- volatile 和 Lock
- ArrayList 和 Vector
- hash
- 网络编程
- 网络
- HTTP 协议
- 报文头的几个字段
- 断点续传
- socket
- ipv4 枯竭
- 设计模式
- 内聚 耦合
- 单例模式
- 数据库
- 几个 SQL 语句
- 事务
- 其他
- git 命令
- 简历中项目里的问题
最后还有好几个智力题(搞不懂是干嘛的)。倒水、找劣质硬币、切金条。
3/26 三面(加微信视频)
先来电话约时间,然后加了微信视频面🤦♀️。
这一面印象不是很深,几分钟聊了一下项目。
然后就问了C/C++的区别,C++/JAVA的区别。还有个什么 extern "C" 是干嘛用的。
还有一些经典问题:TCP三次握手四次挥手。JAVA动态绑定的问题。C++虚函数的问题。
然后给了一个问题:怎么实现对 8bit 二进制码是否为 “4个1,4个0” 的判定。时间复杂度一步步优化。这应该是编程之美上的一个以空间换时间的问题。
这一面比较轻松。半小时结束。
两天之后HR面。再两天之后OFFER。
#腾讯##微软##面经##实习##C++工程师##Java工程师#