一、前言
最近刚读完一本书:《Netty、Zookeeper、Redis 并发实战》,个人觉得 Netty 部分是写得很不错的,读完之后又对 Netty 进行了一波很好的复习(之前用 spring boot + netty + zookeeper 模仿 dubbo 做 rpc 框架,那时候是刚学 netty 后自己造的小轮子)。
虽然对于 Netty 的使用已经比较熟悉了,而且还知道它的底层是基于 Java NIO 做进一步的封装,使得并发性能和开发效率得到大大的提升。但是,对于同步阻塞、同步非阻塞、异步这些概念,还是比较的模糊,一直处于似懂非懂的状态。
所以这两天,一直在网上看看大家对此的评论,也得到了一些启发。而且还有很多同学们提到了 《Netty 权威指南 第二版》 这本书,说前两章对于网络 I/O 模型和 Java I/O 的介绍很不错,所以我也特意去找了一本 pdf 来看看(比较穷。。。)。看了前两章后,确实对于这方面的概念清晰了不少,所以决定写下此文章来记录一下,也分享给更多不清楚这方面理论的同学们,并且也下定决定,有空一定把这本书继续看完,哈哈哈。
一面
-
自我介绍
-
项目难度介绍
-
如何实现延时任务
-
如何实现限流
-
线程池的参数
-
能不能自己实现一个java.lang.String并加载
-
Redis为什么这么快
-
epoll和poll的区别
-
进程同步的方式
二面
-
MySQL的索引机制
-
如何自己实现内存分配和管理?不太懂,然后说了jvm的垃圾回收机制
-
你们公司内部的RPC框架,介绍一下
-
Redis的key过期策略
-
缓存穿透和缓存雪崩
-
分布式锁
-
如何实现全局的id生成策略
-
悲观锁和乐观锁
-
红黑树了解么
三面
-
如何实现群消息已读
-
消息推送如何保证不重复
-
Kafka如何保证消息的可靠性
-
RPC是什么,和http调用有什么区别
-
说一说你项目的架构
-
GC
-
MySQL的索引原理,给了一个场景,如何优化
-
。。。。。。
面完3面后居然又来了一个笔试题(内心无比崩溃~~)
附加笔试
-
producer-consumer
-
两线程交替打印
-
多线程模拟100分钱随机分给20个人,每个人最少分配到2分钱
四面
-
写个producer-consumer吧,我说上次写过了。。傻了。。不该说的,然后面试官换了一道题,还好比较简单,写个二分查找,2分钟写完完事。
-
项目难点
-
MVCC
-
HTTPS
-
ElasticSearch的查询过程
-
Kafka如何保证高可用
-
Reids的集群和选主
-
知道什么分布式一致性算法
-
如何实现定时关单
-
。。。。。。
HR面(唉,阿里的hr面真是让我难忘。。。)
-
说说看,假如你是部门技术经理,线上商户数据丢失怎么办
-
怎么将一个产品推荐给其他的团队,怎么界定边界
-
怎么样协调关系(到这里我已经快冒汗了,生怕最后一关毙掉了)
-
你和同事相处的情况怎么样,说说你帮助同事的一次经历
-
薪资
说真的,阿里面试流程很长,而且一个部门挂了以后,会被另一个部门捞起来,不停的面。总之来说,阿里的面试体验也还不错,这次虽然面的忐忑,最终三天内还是收到了offer,真的很庆幸。
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
最新整理面试题
上述的面试题答案都整理成文档笔记。
也还整理了一些面试资料&最新2021收集的一些大厂的面试真题,有需要的可以点击这里,免费获取
最新整理电子书
最新整理大厂面试文档
FJ1cmN1R2dB)**
最新整理电子书
[外链图片转存中…(img-LRgNt2ah-1619330118809)]
最新整理大厂面试文档
[外链图片转存中…(img-w6w4Ta2Z-1619330118811)]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。