记阿里的电面

记2019年4月阿里的一次电面:
在接到阿里电话通知面试的时候,心情别提有多激动了,阿里那是之前自己想都不敢想的公司,阿里的员工各个都是精英,他们拥有扎实的基础以及先进的技术,通过此次面试让我清楚的认识到自己的不足,了解自己在今后应该从哪些方面提升自己!下面是电话具体细节:
面试官是一个超级和蔼的 小哥哥,刚开始心率估计到达巅峰
1.自我介绍
2.了解过ServerLess吗?自己平时有什么学习习惯吗?会从哪里接触一些新的技术
无服务式架构
3.多线程了解吗?可以具体说说线程死锁的问题吗?可以举个具体例子吗?
线程的生命周期:新建——就绪——运行——阻塞——死亡
运行到阻塞:同步锁、sleep方法、wait()
start()和run()方法的区别:run()相当于依旧在主线程中进行执行去调用其中的一个普通方法,而start()内部调用run(),并且含义是启动新建的线程。
线程死锁:多个线程因竞争不可剥夺的资源而导致的一种僵局现象
比如两个人用一双筷子吃饭,甲拿到筷子右等待筷子左,乙拿到筷子左等待筷子右,他们同时拿到资源但是又等待某一资源陷入僵持状态/从A账户取钱存入B账户,从B账户取钱存入A账户
线程死锁四个必要条件
1.互斥条件:一个资源只可被一个进程占用
2.不剥夺:一个进程在所获得的资源未使用完毕之前不可以进行强行剥夺
3.请求保持:进程已有一个资源但是对新的被其他进程占用的资源提出请求,此时请求被阻塞,但所拥有的资源保持不放
4.循环等待:存在进程资源的循环等待链
如何避免线程死锁:
尽量在编程中不要出现锁的嵌套使用
Lock类中的tryLock()尝试给锁加时间限制,而不是一直等待
4.设计模式用过吗?
单例设计模式:在类执行过程中有且只有一个实例对象
将构造方法私有化,保证其在外部不可以实例化该对象
创建唯一一个实例对象,并将其封装成private static
定义一个静态方法返回唯一实例对象
工厂设计模式
5.LinkedHashMap和 HashMap之间的区别?
6.ConcurrentHashMap在1.6,7,8之间的区别?(源码)
7.Redis了解吗?非关系型数据库的应用场景?
8.GC机制的了解?
9.ClassLoader加载器具体谈谈吗?
10.做过哪些项目呢?在项目中遇到什么问题呢?如何解决的呢?
11.MySQL中的两种索引的 数据结构?
12.索引在数据库中的优势?
13.集合:
14.数据结构:算法
15.Spring框架?
16.MyBatis?
17.JVM算法(调优,复制算法,标记清除,标记清除整理,分代收集)
18.HotSpotJvm的大致结构?
19.SpringMvc的应用?
20.可以谈谈浏览一个网页背后的逻辑吗?
21.开闭原则?
22.Zookeeper?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值