java后端面试题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从上图中我们就更容易理解了,当一个Hello.class这样的文件要被加载时。不考虑我们自定义类加载器,首先会在AppClassLoader中检查是否加载过,如果有那就无需再加载了。如果没有,那么会拿到父加载器,然后调用父加载器的loadClass方法。父类中同理也会先检查自己是否已经加载过,如果没有再往上。注意这个类似递归的过程,直到到达Bootstrap classLoader之前,都是在检查是否加载过,并不会选择自己去加载。直到BootstrapClassLoader,已经没有父加载器了,这时候开始考虑自己是否能加载了,如果自己无法加载,会下沉到子加载器去加载,一直到最底层,如果没有任何加载器能加载,就会抛出ClassNotFoundException。三个类加载器是父子关系不是继承关系

在这里插入图片描述

元空间是实现方法区的一种方式在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
两个前端,4个java,一个ui,一个ios,一个android,一个项目经理,一个测试
5-6万
接口峰值200多
甲方-》乙方-》产品经理,项目经理,架构师,ui-》开发开会,会议上讨论需求,大的模块的划分,评估时间,开始开发 小公司一周开一次会议,介绍工作进程

搜索 前缀搜索实现类似于京东淘宝通过拼音汉字的前缀搜索,因为es内部提供的分词器不能提供对中文的分词处理,所以我们使用pinyin+ik分词器组合的方式实现这个功能,首先,我们需要自定义分词器,通过ik和pinyin分词器自定义的参数来自定义的,然后开始定义mapping信息,在定义mapping的时候,将需要定义前缀搜索的属性的type设置为completion,因为前缀搜索是一个访问量和使用量上很多的一个接口,所以es对类型completion的属性做了很多的优化,它会将用户所有搜索过的词缓存到内存中间,这就是为什么我们要将类型设置为completion的原因,然后,我们通过logstash将又运营人员添加到词库导入到刚刚由mapping添加到索引中间,然后因为我们的词库词汇量相对来说不是很多,所以我们加了一个附加功能,我们会将用户所有搜索过的词,但是又没有在词库中出现过的词进行统计,当统计该词汇搜索的次数到达一定次数后,将其自动纳入到前缀搜索词库中,这时候完成词库搜索功能。我们所实现的第二个搜索是关于课程内容的搜索。可以根据老师的名字,课程名称,课程简介实现搜索。首先我们要定义mapping,将需要进行搜索的属性的分词器设置为ik分词器,然后通过logstash导入课程的全家数据,最后我们通过canal框架实现对课程增量数据从数据库同步到es中间。canal框架是阿里推出的数据同步的框架,他的基本工作原理是将其伪装成一个mysql的slave,。在做这个操作之前需要开启mysql的binlog,然后通过一些配置,canal框架就可以从mysql中解析出binlog数据,接着我们的程序连接到canal框架,canal服务器,每次mysql数据变更之后,我们的程序都能够准时读取到数据库当前最新的数据,为完成这个功能,我在实际的工作中还自定义了一个start。
在这里插入图片描述

面向c端 公司并发量高

找公司的时候要想好下个工作能不能用上当前公司的

img

img

分布式锁 11s 续命锁

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值