【微软】-Software Engineer暑期实习一面+三面面经

非科班,985本硕,有个个人练手牛客论坛项目

3.7 一面

面试官是位男生,开了摄像头,很温柔

  1. 自我介绍(中文)
    我比较简短3-4句话说完了,提了句自己的实验室项目,导致。。
  2. 首先问了实验室项目,一个联盟博弈,跟互联网没有关联,就用了智能算法,相当于跟面试官聊了10min天,让我倒是不那么紧张了;
  3. 基础
    1.垃圾回收(GC堆),我答得一般,讲了新生代老年代
    2.http和https区别,太久没看了,直接说不太会

    1. 介绍一下堆和栈
      我讲了讲先入先出,后入先出,有让说一下平衡二叉树,完全二叉树,二叉搜索树,答得还好
    2. 编程
    3. 排序算法有哪些,十分稳定,只是说了说,没让谢。
    4. Top k,我先说优先队列,写了写,有些漏洞,在面试官提示下改好了;
      又问有无其他方法,我说快排,稍微说了说,没有进一步写出来
      3.有序数组,做子序列旋转后,找target
      leecode 原题,但我没印象了,二分查找写了半天,r,l,mid 三者怎么判定给搞蒙了,直接紧张了,然后面试官看时间也不多了就让我停手大约说说思路。
      我以为一面要凉了,但没想到过了,感谢面试官!当晚收到3.11 lead面邀请

3.11 三面

面试官是位男生,没开摄像头,也很温柔

  1. 自我介绍(中文),我很简短
  2. 看我简历上写了设计模式,于是问设计模式,我答单例和工厂
    然后让我说如何实现单例,我说的很简单,然后问缺点及如何解决,答构造函数加锁,有问能不能再优化,答不会了
  3. 又问项目用了git,那解释一下,git merge 和 rebase 区别,我只能说我再项目中IDEA直接用了,这俩命令不熟悉
    有无AOP,答,面向切面编程,我在项目中主要在service方法调用时,在控制台输出一下日志,
  4. 基础
    1. 反射是什么,有什么作用?
    2. 内存,新生代老年代,elden from to,标记 清除 复制算法,都说了说
    3. volatile, 我答的不行,不太熟练,只能说看到过他跟synchronized 区别,但没记住
  5. 编程
    1.口述:判断链表是否有环,我答快慢指针,又问快指针只能走两步吗,还是三步也行,我想了想不太肯定的说好像没限制,在null之前都行吧,也过了,没说对不对
    2.口述:判断是否为二叉搜索树,我思维僵化了,说了半天递归啥的,面试官提示二叉树遍历方式有哪些,答前中后序,层序,然后又说只需中序遍历,看是否为单调序列即可,也过了
    3.口述:数组中有1个数只出现了一次,其他数出现了两次,如何找出?答直接抑或,
    又问有两个数出现了一次呢? 答,我只能用本方法计数什么的了,面试官说都知道,还有别的方法吗?,我就没答出来
    4.编写:数组中,有两个数占比超过1/3,找出这两个数?
    有点印象的是单个数超过一半,然后摩尔投票,2数我想了想,先说了下思路,到判断为非记录数a,b了,又晕了,不知怎么对计数处理。又说排序,面试官提示之前思路没错,我又想了想,都超1/3那都4不就行了,然后写了出来,跑了俩测试,成功了,就过了

反问时间:问面试的怎么样,面试官答,在他看来还可以,不然也不会30min就结束了,我心放松了,然后又聊了会学校工作氛围之类的,随意聊了会天。

发表评论

后才能评论