阿里mysql面试二面_阿里面试

每一个互联网人心中都有一个大厂梦,百度、阿里巴巴、腾讯是很多互联网人梦寐以求的地方,而我也不例外。但是,BAT等一线互联网大厂并不是想进就能够进的,它对人才的技术能力和学历都是有一定要求的,所以除了学历以外,我们的技术和能力都要过硬才行。

今年前前后后我参加了阿里巴巴两次面试,一次是社招,一次是内推,第一次社招3面过后就被挂了,内推历经5面拿到的offer,进入的是阿里口碑部门,分享一下这次的面经,希望能帮助到大家。

社招阿里巴巴(新零售部门),三面被挂

阿里巴巴一面(55分钟)先介绍一下自己吧

说一下自己的优缺点

具体讲一下之前做过的项目

你觉得项目里给里最大的挑战是什么?

AQS知道吗?知道哪一些呢?讲一讲。(对AQS的理解)

JVM 里 new 对象时,堆会发生抢占吗?你是怎么去设计JVM的堆的线程安全的?(jvm 里 new 对象时,堆会不会发生抢占?那你怎么设计jvm的堆的线程安全?)

讲一下redis的数据结构(Redis五种数据结构)

你有什么问题要问我吗?

直接口头通知我:答得不错,准备二面吧

阿里巴巴二面(45分钟)根据项目问了一些细节问题

说一下HashMap的数据结构

HashMap底层数据结构详解

红黑树和AVL树有什么区别?(红黑树和AVL树的区别)

如何才能得到一个线程安全的HashMap?(如何线程安全的使用HashMap)

讲一下JVM常用垃圾回收期(JVM几种常见的垃圾收集器总结)

再描述一下你之前的项目吧

你觉得这个项目的亮点在哪里呢?

你设计的数据库遵循的范式?(数据库设计需要遵循的三大范式)

你有没有问题?

阿里巴巴三面(50分钟)又聊项目

在项目中,并发量大的情况下,如何才能够保证数据的一致性?

elasticsearch为什么检索快,它的底层数据结构是怎么样的?(ElasticSearch为什么快)

netty应用在哪些中间件和框架中呢?(Netty应用场景)

为什么要用redis做缓存?

了解Springboot吗?那讲一下Springboot的启动流程吧(Springboot的启动流程) SpringBoot启动流程解析

最近看了什么书?为什么?

你平时是怎么学习Java的呢?

内推阿里巴巴(阿里口碑)

5面拿offer(3轮技术面+总监面+HR面)

阿里巴巴一面(38分钟)- 自我介绍

阿里巴巴二面(45分钟)自我介绍+项目介绍

你在项目中担任什么样的角色?

那你觉得你比别人的优势在哪里?你用了哪些别人没有的东西吗?

linux常用命令有哪些?(Linux常用命令大全)

Spring的IOC, AOP。

讲一下ORM框架Hibernate

你还有什么想问的?

阿里巴巴三面(30分钟)说一下自己做的项目

问了一些项目相关的问题

讲一讲NIO和BIO的区别(BIO与NIO区别)

讲一下redis的数据类型和使用场景(Redis五种数据类型及应用场景)

k8s的储存方式是怎样的?(k8s的储存方式简述)

Spring AOP原理是什么?怎么使用?什么是切点,什么是切面?最好是举个例子(Spring AOP的底层原理是什么?)

算法题:给一堆硬币的array,返回所有的组合(有多少种硬币组合,更优解法)

阿里巴巴总监面(34分钟)算法:给一个set打印出所有子集;多线程从多个文件中读入数据,写到同一个文件中;判断ip是否在给定范围内;打乱一副扑克牌,不能用额外空间,证明为什么是随机的。

线程池的原理以及各种线程池的应用场景(线程池的种类以及使用场景)

线程池中使用有限的阻塞队列和无限的阻塞队列的区别(线程池的阻塞队列的理解)

如果你发现你的sql语句始终走另一个索引,但是你希望它走你想要的索引,怎么办?

mysql执行计划(Mysql查看执行计划)

有没有想问的?

阿里巴巴HR面(23分钟)自我介绍

平时怎么学习的?

有什么兴趣爱好吗?

怎么看待996?

怎么平衡工作和学习?

有没有什么想问的

阿里一面:自我介绍

擅长哪方面的技术?

比较重要的数据结构,如链表,队列,栈的基本理解及大致实现

J.U.C下的常见类的使用。 ThreadPool的深入考察; BlockingQueue的使用

Java内存分代模型,GC算法,JVM常见的启动参数; CMS算法的过程。

volatile关键字有什么用(包括底层原理)

线程池的调优策略

spring cloud的服务注册与发现是怎么设计的?

分布式系统的全局id如何实现

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

耗时将近50分钟

阿里二面:参与的项目,选一个,技术难度在哪里?

Collections.sort底层排序方式

负载均衡的原理

设计模式与重构,谈谈你对重构的理解

谈谈Redis相关的集群有哪些成熟方案?

再谈谈一致hash算法(redis)?

数据库索引,B+树的特性和建树过程。

mysql相关的行锁,表锁;乐观锁,悲观锁

谈谈多线程和并发工具的使用

讲讲Redis的架构和组件

Redis的数据一致性问题(分布式多节点环境 & 单机环境)

docker容器

耗时将近40分钟

阿里三面(高级技术专家面):高并发情况下,系统是如何支撑大量的请求的?

接着上面的问题,延伸到了中间件,kafka、redis、rocketmq、mycat等设计思路和适用场景等

最近上过上哪些技术站点; 最近在看哪些书。

工作和生活中遇见最大的挑战,怎么去克服?

未来有怎样的打算

一面

40minJava内存模型

两个进程的变量的地址相同,它们之间的写操作有相互的影响吗

进程通信的方式

关系型和非关系型数据库

事务的特点

原子性和一致性的实现原理(不会)

TCP和IP为什么要四次挥手

Close_ wait状态是什么(不会)

甲乙轮流射箭,两个人命中靶子的概率都是0.5 ,谁先射中就赢,问甲获胜的概率(答案2/3 )

算法题:给出一串数字,去掉k个数,问能形成的最小的数

二面

50minJava HashMap

put 数据的过程

链表非常长会怎么样

什么情况下会转红黑树

ConcurrentHashMap作的改进

常见的垃圾回收算法

引用计数的循环引|用的情况

MySQL的联合索引

索引的底层结构

100个人坐座位,第一个人随机坐一个座位,后面的人优先坐自己的座位,只有当自己的座位被占了才会随机坐,问第100个人能坐到自己座位的概率(答案50% ,不会)

段页式管理下, CPU取数据要几次访存

算法题:给出一个数字串的排列,找出下一一个比当前数更大的一个排列(不能用next_ permutation )

三面

55min场景题:对HashMap rehash的时间进行优化我第一次答了:事先预估capacity ,直接申请相应大小

我第二次答了:扩容时仅申请数组但不拷贝,当get命中时顺便拷贝过去

缺点是什么(可能会生成很多数组)

再优化手写单例模式(饿汉、DLC懒汉)

算法题:给出一个转义后的字符串,问原串是什么? (写得并不太满意)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值