
面试刷题
文章平均质量分 56
Fuly1024
写博客的原因,只是为了自己需要的时候方便找
展开
-
SpringCloud全家桶---常用微服务组件(1)
作用: 一些本身跟业务无关的公共逻辑,鉴权,日志,限流,跨域。sentinel(推荐) [读音: 申特闹 ]SpringCloudGateway(推荐)Eureka(不推荐)[读音: 优瑞卡]Zookeeper [读音: 如k波]LodaBalancer(推荐)Consul [读音:康寿]ribbon [读音: 瑞本]NacosConfig(推荐)* 作用: 客户端的负载均衡。Skywalking(推荐)OpenFeign(推荐)*作用: 追踪服务健康状况。Feign(不推荐)原创 2024-02-22 22:58:23 · 402 阅读 · 1 评论 -
消息队列常见面试题
RocketMQ: 采用订阅发布模式(所有订阅的消费者都会接收到消息),阿里出品,每秒能处理几十万的消息,能做到毫秒级响应,在意响应时延的采用RocketMQ,如金融系统和交易系统;kafka: 订阅发布模式,兼容性最好,设计上使用大量和批量思想,性能超好,消息处理速度每秒几十万条,但响应速度没那么好;② 订阅模式无法保证消息顺序,如果要保证消费顺序,一个生产者对应一个消费者,每个实例一一对应;① 临时扩容,增加消息容量,(增加机器,或者将消息导入一个新的更大的队列中)① 队列模式可以保证消费顺序,;原创 2024-02-21 14:44:04 · 366 阅读 · 0 评论 -
ES分页问题
然后我们可以通过数据返回的_scroll_id读取下一页内容,每次请求将会读取下10条数据,直到数据读取完毕或者scroll_id保留时间截止;2.3 Sliced Scroll 切片并发, 与Scroll Scan类似只是进行切片,然后并发执行;2.2 Scroll Scan 的遍历与普通 Scroll 一样,初始化存在一点差别,但没有排序功能;参考: https://juejin.cn/post/7092046739414204430。scroll=5m表示设置scroll_id保留5分钟可用。原创 2024-02-13 23:15:56 · 1022 阅读 · 0 评论 -
高并发系统的设计(1)
所以只能横向扩展, 一台不够用两台,两台不够用4台, 如果系统架构设置得当,横向扩展将非常容易,而且可以根据流量进行弹性扩容缩容。分区(网络分区),网络是不稳定的,节点之间可能出现无法通讯的情况,在节点间不能通讯的时候,可以保证系统继续正常服务。从2g4核,换成32g64核,可以提高单机的性能,但是单机是有极限的,受制于硬件。高并发系统要解决的问题, 一个是服务的高并发, 一个是数据(db和缓存)。系统的并发量高,怎么办?高并发: 利用不同的负载均衡策略,将高并发转为单个服务的低并发。原创 2023-06-30 14:58:47 · 249 阅读 · 0 评论 -
SpringCloud的五大组件
将权限校验的逻辑写在网关的过滤器中,后端服务不需要关注权限校验的代码,所以服务的jar包中也不会引入权限校验的逻辑,不会增加jar包大小;如果想修改权限校验的逻辑,只需要修改网关中的权限校验过滤器即可,而不需要升级所有已存在的微服务。Feign则是在Ribbon的基础上进行了一次改进,采用接口的方式,将需要调用的其他服务的方法定义成抽象方法即可。Feign(飞嗯): 负载均衡客户端,内置的Ribbon,是对Ribbon的一种封装解决方案。zuul(入欧): 网关(替换产品gateway)原创 2023-06-29 16:31:22 · 475 阅读 · 0 评论 -
ZooKeeper学习
https://blog.youkuaiyun.com/java_66666/article/details/81015302https://blog.youkuaiyun.com/oldshaui/article/details/84658145https://blog.youkuaiyun.com/Sunshine_2211468152/article/details/87938175https://blog.csdn.n...原创 2019-07-22 15:17:29 · 239 阅读 · 0 评论 -
JAVA线程和线程池
参考: https://blog.youkuaiyun.com/Evankaka/article/details/44153709线程创建:1\继承Thread类 (尽管Thread也是继承Runnable)2\实现Runable接口3\Callable4\线程池(线程池属于Runable接口)前两个重写run方法,使用start调用继承Thread 直接调用start方法就行实现Runable接口 要这么调用 new Thread(new RunnableImpl()).start();继承Th原创 2020-08-29 17:09:01 · 129 阅读 · 0 评论 -
JVM运行时内存结构和java内存模型(JMM)
JVM内存结构和java内存模型(JMM)JVM内存结构和java内存模型(JMM)网络上很多文章,有很多的误导性,但这俩是不一样的东西.JVM内存结构指的是JVM的运行时的内存分区,如堆,栈,方法区等JMM(Java内存模型)是java虚拟机的一种规范,它规定了java虚拟机与计算机内存是如何协同工作的,定义程序中各个共享变量的访问规则,在多线程的场景下实现数据一致性.先讲JVM内存结构:方法区(常量池位于方法区),堆,虚拟机栈,本地方法栈,程序计数器其中方法区和堆 是所有线程共享虚拟机栈,原创 2020-08-29 17:26:22 · 343 阅读 · 0 评论 -
阿里《Java开发手册》学习
一, 编程规约:命名风格:(1)不能以下划线和美元符号$开始,也不能以此结束(2)严禁使用拼音和英文混合, 更不允许使用中文,纯拼音命名要避免使用(3)类名使用UpperCamelCase风格,首字母大写其余小写,但DO/BO/DTO/VO/PO例外(4)方法名,参数名,成员变量,局部变量都统一使用lowerCamelCase风格,首字母小写(5)常量名全部大写,单词用下划线隔开,...原创 2019-08-15 10:54:33 · 581 阅读 · 0 评论 -
java设计模式-----单例模式
单例模式:java中用到的 Java.lang.Runtime整个应用中只维护一个特定类实例,它被所有组件共同使用。1:构造方法私有化2:提供了一个静态方法,供外界获取它的静态实例静态方法分饿汉式,懒汉式饿汉式:类加载时就初始化,浪费内存,线程安全public class Singleton { private static Singleton instance = new Singleton(); private Singleton (){} public原创 2020-05-29 22:18:23 · 176 阅读 · 0 评论 -
TCP/IP协议
参考:https://jingyan.baidu.com/article/00a07f387b7e0682d028dce2.htmlhttps://baike.baidu.com/item/%E5%BC%80%E6%94%BE%E5%BC%8F%E7%B3%BB%E7%BB%9F%E4%BA%92%E8%81%94/562749?fromtitle=OSI&fromid=5520https://baike.baidu.com/item/TCP%2FIP%E5%8D%8F%E8%AE%AE/21原创 2020-05-29 22:08:37 · 685 阅读 · 0 评论 -
java设计模式--概念
设计模式的概念:http://c.biancheng.net/design_pattern/ 全面单比较简洁它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。学习设计模式的意义:使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期。使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。设计模式原则:总原则:开闭原则 (对扩展开放,对修改关闭原创 2020-05-29 22:15:15 · 238 阅读 · 0 评论 -
SpringMVC 的Interceptor(拦截器)
参考: https://blog.youkuaiyun.com/zhangpower1993/article/details/89016503http://c.biancheng.net/view/4431.html定义一个拦截器可以通过两种方式:一种是通过实现 HandlerInterceptor 接口或继承 HandlerInterceptor 接口的实现类来定义;另一种是通过实现 WebRequestInterceptor 接口或继承 WebRequestInterceptor 接口的实现类来定义。impo原创 2021-04-09 15:03:41 · 240 阅读 · 0 评论 -
复习-2-java基础---String类相关
String类:实现原理:参考: https://blog.youkuaiyun.com/xiezhi_1130/article/details/84953379重点: 1 String是被final修饰的,不可继承2 String的底层是一个char数组 private final char value[];被final修饰,不可修改曾经有过一次面试让我手写String类型的equal方法 1 先判断对象是不是String类型 2 判断长度是否相等原创 2022-01-12 16:35:32 · 184 阅读 · 0 评论 -
复习-1-java基础---基本概念相关
https://www.cnblogs.com/schiller-hu/p/10662429.html基础: 8个比特(bit) 等于 1字节(byte)1个比特(bit) 就是电路中的0/1java共提供了8种基本类型:数字型:byte: 1个字节, 范围 [-128(-27),127(27-1)] 默认值 0short: 2个字节 范围[-2^15, 2^15-1] 默认值0int: 4个字节 范围[-231,231-1] 默认值0long: 8个字节 范围[-263,263-1]原创 2022-01-11 19:28:15 · 223 阅读 · 0 评论 -
CAP理论-面试题
CAP理论其实实对分布式数据存储系统的一个定论,一个分布式系统没办法同时满足一致性©,可用性(A),分区容忍性§,由于网络不可靠,大多数分布式系统都会实现分区容忍性,之后再一致性©和可用性(A)之间选择。如果允许分区容错性§, 同时又保证俩节点都能用(可用性A),就没法保证一致性(A),如果要一致性©,就将一侧的节点设置为不可用,就无法保证可用性(A), 这三者就是一个不可能三角。AP系统: 分区故障后,系统仍可以访问,但有些是新数据,有些是旧数据(Eureka)(系统必须可用,数据错了没问题)原创 2023-03-30 14:07:04 · 366 阅读 · 1 评论 -
java面试题/认证答辩 ---JUC并发包
JUC专题原创 2022-04-07 11:16:29 · 998 阅读 · 0 评论 -
java面试题/认证答辩 --- 锁
锁相关专题原创 2022-04-06 16:53:57 · 401 阅读 · 0 评论 -
java面试题/认证答辩 ---多线程
原创 2022-04-02 18:11:48 · 792 阅读 · 0 评论 -
java面试题/认证答辩 ---java内存模型(JMM)和运行内存结构(JVM)
jmmjvm调优原创 2022-04-01 18:22:22 · 679 阅读 · 0 评论 -
java面试题/认证答辩 --- tomcat面试题
原创 2022-03-31 18:04:22 · 550 阅读 · 0 评论 -
java面试题/认证答辩 ---主流框架(springboot面试题)
springboot 常见的面试题参考:> https://blog.youkuaiyun.com/qq_41922608/article/details/108581251> https://blog.youkuaiyun.com/weixin_43469379/article/details/105604966springBoot的核心注解是什么?SpringBoot的核心注解是指启动类上面的注解 @SpringBootApplication@SpringBootApplication是一个复合原创 2022-03-30 16:19:48 · 2530 阅读 · 0 评论 -
java面试题/认证答辩 ---主流框架(springboot)
springboot源码解读: springboot2.4.4# https://blog.youkuaiyun.com/qq_32828253/article/details/109496848# https://zhuanlan.zhihu.com/p/95217578以下所有知识均来自于网络从main方法开始 public static void main(String[] args) { // SpringApplication.run(AjProjectApp.class, a原创 2022-03-29 14:32:04 · 779 阅读 · 0 评论 -
java面试题/认证答辩 ---主流框架(mybatis)
掌握程度:熟悉:熟悉相关框架的基本开发技巧,能使用框架进行基本开发掌握:理解AOP,IOC等概念,熟悉相关框架的基本实现原理,能独立使用相关框架搭建中型产品和项目。精通:熟悉相关框架源代码,能够使用拦截器,AOP等技术进行系统安全和数据监控等复杂功能的开发综合应用:掌握相关框架实现原理,能够对框架进行扩展开发,有大型产品或项目框架选型和搭建经验,具有问题排查解决能力mybatis参考:https://blog.youkuaiyun.com/ITITII/article/details/79969447.原创 2022-03-25 14:24:18 · 1685 阅读 · 0 评论 -
java面试题/认证答辩 ---中间件
对中间件的掌握程度:熟悉:了解ActiveMQ/RabbitMQ/kafka等至少一种消息中间件,redis等nosql,Nginx掌握:掌握ActiveMQ/RabbitMQ/kafka等至少一种消息中间件,redis等nosql,Nginx精通:深入理解消息队列、nosql、nginx的原理和模式综合应用:具备常用中间件的性能调优、复杂问题排查能力,能在项目中熟练使用并指导开发人员redis 参考: https://blog.youkuaiyun.com/xy3233/article/details/11原创 2022-03-24 19:23:08 · 7116 阅读 · 0 评论 -
java面试题/认证答辩 ---网络知识
对网络知识的掌握层度熟悉:了解http和TCP,能调试http的前后端接口,解决跨越问题掌握:具备网络和协议知识和常用的网络代码攻击方式精通:精通加密解密,HTTPS等配置和应用,能识别并防止大多数常见的代码安全问题综合应用:在系统和开发中避免大多数的安全问题,能有效修改扫描出的问题参考: https://blog.youkuaiyun.com/xy3233/article/details/106433665https://blog.youkuaiyun.com/Star_CSU/article/details/9.原创 2022-03-24 14:39:55 · 235 阅读 · 0 评论 -
java面试题/认证答辩 ---linux系统操作
...原创 2022-03-23 19:38:08 · 2231 阅读 · 0 评论 -
java面试题/认证答辩 ---数据库相关
对数据库掌握层次的定义熟悉:掌握基本sql语法,能对接数据库进行简单功能开发掌握:能独立设计应用的数据库表,掌握基本sql优化技巧精通:掌握事务隔离级别,锁,分库分表设计等概念和技术,能进行大数据量应用的数据库设计综合应用:综合使用数据库技术,独立完成大数据量下大型产品或项目的数据库设计和调优参考: https://segmentfault.com/a/1190000022635983https://blog.youkuaiyun.com/zanpengfei/article/details/12350.原创 2022-03-23 18:52:59 · 1759 阅读 · 0 评论 -
java面试题/认证答辩 --- git相关
git的几个层次:熟悉:能使用常用的Git命令和客户端工具管理代码掌握:熟练使用Git命令,理解Git flow精通:擅长Git合并,回退,Tag等相关的Git flow操作命令综合应用:能配合CI/CD工具开发自动脚本参考: https://www.cnblogs.com/jztan/p/6068780.html1 介绍一下gitflowGit是一种分布式版本控制系统工作原理:Workspace: 工作区,执行git add *命令就把改动提交到了暂存区,执行git pull命令将原创 2022-03-22 16:19:15 · 800 阅读 · 0 评论 -
消息中间件专项
参考:MetaQ消息的可靠性、顺序和重复:https://github.com/killme2008/Metamorphosis/wiki/%E6%B6%88%E6%81%AF%E7%9A%84%E5%8F%AF%E9%9D%A0%E6%80%A7%E3%80%81%E9%A1%BA%E5%BA%8F%E5%92%8C%E9%87%8D%E5%A4%8DMetaQ中间件原理 https://www.jianshu.com/p/b09bd8e8ee50消息队列面试题: https://zhuanlan.原创 2020-12-06 22:23:40 · 155 阅读 · 0 评论 -
java面试刷题------javaweb
参考: https://blog.youkuaiyun.com/jackfrued/article/details/44931137转发(forward)和重定向(redirect)的区别?forward是容器中控制权的转向,是服务器请求资源,服务器直接访问目标地址的URL,把那个URL 的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是...原创 2019-07-28 17:42:35 · 321 阅读 · 0 评论 -
java面试刷题------JVM面试专题
https://youzhixueyuan.com/jvm-performance-optimization.htmlhttps://youzhixueyuan.com/jvm-garbage-collection-algorithm.htmlhttps://youzhixueyuan.com/jvm-garbage-collector.htmlhttps://blog.youkuaiyun.com/w...转载 2019-08-01 17:13:23 · 239 阅读 · 0 评论 -
java面试刷题------数据库
mysql面试原创 2019-07-27 14:56:53 · 240 阅读 · 0 评论 -
java面试刷题------中间件
zookeeper+dubbo+redis+rabbitMq原创 2019-07-26 17:09:20 · 1662 阅读 · 0 评论 -
java面试刷题------Java基础(二)
解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。 答:通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、”hello”和常量都是放在静态区中。栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理论上...原创 2019-07-26 11:26:55 · 260 阅读 · 0 评论 -
java面试刷题------笔试题一
参考:https://www.cnblogs.com/zhynew/p/6991725.html太简单的 都不写了下列哪一种叙述是正确的(D )A. abstract修饰符可修饰字段、方法和类 //abstract不能修饰字段B. 抽象方法的body部分必须用一对大括号{ }包住 //抽象方法为空C. 声明抽象方法,大括号可有可无 //只能是没有D. 声明抽象方法不可写出大括...转载 2019-07-30 18:58:42 · 1221 阅读 · 0 评论 -
java面试刷题------Java基础(一)
参考:https://blog.youkuaiyun.com/jackfrued/article/details/17339393java基本类型基本数据类型只有8个:byte、short、int、long、float、double、char、booleanfloat f=3.14;是否正确?不正确,3.14为double类型 可以写为 float f =(float)3.4; 或者写成fl...原创 2019-07-25 12:25:12 · 612 阅读 · 0 评论 -
java面试刷题------微服务
SringBoot&SpringCloud原创 2019-07-29 18:30:55 · 204 阅读 · 0 评论 -
java面试刷题------SSM
Spring SpringMVC Mybatis原创 2019-07-24 12:04:47 · 377 阅读 · 0 评论