眼看着这次秋招差不多顺利结束了,几乎阿里、百度、美团、字节、滴滴等等的大厂我都有疯狂投岗面试。虽然结果是比较圆满的,不过这阿里云倒是给我留下了深刻的印象。原因?请往下看...

  • 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)添加即可免费获取到哦,作为开发人员这些核心知识真不可错过哦  让你技术上的提升面试时的丰收