自己总结的面试题

解释不清楚就不解释,直接说怎么用就ok 不要在意问题的本身答案 靠的是你们如何使用 原理的理解

锁表什么时候出现
同步锁锁的是什么 ***
彻底理解Runnable和Thread的区别 没有本质区别就一个接口一个类
java基础
索引为什么会快

加密算法 sha1 hash强散列 (优先级低)
1、集合 hashmap原理(https://blog.csdn.net/chenwendangding/article/details/99065623)
2、io流 io nio区别 面向流 缓冲 阻塞非 用selector来单线程监视多通道(https://ifeve.com/java-nio-vs-io/)
3、通信协议tcp/ip http https ssl http://www.cnblogs.com/wangguoning/p/6902455.html (优先级低)
4、多线程(https://www.cnblogs.com/nwnu-daizh/p/8036156.html(http://www.importnew.com/26821.html)),tcp/udp udp不连接 tcp三次连接 线程内存模型 wait 释放锁 volite 每次对变量的操作都load和save一次 线程执行原理过程
5、servlet(https://www.cnblogs.com/whgk/p/6399262.html),tomcat服务器/weblogic/websphere服务器 (https://www.cnblogs.com/mo-wang/p/3705147.html)(https://www.cnblogs.com/irockcode/p/6796531.html) https://www.cnblogs.com/whgk/p/6399262.html(servlet详解)
6、自动化部署,docker
7、restful(设计风格 json)、dubbo
9、linux常用命令
10、利用工具排查cpu,内存,和网络io问题(jvisualvm)
11、jvm内存模型(https://www.cnblogs.com/fubaizhaizhuren/p/4976839.html)直接内存()强弱引用(https://www.cnblogs.com/fengbs/p/7019687.html) 垃圾回收(http://www.importnew.com/26821.html)
新生代老年代 永久代,新生代老年代,永久代
13、分布式事务 事务补偿(https://www.cnblogs.com/jiangyu666/p/8522547.html) CAP(看视频)
12、冒泡排序算法 (临近看)
14、netty的线程模型 (看视频)
15、jta处理多数据源事务
16、分布式事务—消息一致性–gts 消息协调器(jta https://www.jianshu.com/p/3d834d0fc41c)
17、高级java(https://zhidao.baidu.com/question/653038408132081965.html)
18、替包
19、内部方法加注解不管用(https://blog.csdn.net/qq602757739/article/details/81327990)
19、Java推回输入流
框架
springboot启动原理(http://www.cnblogs.com/trgl/p/7353782.html) cloud 负载 注册中心集群 ssm

20、史上最全后端架构师技术图谱,值得收藏 - u011896537的博客 - CSDN博客(https://blog.csdn.net/u011896537/article/details/79837845)

     注解原理

21、list遍历不能删除(https://blog.csdn.net/u012871914/article/details/80351068) 今日头条收藏

22、mogodb分片(https://blog.51cto.com/13659182/2149307) 双向链表

      vertx  基于netty的异步框架

23、数据库二三级缓存

24、cglib c3p0
25 事务隔离级别,事务传播特性(https://blog.csdn.net/jim_007/article/details/82352059),一二级缓存
26 jar包,war包区别

27 可靠健壮性
28、单例模式并发(https://www.jianshu.com/p/b091a5fe21a8)

29、先说一下对好的项目的理解
30、tomcat servlet spring关系
31、fatureTask 和栅栏的区别就是 featureTask是不需要等线程都执行完就可以执行后续代码,栅栏就是所有线程都执行完才执行后续,栅栏抛错需要借助与共享资源
33、共享session
34、事务得原理 看到此处
35 tidb newsql 分布式关系型数据库
36、error和exception区别
37、mysql索引失效的原因
38、请介绍一下设计模式在 Spring 框架中的使用
39、依赖注入方式
40、spring源码要精确到哪些类 容器集合
41、依赖注入详解(https://blog.csdn.net/lisongjia123/article/details/52134396)
42、jdk动态代理和cglib区别 一个是通过拦截器,一个是修改字节码
43、bean作用域
44、redis分片
45、bean的生命周期 分为传统java应用中 和spring中的bean(https://www.cnblogs.com/javazhiyin/p/10905294.html)
46、上下文更新开始停止关闭
47、springboot的核心注解
48、自定义ClassLoader类加载器就可以了。你需要先知道JDK提供的默认类加载器树结构的特点,再自定义类加载器。可以实现类的热替换。 替换项目中的String
49、服务熔断的作用(https://blog.csdn.net/qq_37312838/article/details/82966209#commentBox)
50、nginx作用
51、(【小家Spring】玩转Spring Cache — @Cacheable/@CachePut/@CacheEvict缓存注解相关基础类打点)
52、经常用的算法
53、threadlocal 是线程内部的数据存储类保证线程安全
54、内存泄漏和溢出的区别
55、rpc原理,和http区别
56、zookpeer分布式锁原理(https://blog.csdn.net/crazymakercircle/article/details/85956246),消息队列数据重复问题 CAP理论
57、分布式事务补偿机制
58、发布订阅模式实现本项目中的东西 redis 发布订阅(https://www.cnblogs.com/chenhaoyu/p/11225116.html)
59、线上查看gc,,gc原理(https://blog.csdn.net/qq_37480021/article/details/80747533)收集器(https://blog.csdn.net/hxpjava1/article/details/79408264)(https://blog.csdn.net/Game_Zmh/article/details/101120130)
60、怎么查看数据库读得cpu,kill数据库得执行命令
61、等量分派就是负载均衡
62、多数据源事务问题 数据库事务原理
设计原则(https://blog.csdn.net/weixin_37540865/article/details/80498427)
63、工厂bean和bean工厂
64、线程的销毁(https://www.jianshu.com/p/988bfceadb62)
65、factorybean是用于创建某一种类型的对象的。beanfactory是spring的容器底层实现,可以创建所有类型的对象
66、bean源码(https://www.cnblogs.com/wyq178/p/11415877.html)

spring源码看视频 BeanDefination ConcurrentHashMap DefaultListableBeanFactory
67、看项目要看中心原理,,业务逻辑可以忽略 比如 监控sdk 中心就是redis通信,,还有一个滑动窗口
68、springboot自动配置原理
69、对称加密,,公私钥,加密解密,签名验签
70、jmeter工具
71、jdk里得visurlvm 数据库查询正在执行得语句 cpu查询
72、rocketmq原理(https://blog.csdn.net/qq_27641935/article/details/86539980)(看视频)
sql:mysql mongdb redis 数据存储在哪里 ,mysql搜索引擎
mysql性能优化(https://www.cnblogs.com/wangfengming/articles/8275448.html)
mysql原理 (https://blog.csdn.net/ylforever/article/details/51205332)
mysql索引原理(https://blog.csdn.net/zzm568599448/article/details/51184756)
hash索引和b+tree索引区别(https://www.cnblogs.com/baizhanshi/p/9869654.html)
二叉 b- b+ b树(https://blog.csdn.net/u013411246/article/details/81088914)红黑树(https://blog.csdn.net/qfc8930858/article/details/89856274)

加密方式
事务隔离级别(https://www.cnblogs.com/ubuntu1/p/8999403.html)(https://blog.csdn.net/nanxiaotao/article/details/80412196)

尽量减少if else 异常逻辑:1、合并条件 2、异常条件先退出3、用if if 替换if else嵌套

分布式事务(https://blog.csdn.net/m0_38031406/article/details/76474800)

设计模式:发布订阅,监听器模式,单例模式(饿汉,懒汉)设计模式(https://www.ygdy8.com/index.html),适配器模式:jpa仓库返回值适配

mq中的发布订阅是基于监听器的 注册中心一般都是发布订阅

中间件:1、高并发,rabbitmq/memcached/weblogic/mongodb/redis 任意源代码 优选kafka(https://blog.csdn.net/qq_31405633/article/details/95075021) rockmq(https://blog.csdn.net/javahongxi/article/details/84931747)
2、rpc框架
3、数据库中间件,数据同步

算法:spxos 拜占庭算法

不足:hadoop docker doubble 可以基于kafka进行二次开发

重点 spring 事务(重要)(http://developer.51cto.com/art/201709/551975.htm)
hash和二叉树区别(重要) hash查询快(无序,原因是hash算法了,所以不适合排序数据库索引,不支持范围查询) 因为只用一个算法就定位到了,, b树需要从根节点查 (有序)

其余的配置中心 实现灰度发布(动态发布)(https://cloud.tencent.com/developer/article/1429157)
线程安全得单例
策略模式
mongodb 分片
currenthashmap 和 hashtable区别都是线程安全的
替包 线上热部署不停机更新 替换String类

spi

https://www.cnblogs.com/lyhc/p/10129250.html(手写spring)

https://blog.csdn.net/u011315960/article/details/64918467(注解深度理解)

Redis的五大数据结构?
redis 的zset结构(https://segmentfault.com/a/1190000017555762)
遇到比较难得问题:消息和跟进并发了
公司内部:缓存,,,lock 消息封装
争夺的激烈锁的级别越高
cap c强一致性 a可用性,一定时间内返回结果,p分区容错性,允许网络通信故障
编码习惯:
1)注释(是否每三行有个注释/每个类上是否有注释)

  1. 日志 (日志级别是否得当,调用外部api返回值时是否有日志,实现类方法参数是否都有日志)

  2. 关键字非空

  3. 非法字符校验

  4. 功能逻辑是否正确

  5. 是否引起并发(包括接口和接口并发与接口和消息并发与消息与消息并发引发的并发问题)(方案:加锁)

  6. 是否需要数据清洗

  7. 如果是合并的项目,依赖的项目打包时确保启动类已删除,不然会启动多个启动类,导致不能正常启动

9)修改代码是否需要清除已有缓存

  1. 确保自测到每个细节

快速找错:框架的错: 第一步看最近的错(此错不一定是很明显)下面的错可能是由于他引起的
第二步找case by catch部分 try部分不多的 不循环运行的,
宏观得解决问题
jar包里的和原本项目行数不一致,jar包里面的注释什么的都没有了
先想方案 再想能不能实现

面试题:(https://www.toutiao.com/i6751003198137303556/)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抵制平庸 拥抱变化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值