公司来了一位前阿里大神,分享 8 面阿里面经(Java 岗面试题集锦
3、notify0 和 notifyAll0 有什么区别?
4、sleep0 和 wait0 有什么区别?
5、volatile 是什么?可以保证有序性吗?
6、Thread 类中的 start0 和 run0 方法有什么区别?
7、为什么 wait, notify 和 htftifyAll 这些方法不在 thread 类里面?
8、为什么 wait 和 notify 方法要在同步块中调用?
9、Java 中 interrupted 和 isInterruptedd 方法的区别?
10、Java 中 synchronized 和 ReentrantLock 有什么不同?
11、有三个线程 T1,T2,T3,如何保证顺序执行? '
12、SynchronizedMap 和 ConcurrentHashMap 有什么区别?
13、什么是线程安全
14、Thread 类中的 yield 方法有什么作用?
15、Java 线程池中 submit0 和 execute(方法有什么区别?
16、说一说自己对于 synchronized 关键字的了解
17、说说自己是怎么使用 synchronized 关键字,在项目中用到了吗 synchronized 关键字最主要的三种使用方式:
18、什么是线程安全? Vector 是一 个线程安全类吗?
19、volatile 关键字的作用?
20、常用的线程池有哪些?
21、简述一下你对线程池的理解
22、Java 程序是如何执行的
(多线程高并发这方面我主要也是结合了视频在学习,只有理论的知识还是有点难的)
Spring 篇(这个是我在面试中问的比较多的)
=======================
1、Spring 的 IOC 和 AOP 机制?
2、Spring 中 Autowired 和 Resource 关键字的区别?
3、依赖注入的方式有几种,各是什么?
4、讲一下什么是 Spring
5、Spring MVC 流程
6、SpringMVC 怎么样设定重定向和转发的?
7、SpringMVC 常用的注解有 哪些?
8、Spring 的 AOP 理解:
9、Spring 的 IOC 理解
10、解释一下 spring bean 的生命周期
11、解释 Spring 支持的几种 bean 的作用域。
12、Spring 基 于 xml 注入 bean 的几种方式:
13、Spring 框架中都用到了 哪些设计模式?
(Spring 还是很重要的,我面试的时候好几个都是险过)
Mybatis 篇
========
1、什么是 MyBatis
2、MyBatis 的优点和缺点
3、#}和 $}的区别是什么?
4、当实体类中的属性名和表中的字段名不一样,怎么办?
5、Mybatis 是如何进行分页的?分页插件的原理是什么?
6、Mybatis 是如何将 sq|执行结果封装为目标对象并返回的?都有哪些映射形式?
7、如何执行批量插入?
8、Xml 映射文件中,除了常见的 selectinsertlupdae|delete 标签之外还有哪些标签?
9、MyBatis 实现-对一有几种方式?具体怎么操作的?
10、Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?
11、 Mybatis 的一 级、二级缓存:
(以上都是 SSM 框架必须都知道的,相信不需要我多说了吧)
SpringBoot 篇
===========
1、什么是 SpringBoot? 为什么要用 SpringBoot
2、Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
3、运行 Spring Boot 有哪几种方式?
4、如何理解 Spring Boot 中的 Starters?
5、如何在 Spring Boot 启动的时候运行-些特定的代码?
6、Spring Boot 需要独立的容器运行吗?
7、Spring Boot 中的监视器是什么?
8、如何使用 Spring Boot 实现异常处理?
9、你如何理解 Spring Boot 中的 Starters?
10、springboot 常用的 starter 有哪些
11、SpringBoot 实现热部署有哪几种方式?
12、如何理解 Spring Boot 配置加载顺序?
13、Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
14、如何集成 Spring Boot 和 ActiveMQ?
15、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
16、Spring Boot. Spring MVC 和 Spring 有什么区别?
17、能否举个例子来解释更多 Staters 的内容?
18、Spring Boot 还提供了其它的哪些 Starter Project Options?
MySQL 篇(当时好像没有问到,脑子有点懵)
======================
1、数据库的三范式是什么
2、数据库引擎有哪些
3、InnoDB 与 MyISAM 的区别
4、数据库的事务
5、索引问题
6、SQL 优化
7、简单说一说 drop. delete 与 truncate 的区别
8、什么是视图
9、 什么是内联接、左外联接、右外联接?
10、并发事务带来哪些问题?
11、事务隔离级别有哪些?MySQL 的默认隔离级别是?
12、大表如何优化?
13、分库分表之后,id 主键如何处理?
14、mysq|有关权限的表都有哪几个
15、mysq|有哪些数据类型
16、创建索引的三种方式,删除索引
(这个当时刷题的时候没有很注重,是大数据方面的知识)
Redis 篇
======
1、Redis 持久化机制
2、缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
3、热点数据和冷数据是什么
4、Memcache 与 Redis 的区别都有哪些?
5、单线程的 redis 为什么这么快
6、redis 的数据类型,以及每种数据类型的使用场景
7、redis 的过期策略以及内存淘汰机制
8、Redis 为什么是单线程的
9、Redis 常见性能问题和解决方案?
10、为什么 Redis 的操作是原子性的,怎么保证原子性的?
11、Redis 事务
(mybatis 不是很难,但是也不能忽视)
SpringCloud 篇
============
1、什么是 SpringCloud
2、什么是微服务
3、SpringCloud 有什么优势
4、什么是服务熔断? 什么是服务降级?
5、Eureka 和 zookeeper 都可以提供服务注册与发现的功能, 请说说两个的区别?
6、SpringBoot 和 SpringCloud 的区别?
7、负裁平衡的意义什么?
8、什么是 Hystrix?它如何实现容错?
9、什么是 Hystrix 断路器?我们需要它吗?
10、说说 RPC 的实现原理
(SpringCloud 也是微服务炙手可热的一部分,还是很有用的~)
Nginx 篇
======
1、简述一下什么是 Nginx,它有什么优势和功能?
2、Nginx 是如何处理一个 HTTP 请求的呢?
3、列举一些 Nginx 的特性
4、请列举 Nginx 和 Apache 之间的不同点
5、在 Nginx 中,如何使用未定义的服务器名称来阻止处理请求?
6、请解释 Nginx 服务器上的 Master 和 Worker 进程分别是什么?
7、请解释代理中的正向代理和反向代理
8、解释 Nginx 用途
(Nginx 结合自己的实战项目还是很有说服力的)
MQ 篇
===
1、为什么使用 MQ
2、MQ 优缺点
3、Kafka、 ActiveMQ. RabbitMQ、 RocketMQ 都有什么区别?
4、如何保证高可用的?
5、如何保证消息的可靠传输?如果消息丢了怎么办
6、如何保证消息的顺序性
7、如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?
8、设计 MQ 的思路
![公司来了一位前阿里大神,分享 8 面阿里面经(Java 岗面试题集锦)](https://imgconvert.csdnimg.cn/aHR0cDovL3AxLXR0LmJ5dGVpbWcuY2
9tL2xhcmdlL3BnYy1pbWFnZS9jYmYzNzdkYTFkZWE0NWMzYmI5ZjNjMGFkZTcxNzRmMA?x-oss-process=image/format,png)
(用于服务器还是可以的,有解耦、异步、削峰的优点,哈哈专业了一点)
数据结构与算法篇
========
1、常用的数据结构
2、数据里有{1,2,3,4,5,6,7,8,9}. 请随机打乱顺序,生成一个新的数组(请以代码实现)
3、写出代码判断一 个整数是不是 2 的阶次方 (请代码实现,谢绝调用 API 方法)
4、假设今日是 2015 年 3 月 1 日, 星期日,请算出 13 个月零 6 天后是星期几,距离现在多少天(请用代码实现,谢绝调用 API 方法)
5、 有两个篮子,分别为 A 和 B.篮子 A 里装有鸡蛋,篮子 B 里装有苹果,请用面向对象的思想实现两个篮子里的物品交换(请用代码实现)
6、更多算法练习
(数据结构与算法我主要是结合了一些左程云老师的视频,真的很详细哒)
Linux 篇
======
1、 绝对路径用什么符号表示?当前目录、. 上层目录用什么表示?主目录用什么表示?切换目录用什么命令?
2、怎么查看当前进程? 怎么执行退出?怎么查看当前路径?
评论