面试问题记录

面试点

redis
分布式锁,一致性hash
https://www.cnblogs.com/javazhiyin/p/13839357.html

设计模式
算法
String @

mysql

缓存对比

jvm

 IO
 
 springboot
 https://www.jianshu.com/p/5901da52ca09
 
 
 springCloud
 https://blog.csdn.net/oldshaui/article/details/906751
 https://blog.csdn.net/panhaigang123/article/details/79587612?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=415be9bb-b6c2-463a-9544-fd13828d1970&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
 
 E fe conf zull his ribbon
 
 mysql
 

jvmn内存模型,类加载,性能调优

动态代理 与静代理 机制

https://blog.csdn.net/weixin_42719412/article/details/85282535

配置中心

ams

反射
https://blog.csdn.net/qq_39565307/article/details/102967762

主线程

子线程 主线程怎么保证子线程执行完在走
https://blog.csdn.net/m0_37125796/article/details/81105099

aop 依赖注入
https://blog.csdn.net/weixin_42719412/article/details/85282535

https://blog.csdn.net/qq_17555933/article/details/9244195

依赖注入与控制反转
https://www.sohu.com/a/230849961_100109711
https://blog.csdn.net/qq_17555933/article/details/92441957

循环依赖问题
https://www.cnblogs.com/wjxzs/p/14239052.html

Kafka
https://www.cnblogs.com/sujing/p/10960832.html

https://blog.csdn.net/suifeng3051/article/details/48053965

顺序消费
https://blog.csdn.net/qq_31329893/article/details/90451889
https://blog.csdn.net/u011439839/article/details/90349596?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=5d2fbcaf-8ebf-47c8-81e8-c70af2b7bd7d&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

rocketmq

https://www.cnblogs.com/qdhxhz/p/11094624.html

hashMap
https://www.toutiao.com/i6930953980453470724/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1614067064&app=news_article&utm_source=weixin&utm_medium=toutiao_android&use_new_style=1&req_id=2021022315574401013509807542001E70&share_token=2747d4d2-bdf0-4dd0-8154-cba9846aaf42&group_id=6930953980453470724

垃圾回收
https://www.toutiao.com/i6828436496907764235/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1614124468&app=news_article&utm_source=weixin&utm_medium=toutiao_android&use_new_style=1&req_id=20210224075427010130037136191354DF&share_token=f2be1ea5-bde7-414a-babf-fd42c36ed4d2&group_id=6828436496907764235

缓存穿透
https://weixin110.qq.com/cgi-bin/mmspamsupport-bin/newredirectconfirmcgi?main_type=1&evil_type=110&source=2&bancode=83f6a5515ac2c5310595fce64d4c7fda1c48747457c047ee60b9293c1b00beab7b026eb7128ad71b5ddcc95ca3c84549561f0c554c45a8a7d183f8ce9c923584821fb758f069d5107fb4a45a3e7ce02df730abbb1b0d79f0b8cd31349eac8bb2e4809500e9c7fbd299a76d51aa346776&scene=1&devicetype=Windows+10+x64&click=58fe4aaa7eaf88163cafa033a322fbd5

内存模型
https://www.toutiao.com/i6629813495053419016/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1614127038&app=news_article&utm_source=weixin&utm_medium=toutiao_android&use_new_style=1&req_id=202102240837180101351631005114621C&share_token=10355b47-1c09-407c-9399-e2962b2f8043&group_id=6629813495053419016

基本面试
https://www.cnblogs.com/51ma/p/12462688.html

死锁
https://blog.csdn.net/jonnyhsu_0913/article/details/79633656


spring
ioc底层原理:工厂,反射。Bean管理
bean生命周期
循环依赖问题
Bean Factory 与Factory Bean
spring中用到设计模式
AOP底层原理:动态代理 有接口(JDK动态代理)
事务传播

@Nullable
函数式编程
创建对象,给spring管理
webFlux,响应式编程 基于sevlet3.1以后才支持,核心基于Reactor的api实现
传统web springmvc 基于sevlet容器

异步非阻塞
同步 异步,调用者发送请求,是否等对方回应,再去做其他时间。
阻塞 非阻塞
被调用者,收到,立马回应,再去做,非阻塞
相比springmvc
1.非阻塞,有限资源,提高吞吐量,基于Reactive
2.函数式编程 java8,实现路由请求
mvc命令式编程


 数据库四大特性和四种隔离
https://www.cnblogs.com/liangyc/p/11631718.html
spring事物传播行为
https://www.nowcoder.com/test/question/done?tid=50427719&qid=14942#summary
Servlet的生命周期

Servlet的生命周期
1.加载:容器通过类加载器使用Servlet类对应的文件来加载Servlet
2.创建:通过调用Servlet的构造函数来创建一个Servlet实例
3.初始化:通过调用Servlet的init()方法来完成初始化工作,这个方法是在Servlet已经被创建,但在向客户端提供服务之前调用。
4.处理客户请求:Servlet创建后就可以处理请求,当有新的客户端请求时,Web容器都会创建一个新的线程来处理该请求。接着调用Servlet的
Service()方法来响应客户端请求(Service方***根据请求的method属性来调用doGet()和doPost())
5.卸载:容器在卸载Servlet之前需要调用destroy()方法,让Servlet释放其占用的资源。
发表于 2016-01-13 21:49:25
回复(0)

sleep()和wait()
https://www.nowcoder.com/test/question/done?tid=50427719&qid=15267#summary

Java里String str = new String(“Hello“);会创建几个对象?
https://blog.csdn.net/C18298182575/article/details/121667672
虚拟机内存主要分为三块:

    堆:存放对象实例和数组。
    栈:存放基本类型,以及对象的引用。
    方法区:“类”被加载后的信息,常量、静态变量存放在这儿。


二叉树 极端情况变成链表
平衡二叉树 左右高度不超过1,弊端 同二叉树一个节点只存了一个键值,导致节点很多,很高,很多磁盘IO
B树 一个节点 相当于一页page 一个节点存储多个数据(key),一个节点包含多个子节点
B+树  非叶子节点不存数据,只存键,叶子节点存键值(包含数据),所以每个节点(一页默认16kb,可以存储更多键值)可以存储更多的键,页之间通过双向链表关联,每一页通过单向链表关联


while 和 do...while 的区别:
while:   先判断 再执行   条件不成立   循环体 一遍都不执行   
do...while: 先执行 再判断  条件不成立  循环体 至少执行一遍

@Autowired单例,默认饿汉式
Spring为什么不推荐使用@Autowired注解详析
https://blog.csdn.net/buduoduoorg/article/details/121124962
servlet 生命周期
https://baijiahao.baidu.com/s?id=1684616619505078970

String类方法
trim eq sub replace index getByte split startwith endwith length hashcode cocat cotain chartAt toLowerCase upper isEmpty

NIO AIO
BIO 一个客户端连接,一个服务端线程;每个客户端连接请求,服务端都需求创建一个线程处理,连接无请求,服务端造成不必要开销
NIO 一个请求,一个线程,一个线程处理多个客户端连接,多路复用器,连接有请求才开启线程去处理
AIO 同NIO 服务器异步处理

源码 jre编译器 字节码(虚拟机识别) 虚拟机加载 解释器(jvm) 机器码(二进制) 不同平台运行     

多态
Java中的多态靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。

session共享
https://blog.csdn.net/grabungen/article/details/91950667
tcp udp 建立连接,可靠,三次握手四次挥手,传输字节流; upd 没有,实时性高,丢包 直播,视频,传输报文,只发,不管是否收到
https://www.cnblogs.com/fundebug/p/differences-of-tcp-and-udp.html

算法 
统计字符串中出现频率最高的字符

设计模式原则
单一,开闭 隔离 季米特法则,里氏替换 子类替代

controller单例
https://www.cnblogs.com/mjtabu/p/14413233.html

String a = new String(abc);
https://www.cnblogs.com/taochen-go/p/9475947.html 这里s2不对,应该是栈中地址
https://blog.csdn.net/csdn_yaohailong/article/details/98969542

Lock synchronized
https://blog.csdn.net/zhang1314fudao/article/details/89424758
s 是内置的,java关键字,lock是一个类
都是可重入锁,Reetrantlock
释放锁 异常,程序执行完自动释放,阻塞无法释放sleep,lock手动释放(finally,异常不会释放锁)
lock 可知道是否获取锁,有等待时间,更多方法,读写锁(s获取锁,其他线程只能等待,lock多线程读写),中断锁(其他持有锁,不等待)
持有成员变量锁,不能持有方法级别锁
sy非公平锁,按请求锁的顺序,持有锁,lock 可设置公平锁,默认非公平锁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值