2018春招微软预科生面试经历

学校在南京,26号早上坐高铁到苏州进行面试,到了以后11点多,错过了约好的11点,就改到了下午一点开始面试。中午微软HR小姐姐带我们吃了食堂给我们准备的盒饭,然后一位大牛在期间给我们介绍了微软苏州的情况和苏州的各方面清况(说实话还挺诱人的)。一点回到等候的会议室,没过几分钟就有小哥哥叫我去一面了。

一面问题:

  • 自我介绍
  • 面试官:看你做过的挺杂呀;我:…然后解释了下
  • 面试官:问我现在主要的方向,和主要用的编程语言
  • 一道编程题:写一个Buffer,实现无限量的输入和读取,实现里面的write()函数和read()函数,每次读的时候从上次读取最后的位置开始读,读取指定长度
  • 写完以后,问如何实现多线程安全,然后问怎么实现”只有两个读的时候不加锁,读和写同时存在的时候加锁“,后面这个我没有回答上来,面试官说没关系
  • 大概45-50分钟,时间到,回到休息室

马上过了一会,二面面试官就来叫我了,二面面试官很好,跟我说这一层的会议室都占满了,带我去了上面一层,路上一直在跟我聊天,今天怎么来的啦,这些,感觉很和蔼,就像是朋友一样,我也就放轻松了很多,下面步入正题。

二面问题:

  • 自我介绍
  • Java的基础,final和finally的区别,protected和private的区别,static关键字的作用
  • 什么情况下把构造函数定义为私有,单例模式了解哪些
  • 问我在百度地图的业务,做了哪些项目
  • 问了一个图的最短路径问题,我谈了谈BFS、DFS、回溯,用迪杰斯特拉,还有怎么实现这些结构,递归啦栈啦
  • 写一个场景下的编程题,拿过来一张纸,上面是题目,大致是trigger和alarm的时间判定问题
  • 写完讲解了下,面试官给了一些建议,比如进入函数先进行判断,如果异常直接退出,省出后续计算等等
  • 大概50分钟,二面结束,回到休息室

回到休息室,HR过来说我今天就先面到这,因为三面的时间安排在五点,离五点还有110分钟,让我先回南京,然后远程面试,可是我刚刚改签了车票到五点半多,不能再改,而且也想今天直接面完,就诉说了请求,HR也同意了,让我等到五点。我在休息室休息了好久,看了会剑指offer,然后五点整点,三面面试官来叫我。

三面问题:

  • 自我介绍
  • 新闻多分类系统的数据集和测试集怎么弄的,如何对数据进行的预处理
  • 在百度地图的业务工作
  • 直接开始编程题,出了一个getKthMax的问题,但是有以下几个坑,要求数组中可以有重复数字,空间复杂度为O(1),时间复杂度不做要求,不能改变原有数组
  • 一个矩阵,行从左到右逐渐增大,列从上到下逐渐增大,快速搜索一个数字(剑指offer原题)
  • 求两个链表的交点
  • 求带环链表环的入口,这个因为看过怎么求,直接回答了上来,然后面试官要求我证明一下,我很快把单圈的证明了出来,没有考虑到快指针在环内绕好几圈的问题,面试官提醒了下
  • 持续75分钟左右,面试结束

从会议室出来以后已经六点半,休息室灯都关了,找了半天HR没找到,过了一会,HR过来告诉我三面通过了,让我回去休息,一到两周内等通知。

果然功夫不负有心人,一般说面试当场给了postive的最后都能收到offer,在29号上午,收到了cong邮件,松了一口气。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值