图灵学院之面试题③

一、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类加载器有哪些?

Day527528529.图灵学院之面试题③ -面经相关推荐

  1. 网易图灵学院python公开课_图灵学院 Python全系列教程全栈工程师 python视频教程下载...

    大家怎么说? 老师很好,我认为,若想学好python,应该多练.多想.多看.学习资料不能仅限于老师给定的这些内容,这些毕竟是入门资料 老师讲的真不错,对于我们这种小白来说 也比较容易懂,虽然有些时候自 ...

  2. 亿级流量电商网站微服务架构图(图灵学院)

    亿级流量电商网站微服务架构图(图灵学院)

  3. 并查集之面试题 17.07. 婴儿名字

    并查集之面试题 17.07. 婴儿名字 前言 一, 面试题 17.07. 婴儿名字 二,解题思路 1, a和b是朋友, b和c是朋友,那a和c也是朋友.这就是典型并查集类型 2, 字典序 3, 三, ...

  4. 聊城大学计算机学院操作系统,聊城大学计算机学院操作系统试题1.doc

    聊城大学计算机学院操作系统试题1 聊城大学计算机学院<操作系统>试题 题号一二三四五总分复核人得分 (注:请将答案填写在答题纸上,否则不给分) 一.填空题(共8题,每空1分,共15分) 得 ...

  5. 聊城大学计算机学院操作系统,聊城大学计算机学院操作系统试题1聊城大学计算机学院操作系统试题1.doc...

    聊城大学计算机学院操作系统试题1聊城大学计算机学院操作系统试题1 聊城大学计算机学院<操作系统>试题 题号一二三四五总分复核人得分 (注:请将答案填写在答题纸上,否则不给分) 一.填空题( ...

  6. 图灵学院java架构师VIP课程学习总结

    最近加入了图灵学院java架构师的学习,着重学习高并发分布式核心架构技术学习,觉得很不错,分享架构大纲和总结的设计模式给大家,想要提升的同学可以在这些方面下点功夫, 课程资料 一:概念及理解 二.单例 ...

  7. 同济大学计算机学院考研试题,同济大学:各院系历年考研复试试题汇总

    2004年交通工程考研复试试题 一. 简答题(6×8分) 1. 单向交通的设置条件? 2. 交通工程1后的习题. 3. 公共交通优先有什么措施? 4. 出行分布的类型及其特点和适用条件. 5. 给你道 ...

  8. 佛山科学技术学院计算机期末试题,高等数学 A佛山科学技术学院期终考试试题.doc...

    佛山科学技术学院 2004-2005学年第一学期期终考试试题 课程: 高 等 数 学(A) 专业.班级: 姓名: 学号: 题号一二三四五六七八九十十一十二总成绩得分填空题(每小题3分,共15分) 1. ...

  9. 聊城大学计算机学院操作系统,聊城大学计算机学院操作系统试题.docx

    聊城大学计算机学院<操作系统>试题 题号一二三四五总分复核人 得分 (注:请将答案填写在答题纸上,否则不给分) 一.填空题(共8 题,每空 1 分,共 15 分) 得分 阅卷人 1.进程调 ...

  10. Android之面试题总结加强版(一)

    转载:http://blog.csdn.net/itachi85/article/details/7426451 自己总结的最强android应用面试题集 1.activity的生命周期. 方法 描述 ...

最新文章

  1. C语言判断挂科,并输出挂科学生的全部成绩!_只愿与一人十指紧扣_新浪博客
  2. html表格td宽度设置,table以及td宽度设置细节
  3. 【转】webgame前台开发总结--虽然是10年的文章,但是也有参考价值
  4. 数据结构和算法分析:第三章 表、队列和栈
  5. boost::geometry::strategy::vincenty用法的测试程序
  6. 优化案例 | CASE WHEN进行SQL改写优化
  7. 更换ubuntu的root的默认python版本
  8. Python3中的hasattr()
  9. ios 滑动手势事件 与cell touchevent事件_深入浅出~手势操作原理分析
  10. Controller接口控制器(4)
  11. html调整图片之间的距离,html中如何调整图片之间的间距
  12. [转]一个计算机专业学生几年的编程经验汇总
  13. ReactNative之Image在Android设置圆角图片变形问题
  14. 西安电子科技大学-数字电路与逻辑设计大作业-汽车尾灯显示控制电路
  15. Python基础_Day13
  16. 只能输入数字的正则表达式
  17. 区块链技术从入门到实践
  18. 解决导出excel导出名字乱码
  19. MapGIS K9三维TDE平台插件开发第一个插件程序(新手入门必看)
  20. 002.西门子M440变频器端子控制正反转

热门文章

  1. 【译】eBPF 概述:第 4 部分:在嵌入式系统运行
  2. Kubernetes-10 K8s集群安全机制
  3. 计算机应用能力考试ppt,全国专业技术人员计算机应用能力考试 PPT 2003 题库版...
  4. librtmp推流到YouTube失败
  5. 《纽约客》:还原真实的扎克伯格
  6. 关于抢红包的_酷乐研究所 | 过年净抢红包了?我们准备了50种新玩法
  7. STM32-----TFTLCD驱动原理
  8. jquery常用方法之siblings方法
  9. ownCloud问题处理server replied 423 Locked to
  10. pdf文件加水印的方法?