此文转载自:https://blog.csdn.net/weixin_47067712/article/details/110235104#commentBox
人人都有大厂梦,我也不例外,从大三开始,就一直想进入阿里工作,大毕竟是大厂,想想也没那么容易,不过好在自己学历还过得去,项目经验也有得讲,所以今年也斗胆尝试了一下,直接就投了阿里云计算。简历是过了,紧张激动地开始准备面试,但结果并不理想,三面过后,出门我就哭了!以下还原这次阿里云面试的真实场景和面试题!希望能够给大家一些参考和帮助。如字节跳动、腾讯、美团、拼多多等等,有需要的朋友直接(点击我)免费领取!
![image](https://i-blog.csdnimg.cn/blog_migrate/df8fb1015471581c6a408855d4e026a5.webp?x-image-process=image/format,png)
三面阿里云计算被虐哭,还原真实场景
阿里云计算一面题:
- 自我介绍
- 开始问项目项目,抛了一系列的提高性能的问题,针对项目提问(项目保密)
- String,StringBuilder,StringBuffer的区别
- ArrayList,LinkedList的区别和使用场景
- HashMap原理,怎么解决hash碰撞的?HashMap在多线程情况下会有什么问题?
- ConcurrentHashmap使用过吗?
- jdk1.8对并发方面的优化你知道吗?
- CAS知道是什么吗?
- MySql存储引擎有哪些?说说区别?
- 怎么定位慢查询
- explain输出结果有哪些 ?
- 线程池底层原理,调度丢弃策略有哪些 ?线程池有哪些参数?
- 说一下JVM垃圾收集算法,GC roots有哪些?
阿里云计算二面题:
- 自我介绍
- Java的并发方式
- synchronized和lock的区别
- Java内存模型及GC算法
- 说说你理解的线程安全
- Java源码中的HashMap、HashTable、ArrayList及LinkedList
- 解决Hash冲突的方法及Java8对链地址法有何优化
- 加载器双亲委派模型及破坏
- 死锁的原因及预防
- 操作系统的内存管理机制
- 进程和线程的区别
- TCP和UDP区别
- TCP如何保证可靠性,拥塞控制如何实现
- 用过哪些数据库,支持事务的数据库的四个特性,数据库的四个隔离级别
- 讲下跳表怎么实现的
- 哈夫曼编码是怎么回事
- 非递归且不用额外空间(不用栈),如何遍历二叉树
阿里云计算三面题:
- NginX如何做负载均衡?
- 常见的负载均衡算法有哪些?
- 一致性哈希的一致性是什么意思?
- 一致性哈希是如何做哈希的?
- 自己最常用的数据结构是什么?
- 讲讲算法及数据结构在实习项目中的用处
- 常见的排序算法及其复杂度
- 讲讲O(nlogn)复杂度的算法在实际工程中的用处
- 请你简单说说你们公司现在的业务,会问你一些你的看法,是否看好等等
- 是否用过消息中间件,你们的用途是什么,你知道消费者组的概念吗?
- 说说你用过的RPC框架,假如让你实现RPC框架的序列化部分你会怎么做?
- 使用Java实现tps统计,聊聊你的思路
- 说说LinkedHashMap
面试结束之后,回家整理了一下这次的面试题,每个题也都自己把它弄懂弄透了,关于面试题的答案,也全部整理成了文档。
大厂面试题答案
以上阿里云的面试题及答案均整理在文档内,另外还包括了一些其他大厂的面试题整理,如字节跳动、腾讯、美团、拼多多等等,有需要的朋友直接(点击我)免费领取!
![image](https://i-blog.csdnimg.cn/blog_migrate/fa4765d4d60d2519f7fb27bca1a125d0.webp?x-image-process=image/format,png)
![image](https://i-blog.csdnimg.cn/blog_migrate/1c24ef78c4436d0f83b7eb094c8dded2.webp?x-image-process=image/format,png)
![image](https://i-blog.csdnimg.cn/blog_migrate/f24462b76d66bf0c62d38da332b923cc.webp?x-image-process=image/format,png)
春招准备工作
虽然这次面试阿里云以失败而告终,但是我并未气馁,现在已经12月尾声了,马上要迎来新的一年,实际上离金三银四越来越近,所以我还有一次春招的机会,理应提前做好准备。目前,为了准备春招,做了一些计划和练习,特分享一下,希望能够给大家一些参考。
(1)第一步:刷题
当你面试过大厂时,你就能够意识到“刷题”的重要性,我就是如此。这次刷题,要涉及到很多知识点,包括Java知识、流行框架以及算法编程等等。那么春招来临之前的这段时间,我会怎么刷题呢?我特搜集了一些比较新的题集,内容涵盖非常广,如【Java核心知识】、【算法刷题Leetcode中文版】等。
Java核心知识库:
![image](https://i-blog.csdnimg.cn/blog_migrate/d828ddf6add5ea5681fded3f90d23b34.webp?x-image-process=image/format,png)
Java面试宝典:
![image](https://i-blog.csdnimg.cn/blog_migrate/535fdee2bcea52a9b8d577608ff8f676.webp?x-image-process=image/format,png)
Java200道面试题精选加解析:
![image](https://i-blog.csdnimg.cn/blog_migrate/eea826825bf96a02da56e6c807402389.webp?x-image-process=image/format,png)
算法刷题:
- Leetcode
- 算法的乐趣
- 算法大全
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aH6nhZ16-1606464792715)(//upload-images.jianshu.io/upload_images/19471645-810a470871b68b9a?imageMogr2/auto-orient/strip|imageView2/2/w/640/format/webp)]](https://i-blog.csdnimg.cn/blog_migrate/b0684e9b3ffd881fd50b35abfd05b1f7.png)
Leetcode为例
(2)第二步:研究实战
无论大厂还是小厂,面试时都会问到项目实战相关问题,所以积累实战知识是很有必要,但是对于一些小白来说,实战知识从何积累呢?研究实战,实际上除了在实际的项目过程中积累以外,平日里翻阅一些实战书籍或文档,也是受益不少的,多少能够学到一些方法、经验。我个人也整理了不少实战文档,平时有时间也会看一看,目前整理到的实战文档还算全面,包括Spring全家桶、JVM、并发编程技术、Redis相关、MySQL调优、Tomcat、ZooKeeper等高级技术。
![image](https://i-blog.csdnimg.cn/blog_migrate/db5df26da46676364e3602f781d3e7f2.webp?x-image-process=image/format,png)
![image](https://i-blog.csdnimg.cn/blog_migrate/ebec06e42c3f5be91561b8d21f9100ca.webp?x-image-process=image/format,png)
(3)多跟比自己厉害的技术大神交流
996成为了互联网公司的常态,所以大部分的程序员容易陷入一个怪圈——机械化地工作。实际上,作为一名程序员,想要中年后不被市场淘汰,那么在年轻时,就一定要多思考多交流,但是身边的同事都是跟自己处于同级水平的,领导又不可能跟自己交流太多的技术,那么怎么通过什么的方式来交流和思考,从而达到提升自己的效果呢?我是这么做的:①看课堂直播,在直播间学习、交流;②加架构技术交流群,结识大神,交流问题;③参加线下活动,如技术研讨会、交流群面基等。
![image](https://i-blog.csdnimg.cn/blog_migrate/48d472773c96171f7c152aa651fdc36f.webp?x-image-process=image/format,png)
最后总结
只有一条路不能选择——那就是放弃的路;只有一条路不能拒绝——那就是成长的路。在强者的眼中,没有最好,只有更好。所以,我选择成为强者!