写点什么

余额宝|三年开发|一二三四 +HR 面面经,已拿 offer|

发布于: 2021 年 04 月 13 日

余额宝一面

  • 自我介绍

  • 项目介绍(项目中最大的技术挑战和技术难点)

  • JVM 内存分哪几个区,每个区的作用是什么?JVM 有哪些回收算法,对应的收集器有哪些?

  • GC 的两种判定方法 ?CMS 收集器与 G1 收集器的特点。

  • Java 容器有哪些?哪些是同步容器,哪些是并发容器?

  • ArrayList 和 LinkedList 的插入和访问的时间复杂度?

  • HashMap 检测到 hash 冲突后,将元素插入在链表的末尾还是开头?

  • 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?

  • 1.8 还采用了红黑树,讲讲红黑树的特性,为什么大家一定要用红黑树而不是 AVL、B 树之类的?

  • 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?

  • 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?

  • https 和 http 区别,有没有用过其他安全传输手段?

  • 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理

  • 代码编写:两个线程,一个线程打印奇数,一个打印偶数,控制交替打印奇偶数。(有多种方法实现,最好能比较优劣)


余额宝二面

  • 查询中哪些情况不会使用索引?

  • 数据库索引,底层是怎样实现的,为什么要用 B 树索引?

  • Mysql 主从同步的实现原理?

  • MySQL 是怎么用 B+树?

  • 谈谈数据库乐观锁与悲观锁?

  • 有使用过哪些 NoSQL 数据库?MongoDB 和 Redis 适用哪些场景?

  • 描述分布式事务之 TCC 服务设计?

  • Redis 和 memcache 有什么区别?Redis 为什么比 memcache 有优势?

  • Redis 的数据结构

  • 海量数据过滤,黑名单过滤一个 url。

  • 讲一讲 AtomicInteger,为什么要用 CAS 而不是 synchronized?


余额宝三面

  • 考虑 redis 的时候,有没有考虑容量?大概数据量会有多少?

  • Redis 的 list zset 的底层实现

  • solr 和 mongodb 的区别,存数据为什么不用 solr?

  • 分布式 session 的共享方案有哪些,有什么优劣势

  • 谈谈分布式锁、以及分布式全局唯一 ID 的实现比较?

  • 集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?

  • 从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?

  • 数据库分库分表需要怎样来实现?

  • 排序算法的复杂度,快速排序非递归实现。

  • 消息中间件有哪些?他们之间的优劣势?


余额宝四面

  • 分布式架构设计哪方面比较熟悉

  • 介绍你实践的性能优化案例,以及你的优化思路

  • 介绍项目

  • 谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里

  • 各种聊项目,从项目的架构设计到部署流程。

  • 最近有没有学习过新技术?

  • 有什么想问我的?

  • 最近两年遇到的最大的挫折,从挫折中学到了什么?

  • 三年到五年的职业规划?


HR 面

  • 自我介绍

  • 项目介绍

  • 如何学习新技术?

  • 遇到的最大挑战以及如何解决?

  • 大学最大的收获?

  • 如何团队合作的?

  • 职业规划

由于文章的篇幅有限,所以这次的阿里面试题答案整理在了 PDF 文档里,需要完整版的朋友可以 点击传送门 免费获取






如何准备,才能拿到阿里 Offer?

Step1:准备一份优秀的简历

想要拿到阿里 Offer,那么首先得要有面试阿里的机会,想要得到大厂面试机会并不是一件容易的事情,而简历,是撬开面试大门的钥匙,钥匙是否匹配,就要看简历是否优秀了。很多应届生不知道怎么制作自己的简历,随便在网上下载一份,改改个人信息。实际上,大厂面试的简历,看重的不是你的个人爱好,也不是在校参加过什么社团学生会,更注重的还是你的个人实际能力。所以,一份优秀的简历,应该包括你个人掌握的技术点,是否有实习经历,参加过什么项目,解决过什么项目难题等等。

Step2:提示自身的软实力(知识和技术)

第二个关键就要自己的自身实力过硬了,无论是你应届生,还是工作好几年,无论是校招还是社招,企业招聘的永远是自身实力过硬的,也就是你的知识储备,你的技术水平要达到要求,而提升自身软实力的唯一办法就是:不断学习。

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

  • Java 核心知识整理



Java 核心知识

  • Spring 全家桶(实战系列)




  • 其他电子书资料




Step3:刷题

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

以下是我私藏的面试题库:




写在最后

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

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

需要完整版的朋友可以 点击传送门​​​​​​​ 免费获取

用户头像

还未添加个人签名 2020.09.07 加入

还未添加个人简介

评论

发布
暂无评论
余额宝|三年开发|一二三四+HR面面经,已拿offer|