春招大吉!2021年首面阿里成功拿下面试官,历经4面成功拿到offer!

156 篇文章 1 订阅
149 篇文章 0 订阅

前言

春招来了,面对自己心心念念的阿里,即使秋招被毒打,也还是忍不住再次投递了简历。其实这一次的面试更加的凶险,感觉全程都很有压力,不像春招的时候感觉还是比较舒服的。
直到前天本来以为自己二面挂了,想确认一下,没想到是意外收获,二面居然过了,最近安排终面和交叉面,讲真的突然就泪崩了。
lz自己也很菜,算法上真的很弱鸡,一直是自己最大的痛点。唉。笔试题第一题ac了0.6,第二天过了测试的例子,但是不知道为啥跑题目的时候说数组越界,0ac。还算有惊无险的拿了offer!
以下是正文,都是回忆起的

另外我这里为大家准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套大厂面试题(不断更新中),有需要的朋友点这里备注csdn,自行下载!希望大家都能找到心仪的工作!
在这里插入图片描述

阿里一面

  • hashmap1.8和以前遇到hash冲突的不同

  • Hashmap如何扩容,如何解决冲突

  • 创建线程的方法

  • 数据库的隔离级别

  • 索引失效情况

  • b+树

  • 聚簇索引

  • 知道有哪几种Lock

  • synchronized与lock的区别

  • 进程与线程

  • 多线程的意义

  • 多路复用,BIO NIO

  • 死锁问题,怎么解决死锁

  • 线程池ThreadPoolExecutor的参数

  • 链表反转

  • 有哪几种设计模式

  • Java或者spring中用到的设计模式

  • 单例模式的几种实现

  • 内存溢出是什么导致的

  • 对象在年轻代到老年代的过程

  • 几种垃圾收集器说一下

  • 垃圾回收算法

  • Set的底层是什么实现的

  • 如果重写了equals和hashcode,两个equals的对象放到set里,最终set的长度是多少。

  • 手写链表反转.

阿里二面

  • 首先是自我介绍。个人情况,个人的擅长的地方,这里主要考察你的表达能力和语言精简能力。

  • 介绍自己的项目经验,项目中做了什么,难点在哪里?主要是想了解参与过技术难度最大的项目难点,技术难点在哪里,你是怎么来解决的?

  • Java的线程池说一下,各个参数的作用,如何进行的?

  • 同步与异步区别?

  • 同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。

  • 异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。

  • 反射的作用是什么?

  • 反射的主要作用是用来扩展系统和动态调用程序集。

  • 所谓扩展系统就是先把系统写好,系统里面定义接口,后面开发的人去写接口的代码。

  • 动态调用程序集就是利用反射去调用编译好的dll,当然此时的dll没有被引用到你所建的工程里面。

  • 数据仓库,多线程和并发工具等?

  • 私有云,docker和k8s等?

  • 了解哪些中间件,dubbo,rocketmq,mycat等?

  • dubbo中的rpc如何实现?

  • 自己实现rpc应该怎么做?

  • dubbo的服务注册与发现?

  • HashMap的实现原理,HashMap是如何解决hash冲突的问题?

  • Redis讲一下,项目使用场景,以及对应的算法?

  • 分布式系统的全局id如何实现?用zookeeper如何实现的呢,机器号+时间戳即可?

  • 分布式锁的方案,redis和zookeeper那个好,如果是集群部署,高并发情况下哪个性能更好?

  • kafka了解么,了解哪些消息队列?

  • 乐观锁和悲观锁

  • IO和NIO的却别,以及NIO的原理,有了解过mina?

  • JVM内存模型,JVM加载原理,回收算法了解?

  • 最后问了些排序算法

阿里三面

  • 自我介绍

  • 项目的一些介绍

  • jvm说说1.8以后的内存空间是啥样子的,主要是元空间

  • mysql说说聚集索引和非聚集索引,以及优点和缺点,还有创建以后的文件大小

  • redis的五种数据结构,重点是跳跃表,解释完以后,面试官害假设一些尝尽,让我分析跳跃表

  • 假设catch,final,catch中有return,那么final还会不会执行

  • springmvc的运行流程

  • 假设1亿的11位的手机号,运行空间128M,如果要进行排序,那么要怎么设计

  • 技术选型是怎么确定的

  • 假如给我更好的人才力量我会怎么确定技术栈

  • 分布式锁,让我说说看(凭借自己的理解去说了,顺带把一些集群的异常也说了)

  • 分布式锁的具体算法,我把redlock的过程说了一下

  • 之后是servlet的具体实现(没回答上来)

  • servlet在tomcat中的生命周期(没回答上来)

  • mysql中涉及的算法(b,b+,最左原则啥的)

  • 反问,跟一面一样了

  • 面试官建议超级好,也明确突出了我应该向哪方面继续努力啥的,还有不足的地方

  • servelt这个我确实我没见过问的,突然被问傻了,我自己都以为自己凉了,但是问我的内推人确认的时候,发现自己过了,真的我第一次眼眶红了。

四面

基本就是跟聊天差不多了其实

总结

最后我为大家准备了Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。点这里备注csdn,自行下载
在这里插入图片描述

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值