写点什么

金三银四跳槽阿里必备:分布式 / 高并发 /Redis,不看我真的怕你后悔

用户头像
比伯
关注
发布于: 2021 年 03 月 15 日
金三银四跳槽阿里必备:分布式/高并发/Redis,不看我真的怕你后悔

纵观几年来的 Java 面试题,你会发现每家都差不多。你仔细观察就会发现,HashMap 的出现几率未免也太高了吧!连考察的知识点都一样,什么 hash 碰撞啊,并发问题啊!再比如 JVM,无外乎考内存结构,GC 算法等!因此,如果是为了面试,完全是有套路可以准备的!记住,基础再好,也架不住面试官天马行空的问,所以刷面试题还是很有必要的

下面我总结出了互联网公司 java 程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料免费分享给大家(包括 Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料以及大厂面试题),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

领取方式在文末!领取方式在文末!

Spring



  1. Spring 概述

  2. 什么是 spring?

  3. 使用 Spring 框架的好处是什么?

  4. Spring 由哪些模块组成?

  5. 解释 AOP 模块

  6. Spring 配置文件

  7. 什么是 Spring IOC 容器?

依赖注入

  1. 什么是 Spring 的依赖注入?

  2. 有哪些不同类型的 IOC(依赖注入)方式?

  3. 哪种依赖注入方式你建议使用,构造器注入,还是 Setter 方法注入?

Spring Beans

  1. 什么是 Spring beans?一个 Spring Bean 定义 包含什么?

  2. 如何给 Spring 容器提供配置元数据?

  3. 你怎样定义类的作用域?

  4. 解释 Spring 支持的几种 bean 的作用域

  5. 解释 Spring 框架中 bean 的生命周期

  6. 在 Spring 中如何注入一个 java 集合?

  7. 什么是 bean 装配?什么是 bean 的自动装配?

  8. 解释不同方式的自动装配

Spring 注解

  1. 什么是基于 Java 的 Spring 注解配置? 给一些注解的例子

  2. 什么是基于注解的容器配置?

  3. 怎样开启注解装配?

  4. @Required 注解、@Autowired 注解、@Qualifier 注解

Spring 数据访问

  1. 在 Spring 框架中如何更有效地使用 JDBC?

  2. JdbcTemplate

  3. 使用 Spring 通过什么方式访问 Hibernate?

  4. 如何通过 HibernateDaoSupport 将 Spring 和 Hibernate 结合起来?

  5. Spring 框架的事务管理有哪些优点?

  6. 你更倾向用那种事务管理类型?

Spring 面向切面编程(AOP)

  1. 解释 AOP

  2. Aspect 切面

  3. 在 Spring AOP 中,关注点和横切关注的区别是什么?

  4. 什么是引入?什么是目标对象?什么是代理?

  5. 有几种不同类型的自动代理?

  6. 什么是织入。什么是织入应用的不同点?

  7. 解释基于 XML Schema 方式的切面实现

  8. 解释基于注解的切面实现

Spring 的 MVC

  1. 什么是 Spring 的 MVC 框架?

  2. DispatcherServlet

  3. WebApplicationContext

  4. 什么是 Spring MVC 框架的控制器?

  5. @Controller 注解、@RequestMapping 注解



部分内容展示

Redis



  1. 什么是 Redis?

  2. Redis 相比 memcached 有哪些优势?

  3. Redis 支持哪几种数据类型?

  4. Redis 主要消耗什么物理资源?

  5. Redis 的全称是什么?

  6. Redis 有哪几种数据淘汰策略?

  7. Redis 集群方案应该怎么做?都有哪些方案?

  8. Redis 有哪些适合的场景?

  9. Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?

  10. Redis 回收进程如何工作的?

  11. 你知道有哪些 Redis 分区实现方案?

  12. Redis 分区有什么缺点?

  13. Redis 持久化数据和缓存怎么做扩容?

  14. 分布式 Redis 是前期做还是后期规模上来了再做好?为什么?

  15. Redis 与其他 key-value 存储有什么不同?

  16. Redis 的内存占用情况怎么样?

  17. Redis 常见性能问题和解决方案?

  18. Redis 提供了哪几种持久化方式?

  19. 如何选择合适的持久化方式?

  20. 修改配置不重启 Redis 会实时生效吗?



部分内容展示

MyBatis



  1. #{}和 ${}的区别是什么?

  2. 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗?

  3. Mybatis 是如何进行分页的?分页插件的原理是什么?

  4. Mybatis 是如何将 sql 执行结果封装为目标对象并返回的?都有哪些映射形式?

  5. Xml 映射文件中,除了常见的 select|insert|update|delete 标签之外,还有哪些标签?

  6. 简述 Mybatis 的插件运行原理,以及如何编写一个插件

  7. 一级、二级缓存

  8. Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?

  9. Mybatis 映射文件中,如果 A 标签通过 include 引用了 B 标签的内容,请问,B 标签能否定义在 A 标签的后面,还是说必须定义在 A 标签的前面?

  10. 简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系?



部分内容展示

MySQL



  1. 一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 ?

  2. Mysql 的技术特点是什么?

  3. Heap 表是什么?

  4. Mysql 服务器默认端口是什么?

  5. 如何区分 FLOAT 和 DOUBLE?

  6. 区分 CHAR_LENGTH 和 LENGTH?

  7. 请简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

  8. 在 Mysql 中 ENUM 的用法是什么?

  9. 如何定义 REGEXP?

  10. CHAR 和 VARCHAR 的区别?

  11. Mysql 查询是否区分大小写?

  12. Mysql 中有哪些不同的表格?

  13. 什么样的对象可以使用 CREATE 语句创建?

  14. 什么是通用 SQL 函数?

  15. MYSQL 支持事务吗?

  16. mysql 里记录货币用什么字段类型好

  17. Mysql 中有哪几种锁?

  18. MYSQL 数据库服务器性能分析的方法命令有哪些?



部分内容展示

HashMap

Hash 的计算规则?

HashMap 是怎么形成环形链表的(即为什么不是线程安全)?

为什么 HashMap 的容量一定是 2 的幂

LinkedHashMap 和 HashMap 的区别

HashMap 和 HashTable 的区别?

Zookeeper

  1. ZooKeeper 提供了什么?

  2. ZAB 协议?

  3. 四种类型的数据节点 Znod

  4. ACL 权限控制机制

  5. zookeeper 是如何保证事务的顺序一致性的?

  6. zookeeper 负载均衡和 nginx 负载均衡区别

  7. 集群最少要几台机器,集群规则是怎样的?

  8. 集群支持动态添加机器吗?

  9. Zookeeper 的 java 客户端都有哪些?

  10. chubby 是什么,和 zookeeper 比你怎么看?

  11. 说几个 zookeeper 常用的命令。

  12. ZAB 和 Paxos 算法的联系与区别?

  13. Zookeeper 的典型应用场景



部分内容展示

Dubbo

  1. 为什么要用 Dubbo?

  2. Dubbo 的整体架构设计有哪些分层?

  3. 默认使用什么序列化框架,你知道的还有哪些?

  4. 服务提供者能实现失效踢出是什么原理?

  5. 如何解决服务调用链过长的问题?

  6. 同一个服务多个注册的情况下可以直连某一个服务吗?

  7. Dubbo 服务降级,失败重试怎么做?

  8. Dubbo 使用过程中都遇到了些什么问题?

  9. Dubbo 配置文件是如何加载到 Spring 中的?

  10. Dubbo 支持分布式事务吗?

  11. Dubbo 必须依赖的包有哪些?

  12. Dubbo 如何优雅停机?

  13. Dubbo 和 Spring Cloud 的区别?



部分内容展示

多线程

  1. 多线程有什么用?

  2. 创建线程的方式

  3. start()方法和 run()方法的区别

  4. Runnable 接口和 Callable 接口的区别

  5. CyclicBarrier 和 CountDownLatch 的区别

  6. volatile 关键字的作用

  7. 什么是线程安全

  8. Java 中如何获取到线程 dump 文件

  9. 怎么检测一个线程是否持有对象监视器

  10. ConcurrentHashMap 的并发度是什么

  11. Linux 环境下如何查找哪个线程使用 CPU 最长

  12. Java 编程写一个会导致死锁的程序

  13. 什么是 Java 内存模型

  14. 什么是乐观锁和悲观锁

  15. 高并发、任务执行时间短的业务怎样使用线程池?并发不高、任务执行时间长的业务怎样使用线程池?并发高、业务执行时间长的业务怎样使用线程池?


Linux 面试题

  1. 绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?

  2. 怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?

  3. 查看文件内容有哪些命令可以使用?

  4. 终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?

  5. Linux 下命令有哪几种可使用的通配符?分别代表什么含义?

  6. Grep 命令有什么用? 如何忽略大小写? 如何查找不含该串的行?

  7. 利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?

  8. 把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?

  9. 查看当前谁在使用该主机用什么命令? 查找自己所在的终端信息用什么命令?

  10. 查找命令的可执行文件是去哪查找的? 怎么对其进行设置及添加?

  11. 怎么对命令进行取别名?

  12. 如果你的助手想要打印出当前的目录栈,你会建议他怎么做?



部分内容展示

没答案?怎么可能,光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性。

最后

获取方式:添加小助理 vx:mxzFAFAFA 即可获取!!



发布于: 2021 年 03 月 15 日阅读数: 23
用户头像

比伯

关注

还未添加个人签名 2020.11.09 加入

还未添加个人简介

评论

发布
暂无评论
金三银四跳槽阿里必备:分布式/高并发/Redis,不看我真的怕你后悔