![](https://img-blog.csdnimg.cn/f49e12aef1a541349f611bd8cc37e639.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
面试题
文章平均质量分 85
常见面试题
LB_bei
这个作者很懒,什么都没留下…
展开
-
面试题 ⑥
将redis的写操作记录到一个文件中,重启redis的时候先去读文件中的命令从而恢复缓存数据(通过修改redis.conf文件中appendonly为yes,并设置appendfilename持久化文件的名称);意思是每个微服务从开发、测试、运维等都是独立的,包括存储的数据库也都是独立的,自己就有一套完整的流程,我们完全可以把它当成一个项目来对待。首先是通信的语言非常的轻量,第二,该通信方式需要是跨语言、跨平台的,之所以要跨平台、跨语言就是为了让每个微服务都有足够的独立性,可以不受技术的钳制。原创 2023-09-09 16:55:41 · 231 阅读 · 0 评论 -
面试题 ⑤
指一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端,这样目标服务器不知道真正的客户端是谁突破访问限制、提高访问速度(通常代理服务器都会设置较大的硬盘缓冲区,会将部分请求的响应保存到缓冲区)、隐藏客户端真实IP(免受攻击)指代理服务器来接收客户端的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给请求连接的客户端,这样客户端不知道真正的目标服务器是谁。原创 2023-09-03 10:14:49 · 472 阅读 · 0 评论 -
面试题 ④
ThreadLocal本身并不存储数据,它使用了ThreadLocals属性(在ThreadLocal中定义的ThreadLocalMap对象),当调用ThreadLocal的set(T value)方法时,将自身的引用(this)作为key,把用户传入的值作为value存储到Map中,这就相当于每个线程的读写操作都是基于线程自身的一个私有副本,线程之间的数据是相互隔离互不影响,这样基于ThreadLocal的操作就不存在线程安全问题。(空间换取时间的思路,提高程序的执行效率)原创 2023-08-30 19:14:23 · 239 阅读 · 0 评论 -
面试题 ③
阻塞和非阻塞是当进程在访问数据时,根据IO操作的就绪状态不同而采取的不同处理方式;比如主程序调用一个函数要读取一个文件的内容,阻塞方式下主程序会等到函数读取完再继续往下执行(挂起),非阻塞方式下,读取函数会立刻返回一个状态值给主程序,主程序不等待文件读取完就继续往下执行。原创 2023-08-23 19:13:32 · 56 阅读 · 0 评论 -
面试题 ②
请求查询不存在的数据,由于缓存不命中,每次请求都会直接查询数据库,导致数据库压力过大;原创 2023-08-20 14:17:07 · 99 阅读 · 0 评论 -
面试题 ①
1.尽量避免使用子查询虽然在 mysql5.6 版本之后对 select 的子查询用 join关联方式 做了优化,但是update/delete子查询依然先查外表再查内表,当外表过大时查询速度会很慢;因此尽量避免使用子查询2. 用IN替换OR当数据量大时最好使用IN而不是OR,而当数据集连续时使用between而不是IN3. 禁止不必要的Order By排序Order By 操作在查询中可能会消耗大量的时间和资源,尤其是在涉及到大量数据的情况下。原创 2023-08-19 14:29:20 · 108 阅读 · 0 评论