参与美团到家实习面试的真实经历。

图片

以下是详细的面试过程。

整个面试流程如下:3月14日进行笔试,3月17日安排第一次面试,3月21日进行第二次面试,3月31日进行OC,最终在4月3日收到了Offer。

第一次面试

面试官首先进行了自我介绍,态度友好,接着说明了面试的主要分为三个部分:自我介绍、研究方向及学校工作经历,以及技术问题的提问。

在整个面试过程中,我也充满热情,积极地回答每一个问题。

  1. 研究生的研究方向
  2. 详细介绍自己的研究领域
  3. 当前的主要工作内容

项目经验:

  1. 选择一个项目进行讨论,介绍其目的
  2. 应用领域及用户群体
  3. 服务器与域名的管理,以及软件著作权的相关事务
  4. 针对外部攻击,除了阿里云的保护,还有哪些防御措施可以实施
  5. 面试官的反馈是:项目工作相对简单,但很全面,并且成功部署到服务器上了。

技术问题:

  1. JVM的内存结构及各部分的功能
  2. 在同一JVM中是否能够多次加载同名类?同一个类能否被加载?
  3. 双亲委派机制的类加载原理
  4. 索引构建的目的及方法
  5. 索引存储的数据结构
  6. 缓存框架及消息中间件的相关知识

开放性问题:

  1. 当前的学习计划
  2. 自我学习能力及问题解决能力的评价
  3. 最在意的缺点
  4. 印象深刻的解决问题的经历

整体交流过程非常顺利,感觉面试官似乎不太希望给我出题。

然而最后他还是问了我关于数据结构的学习情况,并尝试为我找到一个简单的问题来解答。

在愉快的谈话之后,我突然需要解决一个二叉树的后续遍历问题。

我回答说:这种问题通常可以通过递归或栈来解决,我通常使用递归。

面试官让我尝试使用栈的方法。

经过一番思考,我突然想不起来具体思路了。

面试官于是说:那就用递归试试吧。

完成题目后,我询问了一些问题,愉快地结束了第一次面试。

第二次面试

这次面试的链接与上次相同,我约了下午四点,3:58面试官还未进入会议室,心里有些担心链接出错。正当我准备发短信给面试官时,他突然发起了会议。

面试开始时有些紧张,面试官显得很镇定,情绪低沉。我努力保持热情,但面试官的冷淡让我感到有些紧张,因此我不断尝试用自己的情绪去调动气氛。

  1. 简单介绍自己的基本情况
  2. 项目经验:对称加密与非对称加密
  3. 了解的后端开发框架
  4. Mybatis中的#和$
  5. 对微服务的理解
  6. 职业规划
  7. 对中间件的了解
  8. Redis的基本数据类型
  9. 对多线程知识的理解,包括创建线程的三种方式
  10. 防止多线程并发问题的方法
  11. 同步控制块与同步方法的锁对象

对于同步控制块的锁对象,我一时有些记不清,便说可能是当前类的class对象。

面试官追问:你确定吗?当前类的class对象,你确定吗?(面试官神情严肃)

我心里想我就是想不起来了,怎么确定呢……好在最后最终想起了那个括号,回答说括号内可以放任意唯一对象,算是顺利过关。

接下来,我在IDEA中编写了一个简单程序:

//一个线程输出{1,3,5,7}  
//一个线程输出{2,4,6,8}  
//两个线程交替输出{1,2,3,4,5,6,7,8}  

未能成功实现。

 //两个有序数组合并成一个新的有序数组;  

这个问题我很快就解决了。

最后是提问环节。

在结束时与面试官道别时,感觉他放松了一些,脸上也露出了一丝笑容。