眼看着这次秋招差不多顺利结束了,几乎阿里、百度、美团、字节、滴滴等等的大厂我都有疯狂投岗面试。虽然结果是比较圆满的,不过这阿里云倒是给我留下了深刻的印象。原因?请往下看...
- Aliyun一面:MySQL+Redis+JUC+Kafka+项目
- Aliyun二面:项目+Java+数据库+网络+高并发+基础
- Aliyun三面:项目+源码
- Aliyun四面:基础+项目+缓存+锁
问的是还挺多的,个人觉得也挺广泛的(毕竟面试造火箭,工作拧螺丝),还有一些没记住(脑容量有限~哈哈哈~)。以上只是大块方向,我们一起来看看具体的问题如何吧...【文末有相关问题的解析】
中间件一面:MySQL+Redis+JUC+Kafka+项目
1. MySQL
(1)MySQL数据量太大怎么办,如何分库分表
(2)binlog,读写分离,主从复制
(3)MySQL里的锁了解吗
2. Redis
(1)主从复制
(2)分布式锁
(3)哈希槽,一致性哈希
3. JUC
(1)锁
4. Kafka
(1)高性能的原因
中间件二面:项目+Java+数据库+网络+高并发
1. 项目
(1)为什么选Flume
(2)为什么选Kafka
(3)数据哪来的
(4)如何给出推荐算法
2. JAVA
(1)ThreadLocal
(2)ConcurrentHashMap
(3)JNI原理
(4)序列化,UUID
3. 数据库
(1)为什么InnoDB支持事务
4. 网络
(1)三次握手
(2)MTU HTTPS,SSL,CA TP-LINK一面
5. 线程池
6. 接口与继承
7. 异常与错误
8. 反射的原理
中间件三面:项目+源码
1. 项目,对着代码讲一遍
2. 源码,JUC包共享桌面讲一遍
中间件四面:基础+项目+缓存+锁
1. 项目
2. 基础
(1)NIO,epoll,select...
(2)如何设计缓存系统,skiplist
(3)锁,volatile...
(4)float多少个字节,海量数据TopK
稍稍总结一下,分享一波经验之谈
以上就是这次的中间件团队之行啦,5面的HR就不用我多少了吧,基本上就那么几个问题,你懂得。
这里总结只是想分享一些我的面试准备经验之类,其实每个人都有自己的一套学习和面试的宝藏笔记等之类,不过小编还是想在这里将自己的分享出来,给大家提供一些参考也是不错的。
声明一下:以下分享的经验,所提及的全部的面试学习建议以及笔记,小编这里都有成册的PDF或者Word文档,想要参考借鉴获取得话麻烦一键三连之后看下图小助理的微信:(bjmsb10)添加即可免费获取到哦,作为开发人员这些核心知识真不可错过哦 让你技术上的提升面试时的丰收
像这次Aliyun就比较重视基础,所以关于Java基础这一块的话,去刷这份<java面试宝典>有关基础这块的问题都有:java基础+算法与编程+html&JavaScript&ajax+Javaweb+数据库+XML+流行的框架与新技术+软件工程与设计模式+j2ee+EJB+webservice
其次像MySQL+Redis+Kafka+并发等这些比较高阶一点的呢,可来刷刷高级一点的<Java进阶面试点集结>:消息队列+分库分表+读写分离+Redis缓存+分布式+高并发+高可用等等
以上说的全部都是Java面试,那关于源码这一块呢?我们该咋学呢?莫怕,小编也有秘密武器.
如果面试的时候问你源码,那我觉得最常见的就是以下这20道源码问题吧(答案解析近2万字,我就不多说了
如果是你在苦恼如何读源码,那小编可以给你提供几个我正在学习的PDF:<Kafka源码解析与实战><Spring高级源码笔记><MyBatis源码分析><看透Spring MVC源代码分析与实践>
大致瞄一眼<Kafka源码解析与实战>,看看适不适合你:
本书系统介绍Kafka的实现原理和应用方法,并介绍Kafka的运维工具、客户端编程方法和第三方集成方式,深入浅出、图文并茂、分析透彻。本书共10章,主要内容包括:
- 第1章介绍Kafka诞生的背景和主要设计目标。
- 第2章介绍Kafka的基本组成、拓扑结构以及内部的通信协议。
- 第3章介绍BrokerServer及内部的模块组成。
- 第4章介绍BrokerServer内部的九大基本模块。
- 第5章介绍Broker的控制管理模块。
- 第6章介绍Topic的管理工具。
- 第7章从设计原则、示例代码、模块组成和发送模式四方面介绍有关消息生产者的相关知识。
- 第8章介绍两种消费者:简单消费者和高级消费者。
- 第9章介绍Kafka的典型应用,包括与Storm、ELK、Hadoop、Spark典型大数据系统的集成。
- 第10章介绍了一个综合实例,描述Kafka作为数据总线在安防整体解决方案中的作用。
还有就是比较关注的Spring:<Spring高级源码笔记>,主要是有以下这些内容:
源码就说到这儿了,与其相关的源码学习笔记和面试解析都已整理成册了...
不论JAVA面试这一块的<java面试宝典>、<Java进阶面试点集结>还是源码这块的笔记和解析:Spring+SpringMVC+kafka+MyBatis源码解读等等,有需求,想借鉴学习,都可。
要参考借鉴获取得话麻烦一键三连之后看下图小助理的微信:(bjmsb10)添加即可免费获取到哦,作为开发人员这些核心知识真不可错过哦 让你技术上的提升面试时的丰收