栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Day527&528&529.图灵学院之面试题③ -面经

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Day527&528&529.图灵学院之面试题③ -面经

图灵学院之面试题③ 一、HashMap的扩容机制原理是什么?

新建一个老数组的两倍大小的新组,遍历老数组,且若含有链表,就再遍历(套了两层遍历)。根据hash+新数组容量计算出新数组数组下标位置,并转移到新数组。

1.8
若遍历链表时,发现为红黑树,依然重新计算新数组所对应的下标(老数组对应一个红黑色的位置,不代表新数组的位置是相同) ,经过再计算后,再次判断是否需要建立生成红黑色(代表扩容后,之前的红黑树会被拆分为链表+链表或链表+红黑树或不同位置的红黑树或仍然是相同位置的红黑树)。


二、ConcurrentHashMap的扩容机制是什么?

1.7
最外层是Segment数组,每个数组里面包着一个HashMap,扩容是Segment数组对应内容的HashMap独立扩容,类似HashMap的扩容


三、ThreadLocal的底层原理


四、如何理解volatile关键字?


五、ReetrantLock中的公平锁和非公平锁的底层原理


六、ReetrantLock中的tryLock()和lock()方法的区别是什么?


七、CountDownLatch和Semaphore的区别和底层实现原理


八、Synchronized的偏向锁、轻量级锁、重量级锁


九、线程池的底层工作原理是什么?


十、JVM中哪些是线程的共享区域?


十一、JVM中哪些可以被作为GCRoots?


十二、你们项目如何排查JVM问题?


十三、说说类加载双亲委派机制是什么?


十四、Tomcat中为什么要使用自定义类加载器?


十五、Tomcat如何进行优化?


十六、浏览器发出了一个请求到收到了响应,期间经历了什么步骤?


十七、跨域请求是什么?对应有什么问题?如何解决?

判断是否同源:协议+域名ip+端口是否一致


十八、Spring中的Bean是线程安全的吗?

判断Bean是否有无状态,Bean自己本身是否有对线程安全进行控制


十九、ApplicationContext和BeanFactory有什么区别?

前者继承后者,且拥有更多的功能,如事件发布、国际化、获取环境变量。


二十、Spring中事务是如何实现的?


二十一、Spring中什么时候@Transactional注解会失效?


二十二、Spring容器的启动流程是怎么样的?


二十三、Spring中用到了哪些设计模式?


二十四、SpringMVC的底层执行流程是什么?

个人博客文章地址


二十五、SpringBoot中常用的注解和底层的原理是什么?


二十六、SpringBoot是如何启动Tomcat的?

先创建Spring容器,利用@CondtionOnClass注解判断是否有Tomcat依赖,有就启动Tomcat对应的Bean,并创建Tomcat对象,且绑定端口,启动Tomcat。


二十七、SpringBoot中配置文件的加载顺序是怎么样的?


二十八、Mybatis的优缺点是什么?


二十九、Mybatis中#{}和${}写法的区别是什么?


三十、什么是CAP理论


三十一、什么是base理论


三十二、什么是RPC


三十三、分布式ID是什么?有哪些解决方案?


三十四、分布式锁的使用场景是什么?有哪些试下方案?


三十五、什么是分布式事务?有哪些解决方案?


三十六、什么是ZAB协议?


三十七、为什么Zk拿来做注册中心?


三十七、zk的领导者选举流程是什么?


三十八、zk中节点与节点数据之间是如何同步的?


三十九、Dubbo支持哪些负载均衡策略?


四十、Dubbo是如何完成服务导出的?


四十一、Dubbo是如何完成服务引入的?

四十二、Dubbo的架构设计是什么?


四十三、SpringCloud有哪些组件?作用是什么?


四十四、SpringCloud和Dubbo的区别是什么?


四十五、什么是服务雪崩?什么是服务限流?


四十六、什么是服务熔断?什么是服务降级?区别是什么?


四十七、SOA、分布式、微服务有什么关系和区别?


四十八、BIO、NIO、AIO是什么?


四十九、零拷贝是什么?


五十、Netty是什么?和Tomcat的区别是什么?特点是什么?


五十一、Netty的线程模型是什么样的?


五十二、Netty的高性能体现是在哪些方面?


五十三、Redis有哪些数据结构?分别对应的使用场景是什么?


五十四、Redis分布式锁底层的实现是什么?


五十五、Redis的主从复制的核心原理是什么?


五十六、缓存雪崩、缓存击穿、缓存穿透是什么?


五十七、Redis和Mysql如何保证数据一致?


五十八、Explain语句结果中各个字段分别表示什么意思?


五十九、索引覆盖是什么?

查找索引的过程中,直接在二级索引上找到结果,无需回表,并直接返回


六十、Mysql中索引的最左前缀原则是什么?


六十一、Innodb是如何实现事务的?


六十二、B树和B+树的区别是什么?为什么Mysql选择B+树?


六十三、Mysql锁有哪些?如何理解?


六十四、Mysql慢查询如何优化?


六十五、消息队列有哪些作用


六十六、死信队列是什么?延时队列是什么?


六十七、Kafka为什么吞吐量这么大

缓存消息,一次发送,减少网络IO


六十八、Kafka消费者push和pull方案的优缺点是什么?


六十九、RocketMQ的底层实现原理


七十、消息队列如何保证消息的可靠性?


七十一、TCP的三次握手和四次挥手是什么?


七十二、String、StringBuffer、StringBuilder的区别是什么?



七十三、ArrayList和linkedList的区别是什么?


七十四、CopyOnWriteArrayList的底层实现原理是什么?


七十五、说一下HashMap的put()方法


七十六、线程之间如何通讯的?


七十七、Spring的事务机制是什么?


七十八、Dubbo的负载均衡策略是什么?


七十九、jdk1.7-jdk1.8HashMap的底层发生了什么变化?


八十、jdk1.7-jdk1.8 JVM虚拟机发生了什么变化?


八十一、如何实现AOP,项目哪些地方用到了AOP


八十二、Spring中的后置处理器中有什么作用?


八十三、说说你了解的分布式锁的实现方案有哪些?


八十四、Redis集群的实现方案有哪些?


八十五、你遇到过哪些设计模式?


八十六、Java死锁如何避免?


八十七、深拷贝和浅拷贝的区别是什么?


八十八、如果你提交任务,线程池队列已经满了,这时会发生什么?


八十九、说一说linux的基本操作命令有哪些?


九十、Maven中的Package和Install的区别是什么?


九十一、SpringCloud各个组件功能和Dubbo的区别是什么?


九十二、说说类加载器的双亲委派模型是什么?


九十三、泛型中extend和super的区别是什么?


九十四、并发编程的3要素是什么?


九十五、图的深度遍历和广度遍历的区别是什么?


九十六、消息队列如何保证消息的传输可靠性?


九十七、二叉搜索树和二叉平衡搜索树的关系是什么?


九十八、强平衡二叉树和弱平衡二叉树有什么区别?


九十九、B树和B+数的区别是什么?为什么Mysql选择B+树?


一百、epoll和poll的区别是什么?


一百零一、简述线程池原理是什么?并说明FixedThreadPool用的什么阻塞队列?


一百零二、Sychronized和ReentrantLock的区别


一百零三、https是如何保证传输安全的?


一百零四、volatile是如何保证有序性、可见性的?


一百零五、Java内存结构,堆分为什么结构?默认多大年龄进入老年代


一百零六、Mysql锁有哪些?

学习笔记


一百零七、JDK、JRE、JVM的之间的关系是什么?



一百零八、==和equals的区别是什么?


一百零九、重载和重写的区别是什么?


一百一十、接口和抽象类的区别是什么?


一百一十一、List和Set的区别


一百一十二、ArrayList和linkedList的区别


一百一十三、如何实现一个IOC容器?


一百一十四、什么是字节码?采用字节码的好处是什么?


一百一十五、Java类加载器有哪些?

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/727622.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号