
面试题
文章平均质量分 60
言之有李LAX
这个作者很懒,什么都没留下…
展开
-
java面试题汇总(真实面试总结)-目录
坚持记录和总结一些面试过程中遇到的面试题,以及总结出自己的回答技巧。不用死记硬背也能完整的回答出来。会持续更新,欢迎提出问题和疑问,大家一起总结经验。原创 2023-12-06 14:11:10 · 869 阅读 · 0 评论 -
java面试题-Sql 语句的执行顺序
Sql 语句的执行顺序原创 2024-09-13 09:53:18 · 700 阅读 · 1 评论 -
java面试题-Spring常见的异常类有哪些?
看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。原创 2024-01-05 13:42:58 · 714 阅读 · 0 评论 -
java面试题-mysql中的 锁 你知道多少?
但是既然是锁,就会导致效率低下,所以共享锁的实现就是事务A读取order表的时候,把order表进行锁表,这时候别人都无法修改表中的任何数据。当然这些是平时项目中最常遇到的锁,还有一些比如:页级锁、间隙锁、自旋锁等等,不怎么常见,甚至不能显式的用SQL表达,后面会单独开篇文章记录其他几种锁,平时的面试如果能回答上来上述的也基本可以了。乐观锁的上面也说了他只是一种思想,msyql中的锁实现都是悲观锁。悲观锁也是一种思想,与乐观锁不同的是他的事务一开始就会加了锁,而乐观锁实际上是没有锁的概念,只有版本号。原创 2024-01-05 12:00:26 · 1253 阅读 · 0 评论 -
java面试题-mysql关键字select、from、where等执行的顺序
面试官:你知道mysql中关键字的执行顺序吗,select、from、where、having、group by、order by、limit等常用的关键字,在整个执行过程中,发生作用的先后顺序是什么?原创 2024-01-05 09:32:38 · 680 阅读 · 0 评论 -
java面试题-解决高并发的思路?
高并发是指同一时间段内,大量的请求同时到达的情况。既然谈到解决思路,那一般就是项目出现了问题或者瓶颈,比如系统反应慢、接口卡死、甚至项目停止运行等情况。看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。我做的项目说实话算不上高并发,高峰期的时候基本上也就1500/s。面试官:你对高并发项目有什么解决的思路或者方法?原创 2023-12-21 14:08:36 · 608 阅读 · 0 评论 -
java面试题-Redis缓存穿透、雪崩、击穿
(但是这个要考虑一下清理操作,因为你存了空值,如果哪天业务里面真有了这个key,那么此时返回null就不合适了:两种方案:1是定时清理为空的key,2是创建数据的时候同时更新缓存)但是此时有人恶意攻击,查询的全都是缓存里面不存在的,甚至数据库也不存在。那么每次就都会查询数据。具体就是:在项目的过滤器中,获取用户的请求ip,如果相同ip在知道时间段内请求次数大于我设定的次数,比如10秒 20次。就是数据库中很多缓存都是设置了两小时失效,结果在俩小时突然到的时候,缓存都失效了,然后大量的请求直接去请求数据库。原创 2023-12-14 14:54:22 · 643 阅读 · 0 评论 -
java面试题-Spring事务以及@Transactional注解详解
1、@Transactional(propagation = Propagation.REQUIRED)-默认如果当前没有事务,就新建一个事务;如果已经存在一个事务中,加入这个事务。如果加入,那么不管两个事务逻辑哪个出错,全都回滚每次都新建一个事务,挂起当前事务。也就是对当前事务不受影响。新事务失败当前事务不回滚。原创 2023-12-14 08:00:00 · 1517 阅读 · 0 评论 -
java面试题-“==“和“equals“有什么区别?
引用类型----引用传递:如果我们定义了一个User类 User user = new User("张三","10","男");其实传递的是user在内存中的地址。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。基本类型数据:(byte、short、int、long、char、boolean、float、double)引用类型数据: 其实就是java类,需要注意的是String也是引用类型。1、==是运算符、equals是Object类中得一个方法。原创 2023-12-13 17:41:13 · 482 阅读 · 0 评论 -
java面试题-SpringMVC工作原理
有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。3、核心控制器会根据HandlerMapping寻找并分发请求到具体的Handler(controller)4、controller接收到请求,会进行逻辑处理、数据访问(数据库)2、请求都会汇总到核心控制器(dispatcherServlet)面试官: SpringMVC的工作原理或者流程你了解吗?1、客户端可以是页面也可以是postman等工具发起请求。5、最后返回ModelAndView给到前端。原创 2023-12-12 18:16:43 · 599 阅读 · 0 评论 -
java面试题-谈谈sql优化-mysql
看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。这是面试总结出来的几点,每次问道都是这么回答,分层分点。首先搞懂sql优化的目的是什么,然后针对每个目的具体做什么操作。原创 2023-12-05 15:14:46 · 845 阅读 · 2 评论 -
java面试题-mysql索引相关问题
首先,从navicat创建索引的界面中 可以看到,索引的组成就是索引名称、对应的字段、索引类型、索引方法、注释众所周知,索引会使得查询速度变快,所以引出第一个问题。原创 2023-12-12 11:58:11 · 1039 阅读 · 0 评论 -
java面试题-线程、线程池的了解及工作原理、拒绝策略
首先用户提交任务,先判断核心线程数是否已满,如果未满则创建新线程来执行任务。如果核心线程数已满,则判断是否达到最大线程数,如果已达到最大线程数,则通过拒绝策略处理,如果未达到最大线程数,则将任务放入工作队列等待调用。空闲的线程如果没有新的任务可以执行,等待时间到达后就会被回收掉。原创 2023-12-12 15:00:35 · 1135 阅读 · 0 评论 -
java面试题-Dubbo和openFeign怎么选择,优劣
这是今年遇到的一个真实的面试题,而且两家公司都遇到了,因为我们项目主要用zk+dubbo的搭配多一些,但是springcloud项目中大多使用openfeign,所以后来整理了一下。2.openfeign是基于HTTP进行数据传输,属于应用层,相对来讲数据传输受网络等其他因素影响较大一些。它还是一个相对独立的RPC框架,提供完整的服务治理解决方案,适用于大型的分布式项目中。看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。原创 2023-12-06 15:05:16 · 2206 阅读 · 0 评论 -
java面试题-Dubbo和zookeeper运行原理
分布式注册中心和服务调用的原理大多如此:原创 2023-12-06 13:54:14 · 679 阅读 · 0 评论 -
java面试题-ArrayList的自动扩容过程
如果够,则直接进行添加,如果不够,容量就会变成(list1.size()+list2.size()+1)。回归到上面就是如果list1里面有一个数据,list2里面有15个数据。比如:list1.size()=1且容量=10,list2.size()=15 操作:list1.addAll(list2)有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。3、这是属于一般的list.add()方法的扩容,但是还存在一种批量添加list.addAll()。原创 2024-01-04 17:18:32 · 719 阅读 · 0 评论 -
java面试题-ArrayList 和 LinkedList 的区别是什么
因为双向链表除了存储数据外,还需要存储两个引用,一个指向前一个元素一个指向后一个元素。ArrayList 与 LinkedList 都是 List 接口的实现类,因此都实现了 List 的所有未实现的方法,只是实现的方式有所不同。LinkedList基于双向链表,每一个元素都是依靠地址和指针连接在一起,这时候查找某个元素的时间复杂度是O(n)LinkedList则直接通过指针重新指向进行新增和删除数据。1.ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。原创 2023-12-06 11:48:50 · 802 阅读 · 0 评论 -
java面试题-Hashmap、Hashtable、ConcurrentHashMap原理
比如:第一个值进来后,根据key返回的索引是1,那么这个值就存储在下标为1的这个bucket中,紧接着又进来一个key,解析后返回的索引还是1,这时候就会判断下标为1的bucket中是否存在当前这个key,如果存在就替换,如果不存在就在链表的最后追加上这个值。但是hashcode返回的索引是有限的,所以,不同的code可能得到的索引是相同的,就代表一个bucket里面可能存了不同的key。更适用于高并发的场景。hashmap内部方法没有加锁,所以是线程不安全的,只适用于单线程的环境,但是性能较快。原创 2023-12-05 14:37:57 · 568 阅读 · 1 评论 -
java面试题-String、StringBuffer、StringBuilder区别
操作字符串的类有:String、StringBuffer、StringBuilder。String 和 StringBuffer、StringBuilder 的区别在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况下最好不要使用 String。原创 2023-12-11 17:06:15 · 590 阅读 · 0 评论 -
java面试题-描述下Object中常用的方法
wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。该方法用于哈希查找,重写了equals方法一般都要重写hashCode方法。该方法是非常重要的一个方法。该方法用于释放资源。(2)其他线程调用了该对象的notifyAll方法。(1)其他线程调用了该对象的notify方法。该方法唤醒在该对象上等待的某个线程。原创 2023-12-11 17:11:24 · 513 阅读 · 0 评论