学长内推,5面蚂蚁金服,3轮技术面+1交叉面+1HR面,期待offer

学长内推,5面蚂蚁金服,3轮技术面+1交叉面+1HR面,期待offer

提前交流

我是找的学长内推的,刚开始有一次交流,也不知道算不算一面,主要问了下面的东西:

  • 说一下 cas,主要应用在哪
  • 说一下 Java 中的锁,自旋锁会升级成什么?
  • 项目中的限流是怎么做的
  • 说一下 Java 是如何加载一个类的?
  • 什么是双亲委派模式?
  • TCP 滑动窗口了解吗?
  • 用的是什么数据库?说一下 mysql 的的事务隔离
  • InnoDB/MYINSAM 的区别和应用场景
  • 介绍下 MYSQL 的索引
  • 进程和线程的定义
  • 进程调度算法有哪些?
  • 说一下你对线程池的理解
  • 用过什么模式(除了 JDK 以外。自己实现的 /除了单例模式外)
  • 单例模式为什么要有两个 null 判断,一个不可以吗?
  • 排序(归并排序 /堆排序/快排)
  • 说一下你对 Spring 的理解,AOP 的原理是什么?
  • 有什么想问面试官的

蚂蚁金服一面

然后就是正式的一面了,一面比较细致,上来先做了一道算法题,题目很简单,剑指 offer 里的原题,顺时针打印矩阵,还有道多线程编程题,大致意思就是提供一个多线程的工具类,打印数组。

下面是问题的记录:

  • 自我介绍、说一下最近在做什么事?
  • 可以跟我介绍下卷积神经网络吗?(简历里有写到一个项目用到了CNN)
  • 可以说一下逻辑回归是什么吗?
  • 你觉得反向传播和动态规划之间有什么样的联系吗?
  • 计算机是怎么做加法的?那如何用加法代替减法?
  • 使用过 Linux 吗?可以说下常用的 Linux 命令吗?
  • 用什么命令可以查询文本中的文字?用什么命令可以查询磁盘存储的容量?
  • Vim 使用过吗?可以说下有哪些快捷键吗?
  • 在区块链的世界中,那些数据怎么样会变得有效?(广播机制、共识机制)
  • 类比打电话,两个系统的通信我们可以采用哪些方式?(我说了 http)
  • 说一下 HTTP 和 HTTPS 的区别
  • HTTPS 中用了什么加密方式,在什么阶段体现的?
  • 分布式的 CAP 理论了解过吗?
  • 你了解的一些集群有哪些选举方式?
  • 最近有看什么书吗?
  • HashMap 为什么线程不安全?是否模拟过不安全的场景?
  • 说一下 Java 的值传递和引用传递
  • SpringBoot 和 SpringMVC 的区别
  • 说一下 Spring 中 bean 的加载过程
  • JVM 的垃圾回收器了解吗?垃圾回收算法有哪些?JDK8 默认的垃圾回收器是什么?
  • 有什么想跟我沟通的吗?

总的来说这一次的面试体验不是很好,问的东西比较多,而且面试官真的把我的简历挖得很深,面试官很 nice,一直都在和我探讨这些问题,气氛也不是很紧张,之后几天就迎来了二面。

蚂蚁金服二面

不知道为什么,总觉得二面问的问题和一面比起来侧重点是平常学习生活中的,而不是基础知识了。

  • 自我介绍
  • 自己做的 app 上线了吗?是自己做的吗?简单说一下
  • 学校的课程中你觉得哪一门学的最好?(都差不多)
  • 你学习了挺久的 Java,对于这门语言有什么认识?或者和其他编程语言比起来有什么不一样的地方?
  • 那你在学习的过程中有什么事情会让你坚持做下去?
  • 开发这个 app 的动力是什么?
  • 有参加过什么学科竞赛吗?
  • 数据结构你觉得你学的怎么样?做一道编程题(用数组模拟一个栈)
  • 智力题:你雇佣一个工人,他每天工作应该获得一份金条,你有一根金条可以分成 7 份,但你只能对你的金条切 2 刀,请问怎么保证你的工人每天都得到一份金条?
  • 你有什么想问我的?

蚂蚁金服三面

到了三面,基础知识问的不如前面几轮了,更多的是项目经验方面的东西,说实话这里也是我欠缺的地方,面试的问题如下:

  • 介绍一下项目
  • 项目是否复盘,如果说用户量/数据量/访问量非常大之后,你了解到的可以做哪些改造?
  • SpringBoot 有深入了解吗?和 Spring Cloud 有什么差别吗?
  • SpringBoot 核心框架包含什么?SpringCloud 一套微服务的框架中间有什么部分你是比较熟悉的,详细介绍一下。
  • SpringBoot 容器启动的大致流程(这个不会)
  • SpringCloud 在 SpringBoot 的基础上扩展了什么?(我提到了注册中心,作用是什么说了下)
  • 多线程,几种线程的创建方式(thread、runnable、callable),使用的时候有什么场景约束(在什么场景下使用什么方式)
  • 多线程情况下临界区的资源保护有哪些方式?(比如锁)
  • 场景编程题(这里我卡了很久) 不考虑高并发/分布式/集群/网络调用等问题,不依赖消息队列/缓存这些东西。希望你可以提供一个医院类,这个类有一个核心的方法给外部调用,这个方法实现如下功能:5 个医生,每个医生可以挂 10 个号,然后医院有 10 个窗口,也就意味着同时只能有 10 个病人挂号,那第 11 个人要挂号的话就不能立刻拿到号,得前面的用户挂完号才可以挂号,病人挂号的时候,医院给病人返回的结果是:1. 如果当前有空余号可用,就取最前的号;2. 如果没有号,就给调用的病人返回没有号的错误。注意:如果有号的话是不能允许返回给病人说没号,如何设计这个类以及这个类中的方法。(附加:如果在分配号的时候偶然出现时间抖动,你该怎么解决)

这一面说实话是我最没有把握的一轮面试,因为自己对于微服务这块确实没有实际操练过,经验很少,源码看的也不多,而且那个场景编程题答的也不是很好,没有很细致的说该怎么实现。

蚂蚁金服交叉面

三面结束,慌张了几天之后迎来了交叉面,可能我运气比较好吧,简单问了我一些问题就结束了,没有太刁难我:

  • 你可以讲一下做的最有成就感的项目吗?
  • 这个项目是如何变现,如何带来价值?
  • 是如何吸引用户的?怎么获取用户增长的数据?
  • 那如果重新接手这个项目有什么想法吗?
  • 之后对自己有什么规划吗?
  • 你对手淘有什么样的认知?(产品很优秀,团队的技术能力也很强)
  • 还有什么要问的?

蚂蚁金服hr面

隔了两天接到了hr的电话,前面几轮面试都拖了挺久的,hr这里反倒比较快了,问的问题也很正常:

  • 有没有帮助他人的案例可以分享一下的吗?
  • 你是怎么规划你未来的职业方向的呢?
  • 对于以下案例,你有什么想法?
  • 商家在我们这进货,为了加快货物的流通,会有赊账,在这个过程中,用户增长非常快,然后需要做一个系统,在这个系统上线的前一周,运营过来说,我们需要加一个子功能,你作为技术,是选择将原版本上线之后再升级,还是说把新系统的功能全部做完了再上线?(我选的第一个)那按照第一个方法做了,系统也上线了,后期升级的时候你本以为2个星期就可以升级完成,但是你突然发现你可能搞不定,数据上出现了一些问题,产品经理此时也在国外,没办法及时沟通,作为一个技术人员你会怎么办?
  • 大概什么时候可以实习?实习地点?

总结

在面试期间我也看了很多其他人的面经,对比一下发现自己遇到的面试题难度上比他们要小一些,可能是因为自己也没做过什么太复杂的项目,所以也没深入问了。不过阿里的面试官人很nice,面试的过程也不是单向的询问与回答,对一些问题也会进行探讨。总的来说,除了进度比较慢(将近1个月),其他方面的体验还是很不错,希望可以收到暑期实习的offer。

分享一些我个人的学习文档,有需要的朋友自行选择获取:

一本Java核心面试知识宝典把每个知识点解析的很深,对大家应该很有帮助,它把大部分的Java知识集结在一起深入的解析出来(非常建议大伙看一看)

学长内推,5面蚂蚁金服,3轮技术面+1交叉面+1HR面,期待offer

2019年一线互联网企业350道面试答案整理

  1. 性能优化面试专栏
  2. 微服务架构面试专栏
  3. 并发编程高级面试专栏
  4. 开源框架面试题专栏
  5. 分布式面试专栏
学长内推,5面蚂蚁金服,3轮技术面+1交叉面+1HR面,期待offer

大厂的面试场景

学长内推,5面蚂蚁金服,3轮技术面+1交叉面+1HR面,期待offer

1、面试文档专题整理

既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

根据自身面试经历整理以及不断收集的(珍藏版)

学长内推,5面蚂蚁金服,3轮技术面+1交叉面+1HR面,期待offer

相关的电子书、底层源码

学长内推,5面蚂蚁金服,3轮技术面+1交叉面+1HR面,期待offer

阿里巴巴必备学习知识点

学长内推,5面蚂蚁金服,3轮技术面+1交叉面+1HR面,期待offer

最后

很多人感叹“学而无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。

以上学习资料均免费放送,最后祝愿各位身体健康,顺利拿到心仪的offer!

资料获取方式:转发和评论这篇文章,然后关注小编,后台私信【面试】即可打包带走所有资料~


分享到:


相關文章: