之前在技术分享会上跟一个阿里 P9 聊,我问他怎么看架构能力,他说,架构能力不是你到 P8、P9 才需要掌握的,其实每个阶段都有需要掌握的架构能力。
![](https://i-blog.csdnimg.cn/blog_migrate/f681e3f292dbc0ff5a61b5862e2e97c6.png)
也就是说,等你想成为架构师的那一刻才开始准备往往已经晚了,工作中进行积累至关重要,其次就是抓住一切资源为我所用。
面试就是个很好地检验自身架构能力并查漏补缺的良好机会,其实有心人肯定会发现,不同公司 / 不同轮次的面试题目有很大概率会重复,但难度系数会稍有差别。综合我自己的经历和一些读者的反馈,给各大厂的面试难度大致评个级:
阿里、字节:5 颗星
腾讯、百度、快手、拼多多:4 颗星
美团、小米:3 颗星
当然,这个不作为标准,毕竟不同业务线不同岗位差别会比较大,总体评级基本上根据覆盖面、题量、询问精细程度、深度等,而架构又是个庞杂的体系,需要我们掌握具体的技术点和系统性知识。
因此我把过去半年大厂常考的面试题整理全了,限于文章篇幅原因,只能以截图的形式展示出来,有需要的小伙伴 关注私信我即可
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈
MyBatis 面试题
-
1、什么是 Mybatis?
-
2、Mybaits 的优点:
-
3、MyBatis 框架的缺点:
-
4、MyBatis 框架适用场合:
-
5、MyBatis 与 Hibernate 有哪些不同?
-
6、#{}和 ${}的区别是什么?
-
7、当实体类中的属性名和表中的字段名不一样,怎么办?
-
......
ZooKeeper 面试题
-
1. ZooKeeper 面试题?
-
2. ZooKeeper 提供了什么?
-
3. Zookeeper 文件系统
-
4. ZAB 协议?
-
5.四种类型的数据节点 Znode
-
6. Zookeeper Watcher 机制--数据变更通知
-
7.客户端注册 Watcher 实现
-
......
![](https://i-blog.csdnimg.cn/blog_migrate/a26ef92131ee7ba63ce003141ab4d3ec.png)
Dubbo 面试题
-
1、为什么要用 Dubbo?
-
2、Dubbo 的整体架构设计有哪些分层?
-
3、默认使用的是什么通信框架,还有别的选择吗?
-
4、服务调用是阻塞的吗?
-
5、一般使用什么注册中心? 还有别的选择吗?
-
6、默认使用什么序列化框架,你知道的还有哪些?
-
7、服务提供者能实现失效提出是什么原理?
-
......
![](https://i-blog.csdnimg.cn/blog_migrate/125fedc5f464ecce7f2bbfbd59d623b1.png)
Elasticsearch 面试题
-
1、elasticsearch 了解多少,说说你们公司 es 的集群架构索引数据大小,分片有多少
-
2、elasticsearch 的倒排索引 |是什么
-
3、elasticsearch 索引数据多了怎么办,如何调优,部署
-
4、elasticsearch 是如何实现 master 选举的
-
5、详细描述一下 Elasticsearch 索弓 |文档的过程
-
6、详细描述一下 Elasticsearch 搜索的过程?
-
7、Elasticsearch 在部署时, 对 Linux 的设置有哪些优化方法
-
......
Memcached 面试题
-
1、Memcached 是什么,有什么作用?
-
2、Memcached 服务分布式集群如何实现?
-
3、Memcached 服务特点及工作原理是什么?
-
4、简述 Memcached 内存管理机制原理?
-
5、memcached 是怎么工作的?
-
6、memcached 最大的优势是什么?
-
7、memcached 和 MySQl 的 query
-
......
Redis 面试题
-
1、什么是 Redis?
-
2、Redis 的数据类型?
-
3、使用 Redis 有哪些好处?
-
4、Redis 相比 Memcached 有哪些优势?
-
5、Memcache 与 Redis 的区别都有哪些?
-
6、Redis 是单进程单线程的?
-
7、一个字符串类型的值可以存储最大容量是多少?
-
......
MySQL 面试题
-
1、MySQL 中有哪几种锁?
-
2、MySQL 中有哪些不同的表格?
-
3、简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别
-
4、MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
-
5、CHAR 和 VARCHAR 的区别?
-
6、主键和候选键有什么区别?
-
7、myisamchk 是用来做什么的?
-
......
Java 并发编程
-
1、在 java 中守护线程和本地线程区别?
-
2、线程与进程的区别?
-
3、什么是多线程中的上下文切换?
-
4、死锁与活锁的区别,死锁与饥饿的区别?
-
5、Java 中用到的线程调度算法是什么?
-
6、什么是线程组,为什么在 Java 中不推荐使用?
-
7、为什么使用 Executor 框架?
-
......
Java 面试题
-
1、面向对象的特征有哪些方面?
-
2、访问修饰符 public,private,protected,以及不写 (默认)时的区别?
-
3、String 是最基本的数据类型吗?
-
4、float f=3.4;是否正确?
-
5、shorts1 = 1;s1 = s1 + 1;有错吗?shorts1 = 1;s1 +
-
6、Java 有没有 goto?
-
7、int 和 Integer 有什么区别?
-
......
微服务面试题(spring、boot、cloud)
-
1、您对微服务有何了解?
-
2、微服务架构有哪些优势?
-
3。微服务有哪些特点?
-
4、设计微服务的最佳实践是什么?
-
5、微服务架构如何运作?
-
6、微服务架构的优缺点是什么?
-
7、单片,SOA 和微服务架构有什么区别?
-
......
![](https://i-blog.csdnimg.cn/blog_migrate/77abaf71bdd29fc48230fb3da3a896b8.png)
Linux 面试题
-
1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示?切换目录用什么命令?
-
2、怎么查看当前进程?怎么执行退出?怎么查看当前路径?
-
3、怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?
-
4、Ls 命令执行什么功能?可以芾哪些参数,有什么区别?
-
5、建立软链接(快捷方式),以及硬链接的命令。
-
6、目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?
-
7、查看文件内容有哪些命令可以使用?
-
......
![](https://i-blog.csdnimg.cn/blog_migrate/0c066e976a2ad0fe670de4d01d5f522c.png)
RabbitMQ 面试题
-
1、什么是 rabbitmq
-
2、为什么要使用 rabbitmq
-
3、使用 rabbitmq 的场景
-
4、如何确保消息正确地发送至 RabbitMQ?如何确保消息接收方消费了消息?
-
5.如何避免消息重复投递或重复消费?
-
6、消息基于什么传输?
-
7、消息如何分发?
-
......
kafka 面试题
-
1、如何获取 topic 主题的列表
-
2、生产者和消费者的命令行是什么?
-
3、consumer 是 推还是拉?
-
4、讲讲 kafka 维护消费状态跟踪的方法
-
5、讲一下主从同步**
-
6、为什么需要消息系统,mysq|不能满足 需求吗?
-
7、Zookeeper 对于 Kafka 的作用是什么?
-
......
![](https://i-blog.csdnimg.cn/blog_migrate/6cfb50f1802c277e9eec5ec46875edf6.png)