背景:
本科双非,读的法律专业。研究生跨专业到了一所中部985读的软件工程专业(对,就是华科,有没有师弟师妹哈哈)。
2020年秋招拿到了阿里巴巴菜鸟网络的意向书。
另外我这里准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套大厂面试题(不断更新中),希望大家都能找到心仪的工作!
资料获取方式:转发和评论这篇文章,然后关注小编后扫描小编的二维码即可打包带走所有资料~
经历
- 我高中读的理科,但是属于那种只知道死读书却又读不好书的书呆子,最羡慕的就是那种平时吊儿郎当考试却又前几的同学。上大学之前完全不知道自己喜欢什么,于是填专业志愿时随便选了几个,但是最后却被调剂到了法律专业。大一时也想过换专业,但是换什么好呢自己却毫无头绪,因为我一直没找到自己所热爱的东西。就这样浑浑噩噩来带了大二,也错过了大学里唯一一次转专业的机会。
- 在大二时有次偶然看到学校开放跳蚤市场(就是线下的二手交易平台)。许多同学都将自己闲置的书籍,以及一些生活用品拿出来拍卖。当时灵机一动,想着可不可以把这种模式搬到线上了,这样大家就不用亲自跑到线下摆摊儿了,而且学校跳蚤市场一年就开放两次,这样大家平时有出售闲置物品的需求就可以在线上完成了。当时我还不知道闲鱼,只是为自己这个突然的想法捞捞的抓住,一心只想把它实现。
- 但是在一所双非的三线小城市高校,而且自己又读的是文科专业,想找人实现这样的一个网站可谓是难上加难。一开始我尝试去认识一些计算机学院的校友,但是一来自己不善言谈,二来我发现他们也就会考试做题而已,真要做个网站还真没做过。就这样耗费了大概一个多月在找人上面最后却是一无所获。最后实在是不甘心,于是便硬着头皮疯狂的想法不了老子自己做一个出来。
- 当时我对编程知识一无所知,大一才拥有第一台笔记本电脑,在这之前只会拿电脑打游戏。
- 我唯一的优势就是性子倔。那段时间几乎是到了睡觉都抱着个电脑研究做网站的事,也慢慢接触了解了什么是服务器,域名,php,java这些。但是虽然疯狂,但是我还是有自知之明的。我知道如果真正的让我编程去把一个网站做出来,几乎是不可能的事。于是就把眼光投降了一些不用编程就能开发网站的产品,类似于discuz,joomla和织梦这些。
- 最后的结果是,我花了大约一个学期和一个假期的时间把这么样的一个网站折腾出来了,全程没有编写一行代码,现在回头看看却是low到爆。但是当时记得我第一次上线发布,在浏览器里第一次输入自己购买的域名,展现在自己面前的二手交易网站首页时,那种成就感真的是爆棚了,感觉自己牛X的不行,分分钟要上天的那种。
- 最后的结果是,网站虽然做出来了,但是没人用,当时也不懂的宣传,上线一个多月我就撤下来了。
- 但是这个经历却让我真正找到了自己所喜欢的东西,虽然已经是大二下学期了,虽然当时的我还没有编写过一行代码,但是我知终于知道了什么是我想要的,我觉得我是幸运的。
- 之后我就把跨专业考研这件事提上了日程,开始疯狂搜集相关的信息,也慢慢知道专业课,数学一,数学二,上机编程这些东西。
- 关于我准备考研的事可以看我以往的回答,我就不再赘述了。
- 最后的结果也是幸运的,一击即中,来到了一所中部985的全日制软件工程专业。
- 读研之后就是按部就班的上课,激情是不可能激情的,也就做做导师布置的项目,玩玩王者荣耀这个样子,勉强混一下
直到秋招来临。
一面
- 说说你自己的项目吧
- 看你项目涉及到了多线程,那你说说Java的线程池和线程池的参数吧
- 如果给你8G内存,500G固态硬盘,双CPU四核的配置,现在有100个用户访问你的系统,请你设计一下你刚刚说的那些线程池参数
- 了解Synchronized吗?它的底层结构是怎么实现的
- 了解HashMap吗,底层结构怎么实现的,多线程下能用它吗
- 那你说说ConcurrentHashMap是如何保证现成安全的
- 说一说TCP的拥塞机制
- 详细说一下TCP的三次握手以及为什么要三次握手,两次不行吗?
- TCP第三次ACK时能够携带数据吗?
- 最后两道算法题
- 给你一个16*16矩阵,从最左上角到最右下角,有几条路径
- 给你一棵二叉树,怎么获得它的镜像二叉树
二面
- 做一下自我介绍吧
- 了解数据库吗,平时用过哪些数据库
- 说说Mysql的索引机制
- 操作系统了解吗,关于分页置换原理说说
- volatile关键字有什么作用,底层是怎么实现的
- 我看你项目里用到了Redis缓存,具体说说怎么解决缓存一致性问题
- 一个String作为参数传递进来,如何在函数内部改变被传递进来的值(这题实质是考察JAVA里的反射,通过反射来改变String数据结构里的字符数组的值从而改变String的值)
- 接口和抽象类有什么区别
- 说一说JAVA虚拟机吧,越具体越好
- 出现Stack overflow有哪些可能
- 为什么重写equals要重写hashcode
- 算法题
- 如何用两个栈实现队列
- 删除链表的倒数第K个节点
三面
- 三面比较奇怪,感觉面试官特别忙,也没问我技术,就问我有没有参加过比赛,有没有得过什么奖,研究生怎么过的,最近在看什么书,有什么收获。大概就这些,全程15分钟左右。面完我有点懵,一度以为面的不是阿里的。
交叉面
- 自我介绍
- 讲一讲Https和Http的区别
- 为什么要用非对称加密,只用对称加密不行吗
- 一个SQL执行慢,有哪些可能
- JVM调优有做过吗,当时你是怎么设置各个参数的
- ThreadLocal内存泄漏了解过吗
- TCP和UDP的区别,分别在哪些场景下使用
- 如何实现可靠的UDP
- 一个Spring项目是怎么启动起来的
- Spring里一个Bean的生命周期
- 说说AOP的原理
- 最后问了一个topK类型的算法题
主管面?总监面?
- 上来感觉说话很有气场,先很仔细的介绍了他们做的是什么,花了大概接近10分钟吧,然后让我详细的介绍一下我从大学到研究生的生活
- 之后就围绕我的项目展开提问,这部分因为每个人的项目不一样所以没什么参考价值。项目问的很细,能看出来是一位大佬,很有开发经验。问题里很多涉及到了大型网站架构方面的知识,大概的思路是怎么从一个几十人用户的小网站到上亿级别用户的大网站,这里面的架构设计是如何一步一步的升级的。一边问一边跟我讲解,真的十分佩服大佬的经验。最后问了我一道关于图的算法题。
HR面
- 当时在高铁上接到的HR面,因为环境有点吵,所以面的时间不长,因为听说阿里的HR貌似有一票否决权,所以丝毫不敢怠慢
- 详细的介绍一下你自己吧
- 你的优点和缺点是什么
- 当初跨专业考研为什么不选一个相对简单一点的学校
- 如何理解技术和商业化的
- 之后五年的职业规划是什么样的
- 有女朋友吗
- 以上就是我整个阿里面试的流程,最后贴一张意向书。愿下一个进阿里的有你。
最后
最后为大家准备了Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。以上内容中,我谈及到的学习方法、学习面试资料,均可以免费分享给大家,希望大家进到自己想进的公司,共勉!
Java核心笔记
这份Java狠心笔记文档包含了JVM、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络、日志、Kafka、RabbitMQ、Hbase、MongoDB、Cassandra、设计模式、负载均衡、数据库、一致性算法、JAVA算法、数据结构、加密算法、分布式缓存、Hadoop、Spark、Storm、YARN、机器学习、云计算。
JVM
JAVA基础
JAVA集合
Java中高级核心知识点
数据结构与算法
必会工具
面试指南
还有全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!
资料获取方式:转发和评论这篇文章,然后关注小编后扫描小编的二维码即可打包带走所有资料~